Skip to main content

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

Structure of a game

A game normally consists of some challenges to overcome. This can appear in the terms of a campaign, chapters or skirmish(battle-only) levels. Challenges can be single-player or multiplayer.

On the development aspect, this means the Game Design Document must include the core game mechanics.

Furthermore, games include a certain quality of graphics, while some have no emphasis on graphics whatsoever.

But have would one implement graphics in a GDD? Myself I find it an impossible task. While I'm not saying some games don't have remarkable graphics, I don't think they have a place in the Game Design Document.

Another example is game physics. They can be described even if they are set in normal ("real") physics environment.

Let's try to describe graphics in a GDD by an example:
All levels need great textures, lightening effects, weather system, beautiful models and landscapes.


Let's try to incorporate this into test-driven development:
All graphics must start with average textures, and make sure the graphics aren't good from the start.

Nothing too specific, in other words.

Does this mean if it doesn't belong in the GDD, it is not important in the game either?
What does also not belong in the GDD? In example, music does belong, even though it is not easy to define.

Let's return to the challenges example. How would we implement it in the Game Design Document?
Challenge must include a good difficulty curve/line, they must be various and interesting.

Also not anything too specific...

What would an above average game's structure look like then? I believe it would require something easily defined in the GDD! What is easily defined then?

Here's an exercise:
Why did you find a game hard or easy or better yet, why did you find it too hard or too easy?

I think every game belongs in both of these categories.

What I think can be specifically defined in the GDD is the very definition summary of a game:
-what does the game teach us then?
-what kind of skill would it require for it to be beaten? casual, advanced or hardcore?
-what would require from one to immerse him/her in the game?
-what kind of genre is the game? does it push towards the boundaries of the genre? is it too mainstream?

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{}; };