Skip to main content

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

Programmer's Role in Game Development
-part 3:

Why is Coding Hard?

This is the last of the three part miniseries which describes the programmer's role in the game development process.

So how come it's so hard to code something?

One of the main reasons is the need to be well-prepared for it which most programmers are not. In other words preparation-one or more of the following reasons include lack of being prepared for the task:
  • the programmer is coding by the most difficult thing they learnt, which means they don't do what is in their capability but overstretching
  • lack of test-driven development
  • "determination" to make an average game, which can be boring in both terms of development and playing
  • incomplete GDD
  • lack of problem-solving attitude
  • lack of a productivity plan
So mental preparation is the main problem here: prepare yourself to code better and faster!
  • go step by step, and work with what you have learnt so far, not of what you are currently learning
  • build on small and core chunks of the game
  • be determined to make an above-average game, even if you see no way to do it-the game will be above average, even if for the tiniest notch!
  • make the GDD complete, but not complete as everything being written, but as having everything which a programmer needs to be there
  • have the attitude of "every problem has a solution"
  • decide which techniques or tools you will use for enchanced productivity

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