10 gamedev techniques you need to know

  1. tile map it allows for dividing big world into small pieces (e.g. into squares or hexagons). It makes programming games a lot easier. You could easily detect if something is standing or neighboring something else (e.g. if unit is standing on a road) links: https://www.redblobgames.com/grids/hexagons/
  2. path finding it allows units for finding path from A to B, even when path is not obvious (e.g. if you need to go around obstacles, move across corridors etc.) Redblobgames has articles about it: https://www.redblobgames.com/pathfinding/a-star/introduction.html
  3. events/commands/messages Instead of directly calling method of given object, put data of "what you would like to happen" in special command object. This allows for better decoupling and for easier managing side-effects.
  4. state machines and other asynchronous patterns - it's often needed for making AI for NPCs, having some more durable process, which can span for seconds or minutes, and units should remember in what state they are. It is useful also when making GUI when there's need for GUI to be in various modes and behave differently in various situations
  5. caching and reusability e.g. via object pool or flyweight pattern. You're gonna need this for optimization.
  6. parametric approach Think. If you have three objects - car, bus and tank. Do you need three separate classes for it? Not necessarily. You could just have one class with various properties like 1. graphic file 2. speed 3. weight etc. I remember GTA2 had folder in which you could edit text files with definition of each vehicle. So you could for example create lightweight tank or make given car superfast.
  7. math is also useful. Particularly: arithmetic, trigonometry, Pythagorean theorem, vectors, matrices, quaternions
  8. visual thinking You should be able to visualize things in mind or draw it on paper to gather more understanding
  9. prototyping Instead of making full blown game from the start, try to make prototype first, something that will display something on screen and allow for manipulating it, even if they will be just red rectangles
  10. UX research When you make game, give it somebody to play, even if game is not ready yet. Observe them playing, gather feedback, even critical one, don't defend your ideas, but try to understand why person didn't like the game, what could be improved.

Comments

Popular posts from this blog

JavaScript landscape, job market and what next