Jump to content
  • Advertisement

Dynamic Difficulty

Sign in to follow this  
Ed Welch

674 views

image.png.00ea27a80d2b5b008113f5c601eb2818.png

Typically, at the start of a game you are presented with the game difficulty menu, as above. Players should choose the level according to their experience. The problem with this is that the player really has no idea how easy the "Novice" level really is. I know some games where the easy level is actually quite challenging (it's easy for the game developers, but only because they understand how the AI works). For this reason, a lot of players always choose the easiest level, just to be on the safe side, but then they run the risk of a boring game, because it's not challenging enough.

I decided to solve this problem by having no menu at all. Instead, the game automatically adjusts difficulty based on certain statistics. I found out afterwards, that in fact a lot of games do this already (https://en.wikipedia.org/wiki/Dynamic_game_difficulty_balancing). However, I treat the combat difficulty separate to resource management difficulty.
I rate the players proficiency in battle according to a few statistics. I consider a player to be inexperienced if their soldiers are not taking cover and if they aren't getting interrupts. Difficulty mainly affects how the AI behaves. For a player with a high difficulty level more enemy combatants will be smarter - they will take better cover, be more alert and try to flank more often.

image.png.78ba28ad0b4ac311fa383f85f28e7fde.png

In Merc Tactics the difficulty level (score) is displayed when the inventory screen is open. This is a number between 0 and 10.

I still haven't implemented the resource management difficulty yet. This parameter is based on how well the player spends his money. I.e. a player that wastes money repairing weak weapons gets a lower rating.

The Dynamic Difficulty feature is implemented in the latest 0.6 Demo.

Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By Seer
      Currently if I was to program a game using C++ with SFML or Java with LibGDX I would render game objects by calling "object.render()" on the game object. Although this makes it easy to access the information necessary to render the game object, it also couples rendering to the game logic which is something I would like to move away from. How can rendering be implemented so that it is decoupled from the game objects?
      I wish to know how this can be done in the standard object oriented paradigm, so please don't suggest that I use an ECS. Thank you.
    • By Wolfebytes
      I am currently an undergrad several months from graduation. My major is in Game Programming and Development. During the course of my studies, we've had a few modeling classes and I really took to it and feel that is the direction I really want to go, specifically I would love to become a character artist. I keep hearing about your portfolio being super important, but I've really never been able to find out what kind of work is best to put into my portfolio. There's no "put 2 of these and 1 of those in," kind of tips. I get that I'll want to put some characters I've modeled in there, but I guess what I really want to know is, if I want my portfolio to be noticed and taken seriously for a character artist position, what is the best way to present it? Since most of my courses have dealt more with programming, I need to build everything for my modeling portfolio on the side, outside of class on my own time. I know there are no specific numbers like: put 3 realistic humans, 2 robots, a creature, and a stylistic character in your portfolio. But as a general rule is there some kind basic guideline or tips for what to make to get your portfolio off to a good start?
    • By Kjell Andersson
      Genifect 2.0 OpenFX plugin has been released by Dual Heights Software.
      New in 2.0 is the Materialized Bevel filter which creates bevel and lighting effects for texts and symbols. Using MatCap textures you can create advanced and realistic lighting effects on 2D-text and logos to make it look like it was made out of gold, copper or any other material that you can find a MatCap texture for on the Internet.

      Genifect is an OpenFX plugin that works with the major compositing software for video and animation including Nuke, DaVinci Resolve/Fusion, Vegas Pro and Natron to name a few.
      Visit the official Genifect page to learn more: https://www.dualheights.se/genifect/
       

      View full story
    • By Kjell Andersson
      Genifect 2.0 OpenFX plugin has been released by Dual Heights Software.
      New in 2.0 is the Materialized Bevel filter which creates bevel and lighting effects for texts and symbols. Using MatCap textures you can create advanced and realistic lighting effects on 2D-text and logos to make it look like it was made out of gold, copper or any other material that you can find a MatCap texture for on the Internet.

      Genifect is an OpenFX plugin that works with the major compositing software for video and animation including Nuke, DaVinci Resolve/Fusion, Vegas Pro and Natron to name a few.
      Visit the official Genifect page to learn more: https://www.dualheights.se/genifect/
       
    • By jb-dev
      This is how loading screens will look like. I still have no idea whenever or not I could show things like tips or anything alike...
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!