How I Design Original Arcade-Style Games
By DUCK_BERET
September 18, 2026
Categories: Articles | Game Design
Ever since I released the demo of my game Hyper Bun Buster: Rocket Hammer Action, several arcade game players have commented on how its mechanics and gameplay feel arcade-like, despite the game not falling neatly into any existing arcade subgenre. So if you like the way I design original arcade-style games and want to do the same thing yourself, here's my best advice on how I do it.
I'm going to be using Hyper Bun Buster as an example a lot during this post. If you're not familiar with it, you can play the demo in your browser right now! Or you can at least skim through a playthrough video to get the gist of how it works:
I am using "arcade-style" here as a shorthand for the design sensibilities of the single player (and co-op) Japanese action games that were common in arcades from the 1980s to the 2000s. Think Ghouls 'n Ghosts, Pac-Man Arrangement, Ketsui, Final Fight, The King of Dragons, Guwange and so on. Run-based action games with simple controls and player mechanics, 10-50 minute runs, no metaprogression, forced pacing (via some kind of autoscrolling or time limit), an emphasis on spacing and positioning, lots of chaotic/dynamic moving parts, and a solid robust level of difficulty that cannot be bypassed using cheese strats or overpowered builds/items.
I genuinely love these arcade-style games as they are and I strongly believe that they would not be improved by having their mechanics or difficulty level "modernized" in any way. If you feel differently, the game design advice in this post will be counterproductive for you.
With that out of the way, let's get started!
Step 0: Actually 1CC Some Arcade Games
By far the most important piece of advice I can give is that you need to 1CC some arcade games. If you try to make a game that follows the rest of my advice but you don't clear some arcade games first, your game will almost certainly be full of issues that you will not know how to to detect or fix.
While making this style of game, you need to playtest every single thing that you do, every step of the way. You constantly need to make small design decisions and compromises if you want the player to feel strong and powerful despite the the game maintaining the right type of difficulty and gradual loss conditions for an arcade action game, all while avoiding anything that just doesn't feel arcade-like for reasons you can feel deep down but can't describe. I really don't think there's any substitute for building up this intuition yourself, by understanding how it feels to engage with arcade games first-hand and push through the challenges that they present to players.
A more concrete benefit of going through the gauntlet of practicing full runs (and eventually getting the 1CC) is that you will have a much deeper of arcade pacing and difficulty curves. An easy stage 1 might as well be a three minute loading screen at the start of each run once you're doing 1CC attempts, and a section that might not seem so difficult in practice mode might be much harder in full runs when you have to try and recover from your mistakes instead of just reloading your save state. It helps with resource balance too; you can try and plan out exactly how many lives, bombs and recovery items your game should allow on paper, but it's much easier if you can just play a full runs of your game and know that you should have been given a death or game over in a certain spot because you made too many mistakes by arcade game standards.
The more unique your game is, the more important it is that you go clear some arcade games. You could try to just copy another game's homework if you're making something derivative, but when you're trying to figure out the best way to fit a brand new original mechanic work into an arcade-like game, your intuition is all you have.
Because so much of arcade-style game design boils down to deciding exactly what flavour of difficulty you want your game to have, you should always test your game at the highest level of difficulty that you can handle. You really need to be able to feel that difficulty, so you can tell if it's good difficulty or bad difficulty. If this results in your game being too difficult even by arcade standards, you can always tune it down later and keep your original playtesting difficulty mode as an extra hard mode. I personally always playtest Hyper Bun Buster on Hyper difficulty while I am working on it, unless I'm specifically tweaking the balance of the easier difficulty modes.
Another way to think about this is to compare it to fighting games. Hopefully you agree that fighting games are a genre that takes a lot of skill to play and design, and that it would generally be considered a bad idea to try and design the next great high-quality competitive arcade-style fighting game without learning how to play any fighting games at a somewhat competent level, even if you watched some tournament matches and read some game design articles. I am simply asking you to apply this same amount of respect to single player arcade-style games.

