   Game Architecture
  Hey guys,I've finally started working on my first game.It's supposed to be a Warcraft II like game, with 3d elements involved.I'm a java programmer, recently tackled JOGL (yeah, I know there are better OOP solutions out there but this is the way I wanna do it for now).Other than that I know nothing about common game-architectures.I have the general outline in mind but before I rush into it I'd like to study the subject a bit more.Could you please refer me to a decent source / example?Thanks in advance.   
  Hi,If you're looking for a good architecture for your game, you could try the Model-View-Controller structure. This is a commonly used pattern for games and other view-based applications. The strength of using this pattern is that you decouple those three elements in your application, making it very easy in later versions to replace one of those components with a new implementation or an update (e.g. if you decide to go from 2D to 3D, you would only have to rewrite the view-component)I can't refer you to a specific tutorial for this pattern, but if you google a bit, you will find lot's of stuff that will get you started with it.   ;  One of the best investments you can make toward this purpose is Jason Gregory's book, Game Engine Architecture. Work through this and it will answer most of your questions regarding how to structure your game systems. Game Coding Complete will help fill in the holes.I have several bookshelves full of tech books, but these two have a permanent spot on my desk. They are excellent references.   ;  Thanks a lot guys,I'm familiar with MVC, though I was leaning more towards correct ways of mixing the game state with the video engine (e.g: should the screen render itself according to the game state every few ms or does the game state itself force certain renders.. Ditto for sound).I'll look into the books, looks promising!   ;  I also agree on Game Coding Complete, I completly redesigned my game with great results after reading it. Wish I'd read it long ago, would have saved ALOT of work.   