Original Post
Hey everyone, I have been reading a ton of articles around gamedev and other sites lately and am trying to get a feel for designing and implementing C++ applications that use features such as inheritance. As I read these articles, a few questions pop into my head. At the risk of discouraging comment, I have decided to design a game engine. I have plenty of time to try and try again (and surely will as my computer science degree track progresses) and already have somewhat of an idea on how inheritance and the like is implemented. I have decided to use DirectX to render 2D tile graphics. No networking will be implemented. My questions are as follows: 1) Where to start? There are a lot of parts to a game engine. I am not sure which part(s) to design first; and even if I knew what to design first, how do I make sure all of the parts will fit together? 2) What components are involved? I know there will be a rendering component (for displaying 2D graphics, text, etc...), input component, audio component, timer component, and probably a few I don't know about. Are there any I forgot? 3) I have read several articles on game engines and most of them mention memory management systems. Is one necessary? If so, i'd really appreciate design and/or implementation suggestions. Although I'd appreciate any implementation suggestions, I'd prefer design questions. With a project as large as a game engine, I would like to have it designed on paper before I write code. I would like to leave room in the engine's design for future additions (so that when I learn more I can extend it to have advanced features like per pixel lighting) I appreciate any replys to this thread, positive or negative, and any suggestions on how to and how not to design the various components for the engine. Thank you very much, Jerry Smith Iota Beta chapter of Sigma Kappa Delta [EDIT] Added question 3 [Edited by - dean1012 on April 21, 2006 5:21:40 AM]