This might sound like a lot, but the good news is that arcade games are a blast! They're fun, they're exciting, you they usually take much less time to clear than the average modern RPG. If any of this seems daunting, I wrote a guide on how to 1CC arcade games to demystify the learning process and help you get over the initial hump. You can do it!
And just to be clear, I'm only telling you to clear some games, not to clear any ultra-difficult extra modes or get any impressive high scores. Just like how I don't think you don't necessarily need to win major fighting game tournaments to design a fighting game, despite being an EVO winner myself. More experience always helps, of course; a strong beat 'em up player is going to have an easier time designing a solid beat 'em up, and a shmup superplayer is going to have an easier time designing a shmup with solid scoring and survival gameplay that doesn't fall apart at high levels of difficulty. But the baseline level of experience is to just play the games a somewhat solid level (i.e. get 1CCs of average arcade games adjacent to what you want to make) and to have a first-hand understanding what goes into learning to play games at that level, so you can compare and contrast the games you make to the arcade games you've played.
Personally I don't have any especially difficult clears other than Gun.Smoke, but you can see most of the other games I've cleared here on YouTube. The beat 'em ups and maze games really helped me understand the sorts of crowd control and top-down spacing challenges I wanted to put in my games, and every single game on that list helped inform the design of my game's levels, enemies and bosses.
Step 1: Decide What Kind of Game You're Making
First off, pick a basic framework for your game and throw together a very basic prototype with a test environment. For example, maybe you want to make a horizontal shmup, an action platformer, a maze game or something else entirely. For Hyper Bun Buster, I really liked the real-time grid-based movement and projectile dodging in my game Chessplosion, and I thought it would be fun to make a game like that where you attack enemies by bumping into them instead of by dropping bombs. So I threw together a quick prototype using placeholder sprites, where I could hop around in a room and bump into enemies to damage them:
Now that you have a testbed for your game mechanic ideas, you'll be able to test them out and tweak them as needed.
Step 2: Design the Core Mechanics
Come up with some ideas for the rest of your game! Pick an idea, try it out, test it in your prototype at a difficulty level that pushes you to your absolute limit, see how it feels, tweak it, repeat.
Everything else that follows is just my advice on how to come up with arcade-like ideas, and some restrictions I think you should follow to make them feel even more arcade-like. I hope it's helpful!
Use simple controls and player mechanics
Try to use the simplest controls possible for your game, such as 8-way or 4-way digital directional controls and as few buttons as possible. Ideally 2 buttons or less, if you can do that. Adding another button to your control scheme should be an absolute last resort.
Similarly, the player's set of mechanics and moves should be pretty simple. Unless your entire game is specifically about mastering the controls (e.g. a physics game like Super Monkey Ball), it shouldn't take long at all to have a solid grasp of the game's controls and mechanics. Some games might ask you to do slightly trickier inputs under pressure for more efficient play, like quickly doing backjumps in Final Fight or basically anything in Elevator Action, and there are some games like bullet hell shmups that reward tricky micrododges. But for the most part, the vast majority of your game's challenge should not be coming from learning the controls or learning the basics of how to use your toolkit.
The reason for all of this is that arcade action games tend to emphasize spacing and timing above all else, which I'll talk about more later. The joy of these games comes from deciding when and where to move, and when and where to use your simple set of mechanics, and making these decisions quickly under pressure. If you place more emphasis on judging the player on whether or not they correctly decide which of their many mechanics they should use in a given situation, there will naturally be comparatively less emphasis placed on how well they position themselves while using those tools. Taken to the extreme you end up with a game that's at worst filled with a bunch of useless mechanics that only serve to make the game harder to balance, and at best places so much emphasis on selecting the right ability for the right situation that it plays more like a competitive card game than an arcade action game.
Speaking of spacing and movement, you should also stick to direct movement controls and avoid inertia/acceleration/deceleration on the player character, unless you are specifically making a physics/racing game. I'll talk about this in more detail in the section on challenge and game feel but this is so important that I thought I'd list it twice.
How much crowd control do you want?
When trying to come up with mechanic ideas, I find a very useful lens to think about is how much crowd control you want the player to have. Do you want enemies to get stunned when you hit them, do you want the player to have AoE attacks that let them hit multiple enemies at once, do you want them to be able to manipulate enemies' positioning, and do you want them to be able to use enemies as resources (e.g. by throwing them at other enemies or by doing invincible finisher moves on them)?
For example, Final Fight lets you stun enemies by hitting them, and lets you grab enemies and do invincible throws on them, knocking them into other nearby enemies, so it's all about trying to group enemies up and destroy them at once. Triggerheart Exelica lets you swing enemies around and throw them at other enemies to destroy bullets, but there's no hitstun. The King of Dragons still knocks back enemies that you hit, but otherwise has no crowd control tools (without spending important resources) so it's about dancing through a crowd of enemies and dismantling them one at a time. Plenty of newer shmups have spread shots that let you damage multiple popcorn enemies at once, whereas older shmups tend to have low shot limits and basic aimed attacks that can only hit one enemy at a time.
Personally I love games where I am forced to constantly reposition myself and place myself in danger to maximise my overall chance at success. So in games where I have a melee attack, I love having strong crowd control tools that make me consider not just how I can line myself up to land a hit on an enemy, but how I can do so in a way that lets me safely damage or stun any other nearby enemies who are trying to attack me, and whether I should prioritise short-term safety or long-term damage to the larger group of enemies. For games where I can attack enemies from a distance, I love having small thin shot hitboxes and limited attack angles that force me to line up with enemies in specific ways to be able to hit them, and I don't really mind whether or not I have access to hitstun or other crowd control tools.
For Hyper Bun Buster, I knew I wanted hitstun on every attack and I wanted to let people hit enemies into other enemies. That way people would have to think hard about which direction they wanted to hit enemies in, and they would be tempted to take big risks to hit an enemy if there was the chance of sending them flying into other enemies. I used that to guide the mechanics I came up with.

