Game development: Techniques to keep your users playing (plus discussion of scoring system in Play The Field)

One of the big challenges in game development, whether at hobbyist or pro level, is creating replay value so the user can enjoy the game for an extended period of time. Even if the game is free, the longer they play it the more likely they are to tell other people about it, hence increasing popularity and total number of users. If the game is ad supported, keeping the users interest is even more critical (currently PTF has no ads).

In games which are level based, hand-designing levels is tedious and requires a great deal of testing to balance the elements of each level. Random level generation is one idea, but usually users will get tired of that unless some very special algorithms are used.

Multiplayer against one or more human players is another good way to extend enjoyment, and if you can elevate your game to the level of a “e-sport” where pro-gamers will play it for money, then you user count will likely skyrocket. Or course, being a professional e-sport brings with a great responsibility for fairness and balance in gameplay.

Games where the opponent is generated from artificial intelligence are typically either too easy or too hard, though lately some games have improved in this area. Making a graded system of levels can be effective, especially if there is some way to auto adjust to the user’s performance.

In my mobile game Play The Field, I choose to utilize a classic, time-tested system to increase re-playability: scoring. When a board is completed, the user receives a score base on their performance, and that score is saved and displayed on the main level map screen. Users can replay levels, aiming for a higher score by using more creative and effective tactics.

For those who are interested, I’ll outline the algorithm for generating the score in PTF. It’s relatively simple and contains the sum of these three factors:

  • The total money remaining
  • The total cost of all friendly units in play
  • The number of seconds since the level started, subtracted from 300, i.e. (300 – secondsSoFar)

The idea of this formula is to judge how efficiently the board was solved, by factoring in the number of units lost plus the total time spend. The more units lost, which is factored in indirectly via the total money remaining and total cost of units in play, the lower the score. The longer the user takes, the lower the score.

By choosing to use a sum of the first two factors, the fact the user has chosen to purchase a certain unit doesn’t matter – what is important is that he/she uses it effectively. Sqeaking by with a single unit left isn’t nearly impressive as dominating without loosing a single friendly unit.

The reason for the 300 factor is to give the user 5 minutes (60 seconds x 5 minutes = 300) to try and complete the level. After that, the contribution of the time falls to zero (negative values are rounded up to 0), leaving only the amount of money (in terms of unspent money and cost of created units) remaining.

In my playtesting, I found this to be a pretty accurate way to gauge the user’s skill, though I am always open for suggestions to optimize the scoring algorithm.

Download PTF on iTunes (free):


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s