I had read in the book "A theory of fun for game design" that once the player realizes that he cannot overpower the computer in anyway (or) the AI is unbeatable (badly designed/coded) he will leave the game and not try to beat it. But looking at new age games like "Jetpack Joyride" I think this rule is not true for everyone anymore. Not sure if this is a deliberate choice or just bad design.

I want to know if there exists any history about how the old classic ATARI / Arcade machines games were implemented/tested. Best example would be Pac-man/Asteroids etc. I am hoping that those game makers didn't just increment the speed of the enemies blindly with the level number. They must have tested it enough to ensure that the game can actually beaten up to very high levels and might have tweaked the required parameters to ensure it in their code.

Are there articles/tutorials about designing endless arcade games? I have been searching a lot but couldn't find any.

  • 4
    \$\begingroup\$ The original coin-ops tried to get as much money from the players as possible, and thus luring the players to stay around as much as possible was a priority.. current casual games (like jetpack) have different priorities. \$\endgroup\$ Commented Jan 14, 2013 at 10:22
  • 2
    \$\begingroup\$ As for tutorials, I doubt there's any. There's no real secret; just provide generated content that gradually gets more difficult by making time limits shorter, enemies more plentiful and faster, and so on. \$\endgroup\$ Commented Jan 14, 2013 at 10:23
  • \$\begingroup\$ @JariKomppa Thanks for your comments. Appreciate it :) I was hoping if atleast there are open sourced game codes available somewhere on the web. \$\endgroup\$ Commented Jan 14, 2013 at 10:35
  • \$\begingroup\$ The thesis that people abandon a game when they notice that it's unwinable seems to be wrong. Case in point: The best selling game of all times. \$\endgroup\$
    – Philipp
    Commented Jan 16, 2013 at 11:43
  • \$\begingroup\$ In Tetris, there never is a score you can never beat is it? What I mentioned was like a typical blocking point. Another example is Canabalt where the speed increases too much too quickly and there comes a point where no user action could have saved him. \$\endgroup\$ Commented Jan 16, 2013 at 11:47

2 Answers 2


Seeing as javamonk has already linked some good technical articles, I'll try to approach this from more of a theoretical angle.

Arcade game difficulty...

From my own personal experience (not sure there are many or even any articles to back this up but I'll keep looking), arcade games are almost always consistently incremental. Every level the enemies get a set amount stronger, they move a set amount faster, the timer is shortened by a set amount, etc. There are variations to this, like when entirely new enemies or other gameplay elements are introduced at certain points, but in infinite games these will run out eventually.

DDA (Dynamic Difficulty Adjustment) is an interesting difficulty concept that can be found in some arcade games. One good example is Astrosmash. The game gets progressively harder in the form of more and more asteroids, but it can also get a little easier for a short time if the player is struggling.

One example of purely linear difficulty (no DDA) in an arcade game is Robotron: 2084. As the player finishes the levels, enemies progressively become more and more difficult with more and more of them appearing in each level. The game was specifically designed to be extremely difficult and yet people have still managed to "beat" it (after 255 levels the game reverts to the original screen). Not because the developers specifically made it so that it could be beaten, but simply because some people are dedicated enough to do so regardless of the odds (barring the literally impossible).

On that note, if you haven't already, check out The King of Kong. Sort of relevant and offers a bit of an insight into the minds of dedicated arcade gamers who set out to "beat" games (or in this case, high scores).

And now for level design...

This article mostly covers newer games but contains some fascinating insights into level design in general - you might find it helpful and at the very least an interesting read: http://www.gamasutra.com/view/feature/1771/gameplay_design_fundamentals_.php

This is an article about a technique to manage the difficulty of, well, difficulty. It's scalable to infinite levels and uses DDA concepts: http://games.soe.ucsc.edu/sites/default/files/jenningsteats-fdgpcg10.pdf

The information in both of the above articles could be applied to arcade environments - level design tricks to keep people playing, ways to dynamically adjust difficulty so as not to discourage people, etc. You could apply more linear concepts at the same time as well. For example, your game may use DDA in conjunction with a linear difficulty scalar so it consistently increases in difficulty over time while slightly lowering or raising it at certain points based on the player's performance.


A modern example of generating infinite maps is the Mario AI contest. See http://www.marioai.org/LevelGeneration

A good approach to take for generating levels/maps would be a markov chain, http://en.wikipedia.org/wiki/Markov_chain.

You can create a model for the kind of level you are looking for, then generate much larger ones (possibly infinite) using that model.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .