Throughout my four years in college I read over 150 books on the topics of game development, computer graphics, software, hardware, math, physics, audio, and anything else related to building a game. At one point I was reading about three books a week, and chewing through pretty much all of my budget.
After a short while I started to notice that most of the books I had read all contained great amounts of redundant information. I further noticed that none of these books covered the topic of 3D engine design. Many books may claim to teach the design of an engine, but in reality they simply provide a list of features and techniques used by most 3D engines.
Publishers soon took note of my rampant book purchases and quickly hired me on for a variety of reviewing positions. This certainly fueled my appetite for knowledge, but eventually I developed the desire to write a book of my own.
What I have set out to do with this book is explain, using as simple terms as possible, how to design a 3D engine. My goal is not to teach the basics of programming, math, or graphics. This book is for advanced readers, who are comfortable with C/C++ and linear math, but are struggling with a clear view of how everything fits together to form a living, breathing, game engine.
Unfortunately I have been asked to remove the chapters from my site. The book is under review by a publisher, and should they choose to publish it, they would prefer I not give it away for free :)
| Chapter 1: Introduction Chapter 2: Engine Fundamentals Chapter 3: The HW/System Interface Chapter 4: The OS Handler Chapter 5: The Audio Subsystems Chapter 6: The Video Subsystems Chapter 7: Engine Input Path Chapter 8: Network Support Chapter 9: Memory Management Chapter 10: The Virtual File System Chapter 11: The Virtual CPU Chapter 12: Process and Thread Manager Chapter 13: System Scheduler Chapter 14: System Debugging Chapter 15: The Security Model Chapter 16: The System/Core Interface Chapter 17: The Core Spine Design Chapter 18: The Math Library Chapter 19: The Physics Library Chapter 20: Communication System
| Chapter 21: Resource Management Chapter 22: The Video Renderer Chapter 23: The Audio Renderer Chapter 24: Material Management Chapter 25: The UI System Chapter 26: Animation Chapter 27: Scripting Systems Chapter 28: Event Systems Chapter 29: Multiplayer Support Chapter 30: The Core/Game Interface Chapter 31: Client Server Architecture Chapter 32: Artificial Intelligence Chapter 33: Dynamic Gameplay Chapter 34: Conclusion Appendix A: Tool Development Appendix B: Useful Libraries and Tools Appendix C: Console Considerations Appendix D: Recommended Reading Appendix E: Case Studies Appendix F: References |
After reading this book you should have a solid concept of what a game engine is, and how to build one. This book places particular emphasis on next generation design considerations as a result of multi-proc systems, dedicated physics chips, and recent advances in graphics chip technology. Specifically, the chapters on Scheduling, Thread Management, System Debugging, and the Events System address the implications of efficiently executing game and engine code in a multi-threaded environment.
| |