That said, I still adore Pac-Man, The King of Dragons, Dodonpachi, Final Fight and everything inbetween. There's no correct answer to how much crowd control your game should have, it's just a stylistic choice about what flavour of arcade game you're making, albeit an important one that lots of other design decisions flow out from.
The compromise between challenge and game feel
Arcade action games need to fulfil two requirements at once: challenge and game feel.
The game needs real challenge that can't be circumvented, even by a player who has perfect mastery of the controls. You can't just insist that anyone who trivializes your game using safe strategies is being lame; you need to make the game kill players who try to play lame. You also can't just include optional abilities, items or builds that make the game way too easy, using the excuse that good players can just restrict themselves by not using them. This would not fly in an actual arcade where the arcade operator's income relies on your game providing a challenge, so doing it in your game will make it feel less arcade-like. The game's scoring needs to be somewhat balanced too; you should be able to add an online leaderboard that should stand up to serious score play, without having to politely ask everyone not to use scoring exploits.
The game also needs to feel good to play! Players need to be able to do the kind of cool flashy things that make them want to play an action game in the first place. This could be a moment where you feel big and powerful like crushing a group of enemies in Final Fight, ripping through enemies with your laser in Dodonpachi or using a power pellet to eat all four ghosts in Pac-Man, or it could just be the opportunity for a player to express their skill by wriggling their way out of a near-death situation in a game like Ghosts 'n Goblins, Elevator Action or Dig Dug:
I can't stop thinking about the guy hitting a clip in dig dug
— nicole✨ (@renaryuugu.bsky.social) 12:32 · Aug 28, 2025
[image or embed]
This can be a tough balance to hit. It's easy to think of modern action RPGs or console action games that regularly leave in broken strats or let players the option to use overpowered abilities, but there are some arcade games that accidentally let the player circumvent a little too much of the intended challenge in certain situations. For example, Violent Storm and Cadillacs & Dinosaurs are both great games that both contain genuinely challenging sections, but they both unfortunately also contain a handful of combat encounters that can be completely trivialized if the player just uses their strong dash attack over and over again:
On the other hand, some games such as euroshmups don't tend to have enough of that action game feel for me, thanks to adding inertia to the player's movement which renders them unable to dodge incoming enemy shots in a satisfying way. Some early arcade games like Commando and Pirate Ship Higemaru, despite both being great games, have controls that are a little too unintuitive and restrictive for my taste, and I think I would prefer them if they made it a little easier to move around and attack. The same think applies to certain fighting games that have very strange quirks to their input buffers, such as delaying all normal attacks for a few frames or disallowing special move inputs where you press the button on the same frame that you finish the directional motion. This is all a matter of taste though, so you should play enough arcade games to get a feel for what you do and don't like.
Because action games need to balance these two opposing forces, I like to split my thinking into two modes when design arcade-style game mechanics; the creative mode where I come up with cool powerful things for players to do, and the balancing mode where I try to think of the best limitations to place on the player so that the game can still provide an arcade-style challenge. It's like having a team consisting of creative director who comes up with wildly broken ideas and a gameplay programmer who has to figure out how to make them playable and balanced, except both of those people are you.
The two loss conditions in every action game
There are two loss conditions that exist in every single action game:
- Mess up your input
- Get hit by something you didn't see coming
Regardless of how your game works, it will be possible for players to lose one of these ways. Maybe they will completely flub their jump input under pressure or walk right into an enemy, or maybe they will get so laser-focused on fighting the enemy to their left that they don't notice the enemy on the right walking up to them and hitting them.
There are even some simple non-arcade action games where these are pretty much the only ways you can lose, such as Super Hexagon. But you've cleared some arcade games, so you know that arcade games usually work differently.
Designing better loss conditions
Arcade games usually take over 10 hours to clear, and ideally they should stay challenging well past 100 hours on higher difficulty modes and/or when using risky scoring strategies. But lots of arcade games' controls and player mechanics are so simple that they can be mastered within an hour or two. Therefore, your game has to stay difficult well past the point when the player has perfected your controls.
This leaves you with two choices. Either make a game where every run attempt feels like it's going perfectly until you randomly get hit by something you didn't notice (or until the game speeds up so much or gets so complex that you lose track of what's going on), or design some more interesting loss conditions (a.k.a. checkmate scenarios) into your game. The former feels distinctly non-arcade-like to me, so let's give the player some interesting ways to lose.
I personally think that the best checkmate scenarios are gradual, so small mistakes can be punished by pushing the player closer towards a checkmate instead of by instantly making them lose, and so exceptional play (e.g. hitting a sick Dig Dug clip) can be rewarded by letting the player push back away from a checkmate. In other words, the player's actions should have long-lasting consequences.
Because we're making action games, I find that the best checkmates are based around spacing and time. So try to come up with some loss conditions that work well for your game! Here are some examples:
- In shmups, you need to move to the side to avoid shots aimed at your ship, but if you get pushed towards the edge of the screen you'll have nowhere left to move and you'll get hit. The closer you get to the edge of the screen, the closer you are to being trapped.
- In beat 'em ups, you can only attack enemies on one side at a time, but enemies can try to spread out and surround you. If you get surrounded and attacked from multiple sides at once, you are unable to defend yourself. Pac-man is an even more literal version of this, where enemies will try to spread out and block all of your escape paths to checkmate you, and the closer they physically are to doing this, the closer you are to being checkmated.
- In Elevator Action and Rolling Thunder, you can jump over bullets but you're locked into your jump arc until you land. So if enough enemies get close to you at once, they'll fire enough incoming bullets in a row that even if you jump over the first bullet, you'll be forced to land on the other bullets.
- For Hyper Bun Buster, you can get checkmated by being cornered by a wall of projectiles (or other disjointed enemy attacks) unless there's a nearby enemy for you to hit into them, and melee enemies can checkmate you by attacking you from multiple sides at once if you have nowhere to run to.
If the player sits back and does nothing, the game should naturally push the player into one of these checkmate scenarios. Enemies should chase you, spread out and surround you, shoot attacks right at you to force you to dodge towards a corner, or whatever makes sense for the loss condition you chose. In addition, lots of arcade games (such as shmups and the elevator sections in beat 'em ups) make enemies spawn at fixed time intervals, so playing passive will result in you getting overrun by so many enemies that it's literally impossible to survive.

Finally, you need to make sure the player's toolkit has enough built-in weaknesses for these checkmate scenarios to actually commonly happen. For example, don't make your movement fast enough that you can run away from enemies whenever you're in a bad position, don't give players a parry or dodge that lets them safely reset any bad situation once they've mastered the controls, and don't make it so only one or two specific enemy types are capable fo checkmating the player. If you want to checkmate the player by attacking them from multiple angles at once, you need to give them a long enough recovery animation on their attacks and/or enough of a delay in switching directions that a competent player won't be able to attack everyone on all sides at once.
A big plus side of adding these kinds of loss conditions to your game is that they make positioning very important, which will it much easier to design stages and enemy encounters. Fighting the same group of enemies in this type of game will feel very different depending on the size and shape of the space you're in, and the timing and positioning of the enemy spawns.
While I'm talking about it, making positioning matter is another great lens for designing arcade-style mechanics in general; KOing an enemy in Hyper Bun Buster used to send them flying in a straight line until they left the screen, but changing it so they explode when they hit a wall meant I could easily create all sorts of interesting combat encounters just by dropping a few walls in a room. The more you make your positioning matter, the more enemies will naturally be able to snowball small advantages into an eventual checkmate if the player doesn't manage to push back hard enough.
Limit the player, arcade style
Some powerful abilities would be too strong if the player could do them on demand, whenever they wanted. If an ability in your game needs to be limited, do NOT use meters, cooldowns, ammo or other external resources to balance them unless you have absolutely no other option. You need to almost be pathologically disgusted by the idea of dropping those kinds of resources into your action game, the same way that a comedy writer probably wouldn't want to pepper some fart jokes into their scripts just to get some cheap laughs. That way you won't be tempted to use them unless there really is no other choice whatsoever.
Instead, try to balance powerful abilities using the action game fundamentals of spacing and timing. Here are a few ways a powerful ability can have limits placed on it that don't rely on external resources:
- It has startup and/or recovery frames, locking you in position before and/or after you do it. The duration could depend on the player's spacing, such as giving the ability a slower recovery when doing it from far away (either via limiting how many player shots can be on screen at once or just giving it a slower recovery animation), or maybe the ability could have a slower recovery animation if it doesn't hit an enemy.
- It can't cover every angle. For example, maybe you can only attack in the four cardinal directions, or only left and right.
- You can't do it while moving
- You can't do it while jumping
- You can't change direction while doing it, such as a fixed-arc jump
- In only happens when you touch a single-use item in the environment, such as Pac-Man power pellets, The King of Dragons magic items, Pirate Ship Higemaru barrels or Pac-Man Arrangement dash pads.
- You can only do it when you get really close to an enemy, possibly only after stunning them. For example, Snow Bros makes you cover enemies in snow before you can push them into other enemies, and Final Fight makes you walk up close to an enemy or do a full jab chain on them before you can throw them into other enemies (and jab chains only let you throw the enemy behind you).
When making an action game, it's important that the player's toolkit feels good to use! So you want to carefully give the player some limitations that will keep the player's power in check without ruining the things that make their abilities feel good in the first place.
For Hyper Bun Buster, I really wanted every single attack to apply full hitstun to whoever you hit. I also wanted launched enemies to have a three tile wide hitbox so you could easily use them to snipe faraway enemies, and ideally I wanted your attacks to have zero startup because it felt good to instantly smack an enemy the moment you tapped a direction. So instead, I placed the following limitations on them:
- You can only hit enemies in the four cardinal directions, not diagonally. This one came free with the game's control scheme, but it gave the player some clear weaknesses for enemies to exploit that wouldn't exist if you could launch enemies at any angle you wanted.
- You have to hit an enemy once to weaken them before you can send them flying. Hitting an enemy to weaken them pushes them away from you, likely sending them towards all of the other enemies chasing you. So KOing an enemy from max health takes time, and it often forces you to walk towards the other enemies.
- Your attacks have roughly 12 frames (200ms) of recovery. It's not a huge amount, but it's enough time for enemies to be able to hit you when you're surrounded. You can't just tap all four directions really quickly to attack enemies on all sides and escape from being surrounded.
- The hitbox from a launched enemy doesn't expand to three tiles wide until it's already travelled a tile. This change is slightly unintuitive and I even had to explain it on the How To Play screen (see below), but I spent a lot of time trying to balance the game without doing this and I really didn't like how many limitations it was placing on designing challenging melee encounters. Because the player can only attack in cardinal directions it was very useful to be able to design melee enemies who can approach and/or attack the player from diagonal angles, but the instant 3 tile wide hitbox on launched enemies was making it too easy for players to clear out enemies who did this. So I chose to make the attack feel slightly worse to use up close in return for being able to have more interesting melee encounters. Everything is a compromise!

Remember that the limitations you apply to your player's abilities need to be significant enough to actually matter in practice. If your game's enemies don't take advantage of these weaknesses they may as well not exist.
The single exception to this rule is that if you really want to give players a strong defensive ability that lets them reset a bad situation, it's almost certainly safest to tie it to a scarce external resource. For example, shmup bombs are a rare limited resource, beat 'em up superjoys cost health, and Valtric even has a hard limit on how many jumps you're allowed to do.
Lastly, keep playing other similar arcade games to get a feel for how they limit the abilities they give the player. Even if you're designing a completely original mechanic, maybe there's a game in another arcade subgenre with a different mechanic that's conceptually similar in some way. Give that game a try so you can see how it works, and see how you feel about the way it does things.
Playtesting and bug fixing: remove anything that feels wrong
You should polish out any issues with your mechanics as you go. If something ever feels weird to you while playtesting your game, which you are likely to immediately notice because you built up a strong intuition from your arcade 1CCs, stop what you're doing and fix it immediately. Arcade games need to feel great to play and need to make sure their difficulty is concentrated in the right places, so you need to iron out anything that gets in the way of that.
These small game feel issues are so much easier to test and fix if you have the ability to rewind your gameplay and hot-reload your gameplay code. Development builds of Hyper Bun Buster automatically record the player's inputs and game state for the past 15 seconds, so if anything strange happens I can rewind back to the moment it happened, play it back in slow motion to see what the problem was, step through it in a debugger, fix the code, hot-reload the new gameplay code, then replay the same inputs back from that same point and confirm that the problem was fixed. This is so much simpler than having to try and reproduce the same issue over and over again during the bugfixing process. I strongly recommend doing the same thing for your game if you have the ability to do so.
Step 3: You did it! Now make the rest of the game
Congratulations, you have some solid original game mechanics worthy of an arcade game! Now you can go make the rest of the game.
You need to decide how much RNG/chaos you want your game to have, decide if the game is single-screen, manual scrolling or autoscrolling, create some enemies (to complement the basic enemies that you were using in your prototype), build some stages, decide how much health (or other resources) the player should have, create some bosses (if your game needs them) and put it all together into a full game.
Maybe I'll write about this aspect of game creation sometime in the future once I feel more confident at it, but for now I'll leave it up to you. Good luck, and go make something cool!
If you want to read more design thoughts from designers of arcade-style games, Boghog writes a lot about shmup design in his bullet hell shmup design 101 doc and corresponding YouTube video series, along with more general arcade action game design in his other YouTube videos and on his Patreon. Shmuplations also has translations of a lot of older Japanese developer interviews, such as these interviews with Psikyo and Capcom and the developers of ChoRenSha68k and other doujin shmups.


