   Looking for documented game architectures
  Hi,I'm looking for documented game architectures (e.g. a software architecture description of a game). there are numerous descriptions of the inner workings of a 3d engine but I am more interested in a high level picture of the game architecture which shows the interaction between different game components / aspects like 3D rendering/ AI/physics/hardware abstraction/sound/game logic etc/ I have looked for a while and I could only find the following three resources:- A. Rollings and D. Morris, Game architecture and design, Coriolis Technology Press, Arizona, USA, 2000. ( has a small picture of an "architecture" )- J. Plummer - A Flexible and Expandable Architecture for Electronic Games - (proposes a data driven architecture )- J. Blow, - Game Development: Harder Than You Think, ACM Queue, ACM, 2004, pp. -  (shows three different architectures)Most of these descriptions I found are not based upon real existing games. I know most game companies do not like to publish their game architectures for concerns of IP leakage, but if anyone knows of any descriptions I would be very happy.   
  There are no standard or generic game architectures. The architecture for every game is different and it depends on the game, the platform, and the people designing and implementing the software.   ;  You might want to have a look at Jeff Plummer's architecture.;Quote:Original post by JohnBoltonThere are no standard or generic game architectures. The architecture for every game is different and it depends on the game, the platform, and the people designing and implementing the software.I don't know every architecture is unique ofcourse but I think there is a common denominator, 90% of the games have a 3d engine/ sound engine/ hardware abstraction layer / network component etc. ;Quote:Original post by eelke_folmerI know most game companies do not like to publish their game architectures for concerns of IP leakage, but if anyone knows of any descriptions I would be very happy.Source code is more easily published than documentation. Have you looked at Doom, Quake and Quake 2, for example? Are you interested in actual game architecture, that you can infer from the source code, or in architecture documents?Most open source games with many developers have plenty of design discussion on public forums, mailing lists etc.A significant number of GDC presentations and similar papers from developers describe game architecture, particularly AI architecture (which still has some margin for new approaches).;  I'm looking at some open source engines right now but architectural retrieval of the "intended" software architecture is often very hard. I used some tool to retrieve an architecture description of an open source RTS engine but when I talked to the architect he drew me a very different architecture. Usually the game starts out with a document SA, but constant evolution often leads to architecture erosion. Its still interesting though...If you have some links to presentations or architecture that would be nice.   ;  You could check out David Eberly's book, 3D Game Engine Architecturehttp://www.amazon.com/gp/product/012229064X/103-8304870-7040610?v=glance&n=283155It might not have quite as much focus on top level design as you seem to want, but it is a thorough description of a real working engine. (You can download the WildMagic engine from his site, which is loosely based on the NetImmerse engine)I'm about halfway through it now, and it does have a lot of source code for an architecture book, but almost all of it is there to illustrate a point and show why he chose to organize things the way he did. (And it's the why that's teaching me more than the actual implementation or this specific design.)If you're not sure if it's what you want, I think you can find an entire chapter in a pdf on his site. (geometrictools.com)   ;  I don't mean to insult open source here, but I wonder how similar open source game products are to commercial game products. Would you try to analyze rocketry by looking at at John Carmack's work or NASA's?;Quote:Original post by TrollWould you try to analyze rocketry by looking at at John Carmack's work or NASA's?What a coincidence... I saw Carmack talk about his rocketry in a documentary today on TV. Carmack probably read some books or got information from wherever was available from him, and he learned from those. Then he tried things and learned from his mistakes, he didn't got to that rocket that was fired up to 60 meters (around 200 feet) in the air and landed 16 cm (around 6 inches) from where it was lauched (just like he calculated).The same approach with computer science/software engineering is good, its called prototyping (if I remember correctly) but most people are tempted to use the prototypes instead of rewriting code. Prototyping can be described as : You make something, you identify what is good and what is bad. Then you rewrite it and add more to it, then identify again the good and the bad. You keep going on like that until you have an architecture that is good for the problem or general if that was a requirement. When you are satisfied with the results you have actually gained experience and ready to implement it in the real thing, you should never use code from the prototypes in the end. The iterations of prototypes should be really quick so you don't lose all your time with it, see this step like part of the research you should do before implementing something. I wouldn't trust any prototype or proof of concepts in any other situations (ex.: planes, cars, rockets...) so I won't trust that code ...According to me design books only shows what others had done... and not what you might be able to come up with. They should only be "inspirationnal" readings.JFF   