Game Engine Structure Books/Articles

Started by
7 comments, last by Nairou 16 years, 10 months ago
Hey all, ive been trying to get my engine right for the last week and i just cant seem to find a decent "architecture" just wondering if anyone has any links or books they can recommend me, cept teh enginuity which ive already read :D Cheers
Advertisement
Hi BlackIgloo,

I know exactly what you mean. A game is so large that you can easily make a mess of your code.

Recently I stole the structure of XNA and made an engine in C++ (I call it CNA ;)). IMHO XNA is a great framework. I'm now trying to make my XNA rip-off multithreaded.

So that's my tip to you, XNA architecture :)
David Eberly has written two books on the subject of engine architecture: 3D Game Engine Architecture and 3D Game Engine Design. The latter is a significant revision of the first that incorporates shaders into the overall engine design. As a point of interest, 3DGEA served as the architectural foundation for jME, a commercial-grade 3D engine written in Java. (Full disclosure: an engine on which I worked until my free time evaporated.)
Amazon is always great for this sort of thing...

3D Game Engine Design, Second Edition: A Practical Approach to Real-Time Computer Graphics. Of course, check out the several links under "What do customers ultimately buy after viewing this item?", which leads to other game engine development books.
There are two important things to realize:
1) There is no single correct way to design or build an engine; if there was, we'd all be using that. The architecture needs to fit the requirements and serve your needs.
2) Figuring out those needs is much easier if you're actually building a game, and not just an engine. Building engines in isolation is folly unless one is already quite experienced (and even then it can be chore); by focusing on building games and refactoring the engine components out from underneath those games (they can be pretty simple), you end up with something much more robust that feels much better to use because its proven to be usable, as opposed to engines designed in isolation which often are not as usable as one would think.

Eberly's books are a good read.
Quote:Original post by errcw
David Eberly has written two books on the subject of engine architecture: 3D Game Engine Architecture and 3D Game Engine Design. The latter is a significant revision of the first[...]
According to amazon, you have the books reversed:
Quote:Dave Eberly's 3D Game Engine Design was the first professional guide to the essential concepts and algorithms of real-time 3D engines and quickly became a classic of game development. Dave's new book 3D Game Engine Architecture continues the tradition with a comprehensive look at the software engineering and programming of 3D engines.[...]
I just obtained "3D Game Engine Architecture" recently, but I haven't had time to read it yet.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
A few months ago I purchased the book "3D Game Engine Architecture" by David H. Eberly. I got this since book since I knew how to do small things here and there to develop a game, although I did not really know the architecture to put it all together. I've read all the way through it and I highly recommend this book. It has a very detailed perspective on what a game engine needs and how all of the pieces fit together. I appreciate the professional outlook of the book and it has help me in great lengths to develop my own engine. If you do want to get this book you may want to look into the revised edition which errcw posted.

I wish you the best of luck on your engine. ^^

- Kiro
Quote:Original post by Extrarius
According to amazon, you have the books reversed

Ah, you're correct; I should have swapped "former" and "latter". My temporary confusion was rooted in the fact that 3DGED has a more recent revision than does 3DGEA.

And, to follow KiroNeem's comments, I should mention that I've read 3DGEA and agree its a good resource. Of course, it's not a design panacea and I am not totally satisfied with all of Eberly's design decisions, but as a guide to thinking critically about your own design and providing overall guidance I think it's definitely worth a read. As a side note, I've found that the most I've ever learned about design has come from examining other designs; I feel this book provides an excellent opportunity for this type of analysis because all the rationale behind the structure is clearly laid out.
Though I've generally had the impression that "game engine" books tend to be too generic and unhelpful, I happened to browse through Game Coding Complete (2nd Edition) while at Barnes & Noble the other day, and found it to be very interesting and helpful, going into details that other books I've looked at glossed over (it talks less about rendering and more about overall architecture and methods). Worth checking out.

This topic is closed to new replies.

Advertisement