- Game Development Patterns and Best Practices
- John P. Doran Matt Casanova
- 221字
- 2021-07-02 23:43:48
The benefits of the monolithic game object
It is worth noting that even if you choose this approach, you can still have your core engines decoupled from the game object. When writing the graphics engine, for example, instead of passing in a game object as a parameter to a Draw function, we could pass in the members that the graphics engine needs:
void Graphics::SetTexture(int textureID);
void Graphics::SetTextureCoords(const float* coordArray);
void Graphics::Draw(const M5Mtx44& worldMtx);
vs
void Graphics::Draw(const Object& obj);
Another argument for creating objects like this is that we know exactly what is in our game object. Compared with other approaches, we never need to cast our object or search for properties within the object. These operations make the code more complicated and have a slight performance cost. By using a simple struct, we have direct access to the variables and the code is easier to understand.
The only time we might use this approach is if we know 100% that the number of object types won't be large, for example, if you are making a puzzle game and the only game objects are sheep and walls. Puzzle games are often very simple and use the same mechanics over and over. In this case, this is a good approach because it is easy and doesn't require any time building a complicated system.
- JavaScript從入門到精通(微視頻精編版)
- Kali Linux Web Penetration Testing Cookbook
- Java面向對象思想與程序設計
- C++面向對象程序設計(微課版)
- PhoneGap:Beginner's Guide(Third Edition)
- ASP.NET開發與應用教程
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- Babylon.js Essentials
- Mastering C++ Multithreading
- Scala Data Analysis Cookbook
- FPGA嵌入式項目開發實戰
- Python預測之美:數據分析與算法實戰(雙色)
- Java RESTful Web Service實戰
- Java語言程序設計實用教程(第2版)
- 計算機應用基礎(Windows 7+Office 2010)