   Engine writing guides?
  Hi,is anybody familiar with good guides/tutorials/books out there that might explain the basics about writing a Direct3D engine from ground up? I would like to put together a basic engine so that I can build a couple of simple games around it and maybe have it go through a couple of iterations as I learn more about the subject. Eventually I'll probably switch to one of the freely available engines out there that take care of a lot of things for you and that will certainly work much better than anything I can make on my own, but I still would like to get experience and understanding out the process, so that in the future I know the underlying mechanics.Thanks!   
Write games not engines. (tm) :P   ;  I think I agree and see the point with this philosophy you linked. Now, assuming I do go along with it, and basically write the engine around the game instead of the opposite, what should I start with?The point is that I can definitely half-ass something together around a game, but it'd be much better if I could get an idea about the basic skeleton of what the engine should look like beforehand. Maybe some sort of a basic architecture of what the various components should be.   ;Quote: The point is that I can definitely half-ass something together around a game, Then that is what I would suggest.  For some reason it seems to be impossible to find decent information on software engineering beyond a certain complexity point and a game engine is so far beyond that point that all the documentation you will find will be laughable at best, and thus trial by fire is the best alternative.   ;  I would suggest this book: (this is the 2nd edition which is great)AS we know the technology advances so quickly that some material become obsoletebut this has all the basics to starting and developing a nice engine. Then, you can integrate more into it or at least have an idea of how everything should work.http://www.amazon.com/Game-Engine-Design-Second-Interactive/dp/0122290631/ref=pd_bxgy_b_img_b   ;  start with the idea of having a "renderable asset" within a "renderable scene" and a camera that has a usable interface. For now, the "renderable asset" just needs to draw a cube, and the renderable scene needs to be able to place these assets wherever in the scene.Use cubes/cyclinders/spheres to plot out your gameplay and get a feel for what angles your game shows, the scale and pacing etc.Then from there work in model loading, then texture loading, then shaders, etc as they are required by your game.It really will help to force yourself to a serious milestone based schedule, otherwise you might get caught in the habit of only-ever-working-on-what-seems-cool   ;  I could suggest also that book:http://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135It is written by Jason Gregory, software engineer at Naughty Dog (Uncharted, Uncharted2...and much more).3D game engine design is very good, but cover basically the rendering part...the interaction between systems (like physics/gameplay) it is not cover (if I remember well).Also...base your design on the K.I.S.S. principle: it is a really good way to procede IMHO!   ;  Sounds great, thanks for the replies so far guys!   ;  The way I learned best about large scale development is to read open-source code (and, experience working on big projects). Of course, you need to be picky about the particular project to learn from ;). I learned a ton about good OO code from the Ogre3d engine.   