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() {   ...

Coding and game development, part 2

 Consider the following C++ sample: int main() {     std::cout << template_1() << '\n';     return 1;      } Every moron who knows C++ would know what this means. Now consider that almost every line is a regular expression, so try to translate it into your native language, English for example; line by line in steps. ... rofl lol oO? I tried to do that with the example and my head almost had a system shutdown.

C++ and OOP in a different manner

Keep in mind this article is meant strictly for C++ game devs and not for application programmers or game devs of scripting/other languages. I have my own technique when it comes to OOP in C++. The game I'm deving right now(or we are making) is a simple windows console project. It's up to you to decide whether you'll use this technique. First let me tell you in which cases you might need this technique: if you're ready for a new look on OOP if you need a new toolset for your coding practice if you like to learn(which I clearly hope for) So, the technique then. Decide which you prefer more: classes or structures. This helps you understand what kind of objects you want in a game.