Skip to main content

What does a good game consist of? (part 18)

Good Difficulty

Before we dive into the main subject, I want to remind you I'm still on a mission to make a definition of what makes a game a 100% classic.

One of the main problems with games is difficulty curve. Which leads to very steep learning curve.

The curves are in relation between each other.

Let me make a couple examples of the difficulty and learning curves:
-Painkiller: good difficulty four settings, but the game relies on finding secrets, which can take months to solve, and it kills the tempo in the game
 -Unreal Tournament: like many other games, there is a high jump in the difficulty-earlier levels are easily beatable until you reach a level which you can't beat for half a year plus(literally)


I think I have to say I prefer a learning line instead of a curve. Same goes for difficulty. Why?
Because an exponential curve is the opposite of a well-balanced game.

So what's the solution? In my opinion as constant as possible line, not too flat nor too steep.

A couple of examples of how the solution would be implemented:
-explanation of some sorts which gives you advice of what to do and what is required to finish a certain challenge
-a written comprehensive manual: because you can read and play on full screen at the same time
-many difficulty settings(preferably 10): for all kinds of players

Difficulty is an essential part of the game,  so treat it as so. I don't precisely know how to make a ideal/optimal difficulty curve or a line. On the other hand, the learning curve/line is similar to the difficulty one but much harder to draw. And as we said, good games are made for learning, so the second or learning line is important too. So makes sure when doing the game math, you consider making a good game difficulty line, even if you can't draw the learning one.

Comments

Popular posts from this blog

object oriented programming

Object oriented programming is a sound and bold approach to c++ and internet wiring application and video games. It reduces a lot of code messes, made by global and half global functions. One of the more advanced object programming techniques are private access, poly morph and object message inheritance. It is set by c++ bjarne stroustrup and iso isometric standard convention comitee to use classes instead of structs and structures for making objects. Which means you most definitely should , but not must or have to. class Monster {     std::string memory_attributes{}; public:     void treck();     void track();     void trace(); }; The treck() function makes the monster roam and do human like jogging and trimming. track() means the monster goes ai path tracking and trace() means it tries to find other monsters in the area. class Weapon {     std::string memory_attributes{}; public:    void use(); }; void Weapon::use() {   ...

What does a good game consist of? (part 19)

Programmer's Role in Game Development -part 1: Better Code Organization This will be a bit different blog post compared to the previous. It will be a sub-series of the role of programmer in the game development. The first part of the sub-series will explain how a game programmer is more effective alone or in a team. Code organization is in my experience essential, as the amount of code quickly increases, especially if the game has many features. It includes: knowledge of the programming language, APIs, dev kits and make sure you know the techniques with which will you finish the project  list of steps to get there a clear to read and understand GDD a clear task list don't rush to learn everything about everything related to your project-set to make a project which you can actually handle(=have learnt 98%-100% about it) There you go, one step closer to understanding how to make a classic game.