Hello all. I'm going to talk about design and what I considered when making an action game for mobile.
First of all, what would classify as an action game? If I was going to give a simple answer I'd say that it's simply a game that has a high amount of decisions per second and you can increase the intensity of the action by either increasing the frequency of actions per second and/or increasing the complexity of those actions. I personally believe that this is where the mobile market is lacking. That may be because of controls, it may be because of audience. The metrics will most likely go against me, saying that action games are the most popular type of game on mobile but I think that those metrics are slightly biased as many games are classified as action despite not featuring many impulse descisions or many complex ones either. Most of them boil down to being pure execution challenges, asking you to tap a point at a specific time or to swipe within this window and I knew that I didn't want to create another one of those. I wanted to create a game that challenges the players judgement as well as their twitch reflexes, I wanted them to have to think about their position, the incoming projectiles, the position of enemies and the quirks of the level because in my experience as a gamer the moments get more exciting when you're thinking about more. I'll let you be the judge on how well I delivered. Now I'm going to start breaking down the individual components of Neon Tanks.
Controlling the tank should be as easy as possible, there are two joysticks, one for moving and one for shooting and that's all there is to it. This may not be the deepest game but there is some level of depth when it comes to shooting, the players shots will bounce off walls meaning that the player can kill enemies without being in line of sight. The enemies can also damage each other so that if the player can cunningly position themselves most of the work could be done for them. There are also a number of powerups at the players disposal, and all of them are very overpowered when used correctly but they will require the player to take a risk at times. In the later levels the powerups available are sometimes random, I did this because it can encourage the player to try the level again in hope that a more useful power up may spawn. I didn't go for any sort of RPG or perk system as I personally find that managing systems like these when playing in short bursts of 5 or so minutes each play session, can be a bit of a headache, it also puts an emphasis on mastering your tank rather than creating a tank that you like, neither of these options is correct, I just prefer the first one. Here are some things to consider when creating the player.
Depth and Complexity: I believe that the key to good player design is to have the players actions be based around a simple premise but as the game progresses, whether it's through mastering the games mechanics/levels (depth) or through unlocking new abilities and ways to play (complexity) but always give players time to digest new abilities before throwing new ones at them. For complex progression systems I find that having the player unlock everything when they're about 1/2 to 3/4 of the way through is the best in my humble opinion as it gives them the rest of the game to get to know their abilities, find the emergent behaviours and to get creative with them.
Adding Depth Through Dual Purpose Design: This is something that I read about towards the end of Neon Tanks, but I'm going to talk about it anyway. Using DPD is an easy way to add depth as it encourages the player to think creatively about using their ability. Is Genji's swipe dash (I'm going to assume you know that name :P) an attack or a getaway? In Rocket League is the forward dodge for gaining speed or hitting the ball harder? It increases the amount of situations that a particular ability can be used, meaning that the player has to think carefully about when using it, especially when it's restricted.
My goal with the enemies was to create a small amount of enemies that used a variety of different tactics, that required different tactics to counter and that could become more interesting when paired with other enemy types, this is how a large variety of engagements is typically made. I also wanted the enemies to best the players tank in at least one attribute to give the feeling that the player is trying to take on a somewhat superior foe, I didn't want any enemy to just be cannon fodder because then they might as well not be there. If your game uses enemies then try to think about how you could increase the difficulty of the game without increasing the number or the HP of enemies, I find that when there's an absurd number of enemies or each individual enemy takes too long to kill that players just sit in the back and whittle them down from a safe spot, which I'm guessing isn't the most exciting way to play your game.
Ways to encourage fast paced action through enemy design
Now most of these tips will only really be useful in PvE shooters but I'm sure you're bound to make one of those in your development life, and you never know, some tips may be transferable.
Beware of hit scan weapons: As comfortable and efficient as unity's raycast system may be to use be careful when you create an enemy that uses instantaneous bullet travel and always be thinking about how the player counters them, if the only counter is crouching behind a wall until they stop shooting note that your game may end up feeling a lot slower than a game where you have to dodge bullets in real time, this doesn't mean that your game won't be fun but if you design mechanics that revolve around fast movement and dodging but the enemies will hit you instantly regardless of your speed then it may create a conflict in mechanics.
Sometimes dumb is good (it can also make smart smarter): I found that players actually enjoyed being able to predict and manipulate enemies, rather than not being able to anticipate their next move, but that doesn't mean throw away the AI that you've been working on for weeks, because having a smart enemy can vary the engagements a lot and it may be a powerful moment when the player starts to fight a foe that's been designed to out think them, suddenly they can't be so manipulative.
Recognition is key: When a player sees an enemy after previously encountering them they would've built up knowledge about that enemy, and they rely on that knowledge to successfully counter them, but if the knowledge keeps being disrupted by different attacks and tactics then the player may end up getting frustrated. Try to keep enemies consistent and try to avoid having enemies that look similar but do completely different things a change in colour could even be the key, obviously every rule is to be broken and relying on the player gaining knowledge about an enemy could be used to surprise them as long as it's executed skilfully.
Melee weaponry is cool: I'll admit that this isn't that relatable to the design of Neon Tanks but note that not every enemy has to use a ranged weapon.
Level design is where I attempted to put the most variety. Each level puts different skills to the test. More open maps require the player to be good at dodging, some levels feature distinct lanes, encouraging the player to find efficient routes, some levels are cover based with many obstacles to hide behind and there are even levels that require a more methodical approach rather than just going guns blazing. Hopefully this can stop the game from becoming stale too quickly. I also try to make the player think about the level, the reflection mechanic requires the player to acknowledge the position and angle of the walls to be used effectively, there are often traps and pits that the player has to avoid. I'm not going to give any more than one tip to level design as everyone has their own theories and opinions but one consistent guideline that I found is to always give your players somewhere to go in an engagement if you want to encourage movement, having to weigh up escape routes in the middle of intense battles will only make your player feel more bad ass when they find an epic route to take that conveniently positions them behind their enemies or gets them out of some deep trouble.
So you've got your player, you've got your enemies/encounters and you've got your levels, now the action game should feel actiony right. WRONG...well sorta. It's not bad to not think about game feel (Very ambiguous I know, I'll explain in a bit) as good gameplay in general will always trump any amount of polishing but polish is what makes a runner shave off those last few seconds, it's what turns a school grade project into a work of art and you may not always notice it when it's there but you'll definitely notice when it's gone. It's what makes games literally feel exciting even when not much is going on and when stuff starts to go on then it's even more exciting. The most basic way of injecting game feel into your game is to make sure that when something important happens the player knows that it just happened. When they swing their sword make sure that it feels impactful by using sounds, trail and particle FX, gore, screen effects, motion blur, everything that you can find. Obviously you have to be responsible with this stuff, you don't want these things to obstruct the players experience but getting it right can make your game even more bad ass. And yes it does mean you could be spending hours going through basic stuff in your game like jumping over and over again to find the right balance or mixing sounds to find the most shocking but it'll be worth it. And that's all I got, if you have any comments, criticisms or you just wanna talk, feel free to send me an e-mail at email@example.com. Thanks for reading.