Creating the scoring system.

Scoring system is one of the most fundamental aspect of any SHMUP games. The main objective is always surviving and progressing to fight the boss like in the most games. But achieving the highest score possible feels like a intriguing challenge.

Making a balanced and fun scoring system is a bit complex sometimes. Most SHMUPs have their own scoring system. DoDonPachi, Touhou, Geometry Wars and Ikaruga have a different scoring system.

There are many unique scoring addition that you can observe. Grazing is one example. Grazing is when you almost get hit by an enemy bullet, much like a near-miss. One of my favorite SHMUP, Touhou has this as one of the major scoring factor. This encourages the players to play aggresively. And this really fits well with it’s bullet pattern style that fills the whole screen with bullets. As a player I felt this is a great scoring system addition.

I’ve considered to add grazing before. But I realize it does not fits well with my gameplay style. First, Solar Ascension is not one-dimensional shooting SHMUP. Grazing needs you to focus complete on your movement. It will be too hard for players to graze while maintaining their firing angle. Second, Solar Ascension is not bullet-curtain styled SHMUP. Bullet curtain is when the enemy bullets fills the whole f*cking screen with a very slow movement. It’s much more easier to graze in this situation. But in Solar Ascension, your screen wouldn’t be covered in bullets. But the enemy bullets has a faster speed overall. I designed them this way because in Solar Ascension the players can actually move freely in the map, not only move freely in the screen. If I were applying the bullet-curtain style, players would just camp in the borders circling around the map.

So what I decided to implement is a quite simple scoring system. I borrowed some of DoDonPachi scoring system. In the game, killing enemies fills the Combo bar based by how strong the enemy you just destroyed is. The larger your combo is, the more score you get when killing another enemy.

So in Solar Ascension, enemies has their fixed ‘value’. This value is used in 2 mechanism, the first one is when spawning groups of enemies. The system calculates the enemy values to prevent 5 strong enemies spawning in a same group. The second use of these ‘values’ is for the scoring system. Every time you killed an enemy, the value of that enemy is added to the variable in the memory. If the variable value has reached a fixed amount, you gain a chain-multiplier. Further enemies that got killed were multiplied by this chain-multiplier. When the player got hit, they lost 33% of their current multiplier, with a minimal of 3-chain-multiplier lost. When the player got destroyed, the multiplier is set to 0. This is designed to make it rewarding for players to evade the bullets and not getting hit.

Another thing I’ve implemented is a simple multiplier on what wave you’re on. So if you’re on wave 16 you’ll get 16X multiplier. This multiplier will be added with the previous multiplier, chain-multiplier. This is designed to make survival at later levels more rewarding.




Leave a Reply

Your email address will not be published. Required fields are marked *

The early age of Solar Ascension

Hey guys!

After months of development, I decided to start writing the development blog for my first game, Solar Ascension. I know that this is way too late, but it’s better than never don’t you think? And at this first blog post, I want to tell you a story on how this game project created.

Solar Ascension is my first big project. Currently I’m in my High School graduation holiday, which is around 3 months. That is quite a lot of time. So rather than spending time climbing to Challenger in League of Legends (Karthus freelo lolololol), I want to spend time learning programming for my future career.

But! Programming itself is boring. Really. Boring. Who cares about this machine that with ‘Algorithm’ that could handle enormous datas? Not me. So I get to mix programming with gaming, which comes into Game Development! With Solar Ascension as my first project. I have this special philosophy of mine, that I need to do my best in my first time in anything that I got passion into. So I don’t want to start with another flappy bird clone to adds up to the Worldwide Bank of Flappy Birds Clones (Seriously there are TOO MANY). I want to make something that I really like, even though that I know it won’t be easy. But of course I don’t think about creating something enormously big like GTA V, Assassin Creed or MMOs (Which many ‘passionate’ newborn gamedevs really excited with!). I want to start with something big with a solo developer scope. So then another top-down shooter was born! Why top-down shooter? First, I like games like it. Second, it’s easy to make.

At first, the game environment is not space. Even the name isn’t Solar Ascension. It was DroidWare. Because it was planned to be a war between tank droid (The player) with walker droids (The enemies). Yeah, top-down tanks shooter. I’ve learned (Read : Copy/Pasted) some basic C# scripting in Unity to make a rectangle moveable with WASD. And OMG! It works! I have to say that the first few weeks are the hardest. I don’t know anything. I was faced with everything. Making a game is not as easy as I think. Every little thing matters. I almost cried back then. I was thinking to sell lemons instead for my future. But hey, **** the lemons! I’ve wasted some precious gaming hours downloading Unity. I ain’t gonna make that potential League Points sacrifice a waste. So I kept going slowly… slowly…

Until I found another wall. Art. Okay, now I got a white rectangle tank with a white cannon on top of it that shoots marshmellows to the cursor.

Would people like to get this game? Oh hell yes! They would like to get this game into the recycle bin. With a letter to the developer (me) “gr8 game m8 i r8 8/8 no h8”. I’m poor. Not really poor, I live in my parents home and have money to eat but relatively poor. I got no money to hire people to do some art. So I had to made it myself. Sorry I’ve removed my game build at this stage so there is no screenshots. But to describe, the art I made is worse than a simple white rectangle. So I go look for free for comercial use art at the Open Game Art. I had no luck finding some good top-down tank sprites. But got some few good sprites for space-themed art. So I decided to shift into a top-down space shooter.

That is it, the game graphics at January 2015. It’s something at least. Until I found the Asset Jesus, Kenney!

Whoever are you, Kenney, I love you! This guy provides great sprite graphics with CC0 license! Look at the game sprites now, beautiful isn’t it? It’s all thanks to you, Kenney! I also changed the project name to Solar Ascension. Because DroidWare is more suitable for softwares I think lol.

So after I have the art wall broken, I can get progressed quickly into the game development. Since then, many things has changed and I’ve learn lot of things. Almost all the game scripts are made by myself. And now, the game is almost finsihed soon(tm). I have a high hope for the game!

That is all for the story of the early ages of Solar Ascension development. Having a good time reading? Thanks then. If not…


Leave a Reply

Your email address will not be published. Required fields are marked *