Skip to main content

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

This is a very challenging topic and it inspired me after reading Raph Kostert's Theory of Fun for Game Design which concluded games are becoming more and more boring; and while you can certainly have some fun playing many games, they are decreasingly(if not equally) fun as games of previous millennium. As games are inspiration of other forms of art, this can be alarming and dangerous to the mankind.

With this in mind, know that playing older games doesn't mean playing better games.

So what can we do to fight this increasingly dangerous threat? This is the cause of this blog posts series.

My goal is to make you understand better what a good game consists of. And also of course to help fight this threat to humanity(just like Raph Kostert is).

Let's try to solve this problem in following points:
-what is not fun in games?
-what makes games repetitive?
-what makes games overly addicting?
-how to write an engaging story?
-how to make engaging worlds and levels?
-what have we learned from games so far?
-what makes games too competitive?
-why are games becoming more and more boring?

What is not fun in games?
Let's take a few examples: collecting the same types power-ups, beating any level with your eyes closed once you mastered the underlying pattern. In other words, all mean doing stuff we don't like doing.

What makes game repetitive?
Just like making good music means enjoyment, but let's take a look at what it consists of.
If you look at it's components: musical notes, instruments, authors and context you'll see a very complicated underlying system. This complication means degrading the music into being repetitive unless you know all musical components of all sorts and genres(which is a rarity) it becomes boring and repetitive as it's hard to understand what's the music listened to all about. Meaning less-adept will become bored, while experts won't have many people to enjoy music with.

What makes games overly addicting?
If the game has a simplified context on the other hand, it can become overly addicting, meaning you are good at the game only by having a high level character or epic equipment.


How to write an engaging story?
I haven't really come to a game where I was fully-engaged, immersed and enjoyed the story. Have you? Note I played hundreds of games in my life. So how would I write one? It would have certain components: non-linear(no linear path progression), good in grammar and vocabulary aspects and it would have interesting quests which you can solve in a non-linear fashion. Also it would require depth and maturity of the writing.

How to make engaging worlds and levels?
First of all, forget about Far Cry's beautiful scenery, Oblivion exploration and openness of Legend Of Zelda: Breath of the Wild. This is seen in so many games, and the key here it to make a world or levels which are better than that. While this doesn't mean perfect graphics, Unreal Engine and historical meaning. Better means unlikely to be repeated in other games. Which means you didn't do exactly the same framework for your levels.

What have we learned from the games so far?
While they don't, games should have a good educational meaning as many say we can learn from games. But what have we learnt? I learnt nothing overwhelmingly positive. Some games train logic, other spatial thinking, some reflexes, but none have made me any smarter.


What makes a game too competitive?
It means hackers and elitists. Which means lack of fair play. Also using accuracy of firing before teamwork, which can be enormous mistake, as teamwork wins most of the games. Back to lack of fair play: could we be better gamers as better contenders than better achievers? If so, could fair play be exercised more and therefore we as players could make better game experience? Meaning as game with a good design would encourage fair play and healthy competition?

Why are games becoming more and more boring?
Mostly because we don't understand game design well in theory nor practice.

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

object render, part 4

Object is either two dimensional, or three dimensional. Even abstract ones. People imagine c++ game objects as a part of a class on a graph chart, to understand the game and development mechanics. But they are really two dimensional, iso metric or three dimensional. They can be seen on the level or the level map, in other words, about 90% of used classes. Even server objects can be seen on the game, if there is any blue print or underlying real world net working mechanism. So in other words, the class objects can be used in game. They have to be dimensional. //PvE class Monster {     std::vector<int>  head_memory{};     std::vector<int> body_particles{}; public:     int get_memory(int element);     int get_particles(int element);     int get_head_memory_size();;     int get_body_particles_size(); }; Monster's head memory is used for AI render, the body particles list is used for rendering. 60 frames per second...

object render, part 3

 Making a object requires a class call, but also has to be rendered. Monster monster{}; monster = new Monster[10]; void render_monster(Monster* monster_array); The iso c++ standard says you should use classes for making objects, not structs(structures). Considering it is a standard.  With emphasis on  should , not  must . It is a standard, not a coding rule. It was set forth by iso commitee and bjarne stroustrup. Polymorphism allows us to make multiple monster arch map types. virtual void render_monster(std::string map_name, int type=0); Atch map is a data map about what all is happening in the game, like for example campaign map. It allows making archetypes. monsters, for more efficient run time memory and pointers managing bugs and random access memory. Random access memory can hold quite many objects. class BackPack {     std::string inventory_node{}; };