During this Christmas break I wanted to move my attention to read an academic book called “Game Engine Architecture” to understand the theory and best practice for developing games in the 21st century. Also to discuss what makes a good game in order to avoid a bad design and hopefully try to adopt those ideas into the Game Project.
The author notes that the term “Game Engine” is where game developers can reuse some of the important logic or elements in order to build another game. While this is the best practice but it also requires a large amount of investment in software engineering, which is why this more economical than developing all of the main engine elements in-house. The author continues to discuss that a game and its engine is often blurry as some engines are clearly distinction but others are hardly noticeable. The author emphasis it by pointed out that a data-driven architecture is what makes a game engine from a piece of software that is a game but not an engine. If a game has hard-coded logic or game rules or apply special-case code to render specific types of game objects. This can become difficult or impossible to reuse that piece of code to make another game out of it. Therefore, the author stated that the term “Game Engine” should be used as the foundation for different games within the same genre that without major modification.
The author uses a diagram to demonstrate the theory behind game engine:
I found this chapter very interesting because the author examines the difference between a game and a game engine. A game may contain different customised game engine in order to make a new game as it reuse some part of the code from other game engines. Whereas game engine may have developed all of the features in-house in order to create a new game from scratch. This also reflect to my current practice as I do use some of the code from other game engines if they are fit for purpose.
The second chapter I chose to read about is in relation to “Platformers and Other Third-Person Games” as this is what I am currently doing for my project. The author stated that the term “Platformer” is applied to third-person character-based games as jumping from platform to platform is the main goal of this type of gameplay mechanic. The author demonstrated some of the classic platformer games in this chapter to show some real-world examples to support the statement.
2D era platform games as follow:
- Space Panic
- Donkey Kong
- Super Mario Brothers
3D era platform games as follow:
- Super Mario 64
- Crash Bandicoot
- Rayman 2
- Sonic the Hedgehog
- Jak and Daxter series
- Ratchet & Clank series
- Super Mario Galaxy
The author further discusses that in a platform game, the main character is usually cartoon-like and it is not realistic or high-resolution. On the other hand, third-person games are often having a high-resolution and realistic player character. However, both player character has rich set of movements and computer graphics.
This chapter is interesting and it is also related to my current practice as my project is a platform game which enable user to move and navigate around the game environment in order to shoot enemies. The author also pointed out games that is similar to the same genre which I can review how the game is interact with the player and how the animation is executed in order to produce the best player experience.
Gregory, J. 2014, Game Engine Architecture, Second Edition, 2nd; 2; edn, CRC Press, Natick. pp. 11-17.