Thoughts on game difficulty

I’m currently working on the first free update for Astro Noughts. As such, the majority of my posts are likely to stem from issues/findings relating to that. This brings me to this weeks #iDevBlogADay article… Game Difficulty.

I’ll start by saying that I dislike difficulty settings in games. In fact, I dislike game settings in general (be they display, audio, controls etc). The fact that you’re often asked to choose a difficulty before you’ve even played the game is frustrating. Its frustrating because it differs from game to game. There’s no recognised standard and you have nothing to measure it against. “Normal” in one game does not equal normal in another.

How do I know what difficulty setting to choose? I want the developer to decide that for me. I want to play the game the way the developer intended it to be played. If that means super-difficult then so be it. If it means super-easy, then likewise thats fine with me. Essentially I want as little resistance as possible between deciding to play the game and actually playing it.

I’ll admit that it doesn’t help that I can be a little indecisive. Giving me a choice of difficulty levels, or between first and third person for instance, often results in a 10 minute decision making dilemma.

All that said, I understand why settings (difficulty in particular) are added to games. As developers, we want our games to be played by as many people as possible. It would be a shame for someone to miss out on an experience just because they disliked a single setting, or because they find the game too difficult.

This is the situation I find myself in with Astro Noughts. Owing to my dislike of settings and difficulties, I’ve omitted them from my game. The game difficulty scales simply by adjusting speed thresholds for each of the planets as the waves progress. Because wave progression is tied to the score, this means that you will only find yourself in later waves because you are good at the game.

The issue I’m having is that people are finding the game too difficult (and therefore never progressing). Not because of the speed but because of the mathematical operators and operands. In its current form, you can’t hand Astro Noughts to your kids because the mathematics are too advanced. I want this to be a game that can challenge adults (who I hope would get a buzz out of the some of the difficulty) but I also want those adults to be able to pass this to their kids as an educational tool.

So I accept that I need difficult settings, but how do I implement it in a fun, friendly way whilst making it powerful enough to promote the educational aspects of the game.

The solution I’m currently playing with is to implement a difficulty customisation system. I’ll give players full control over which sets of operands exist in the game (there are currently 9 presets, selected from randomly with each wave). I’ll also give the player control over which operators are used in the game. So, if the player just wants the 1, 2, 3, 4, and 5 operands and to limit the equations to addition only then they can. This would result in possible planet values of 1, 2, 3, 4, 5, 6, 7, 8, 9, and 10.

In order to also satisfy players who want to get straight into the game, I’m also considering presenting them with 3 presets in addition to the customise option. A decision I’ve yet to make is how to present these presets. The issue here lies with the identification of my core demographic. This is an arcade game with mathematical elements. Its these mathematical elements that give this game an educational slant. I don’t want to scare of potential educational users with talk of “hardcore” game modes, equally I don’t want to put off mainstream gamers looking for a challenge by using junior/kid-friendly terms.

Some thoughts I’ve had so far…

  • 1) Easy, Normal, Hard – Strikes me as being too dull for either demographics. They’re familiar terms to gamers but they don’t give you much of a clue.
  • 2) Age ranges. Something like 5-10 years, 11-16 years, 17+ years – I’m not sure about this because it immediately suggest that the lower levels should only be attempted by kids. We all have different mathematical ability regardless of age. Also, it pitches this very much as an educational tool.
  • 3) Themed presets. Not sure what yet but something like “Mathematician in training”, “Maths Genius”, etc – At least these terms are fun and don’t make you feel inferior for selecting an easier option.

Here’s a mockup of how I’m planning on presenting these visually (WIP)…

As I write this I also wonder if I could expand this system further. Perhaps starting the player with a single operator and set of operands and then adding to these as the waves progress. Again, I come back to the educational aspect. There may be players who don’t want the difficulty to scale but I don’t really want to introduce another setting. Perhaps this is where the presets come in. The first 3 dictate the maximum difficulty (with progression) whilst the customise option drops the progression and creates a single flat challenge. I think the only way I can hammer this out is through implementation and testing.

As always, I’d love to here your thoughts in the comments. Thanks for reading.


  1. New Blog Post: Thoughts on game difficulty –… #iDevBlogADay

  2. rizergames says:

    RT @chrismwaite: New Blog Post: Thoughts on game difficulty –… #iDevBlogADay

  3. RT @chrismwaite: New Blog Post: Thoughts on game difficulty –… #iDevBlogADay

  4. “I want this to be a game that can challenge adults (who I hope would get a buzz out of the some of the difficulty) but I also want those adults to be able to pass this to their kids as an educational tool.”

    There’s your answer, Adult Mode and Kid Mode, Kid Mode would be more of a trainer (longer times, hints, etc) since you want to keep the educational piece.

    Otherwise head back to your design document and revisit your intended audience for direction.
    Good luck

  5. dwsjoquist says:

    RT @chrismwaite: New Blog Post: Thoughts on game difficulty –… #iDevBlogADay

  6. Lazrhog says:

    RT @chrismwaite: New Blog Post: Thoughts on game difficulty –… #iDevBlogADay

  7. Whisky_Biscuit says:

    @chrismwaite Themed sounds like the best out of the options. Maybe you could have one “trial” level that determines mathematics ability?

  8. Ian says:

    Though you may find Easy/Medium/Hard to be dull, I think that’s the simplest way for first timers to get into the action. While there is no set standard for difficulty across games (how could there be) I have found that in 90% of games, Hard means you have to figure out the “right way” to beat each level, and have to develop skill at the game. You also have to be OK with replaying a level a few times. I think most players know this and chose the right option. Without difficulty settings, you’re limiting the range of players who will enjoy your game. Just my two cents on the matter!

  9. @Whisky_Biscuit now that’s a cracking idea. I could still keep the customisation too.

  10. Whisky_Biscuit says:

    @chrismwaite good luck with it, I totally agree with your thoughts on difficulty choice at the start. I always misjudge it.

  11. GeorgeSealy says:

    RT @chrismwaite: New Blog Post: Thoughts on game difficulty –… #iDevBlogADay

  12. @Whisky_Biscuit thanks :)

  13. Benihana says:

    Have you ever seen the site, ? It tailors difficulty based on questions you get right and wrong, as well as allowing you to set a level. It’s probably easier for you to just see for yourself.

    It also retries a word that you got incorrect after a few other words, to give you the opportunity to show you learned it.

    Just a thing to consider, setting level based on how the player does, and allowing them to change it themselves if they like. That would help you do away with a mandatory difficulty setting.

    I agree with you regarding options, for the most part. I do see the need for a difficulty setting, but it needn’t be set by the player.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.