title: Major game components
body: <p>I am in the process of developping a game, and after two months of work (not full time mind you), I have come to realise that our specs for the game are lacking a lot of details. I am not a professional game developper, this is only a hobby.</p>
  
  <p>What I would like to receive help or advices for is this: <strong>What are the major components that you find in games, that have to be developped or already exists as librairies?</strong> The objective of this question is for me to be able to specify more game aspects.</p>
  
  <p>Currently, we had specified pretty much only how we would work on the visual, completely forgetting everything about game logic (AI, Entities interactions, Quest logic (how do we decide whether or not a quest is completed)).</p>
  
  <p>So far, I have found those points:</p>
  
  <ul>
  <li>Physics (collision detection, actual forces, etc.)</li>
  <li>AI (pathfinding, objectives, etc.)</li>
  <li>Model management</li>
  <li>Animation management</li>
  <li>Scene management</li>
  <li>Combat management</li>
  <li>Inventory management</li>
  <li>Camera (make sure not to render everything that is in the scene)</li>
  <li>Heightmaps</li>
  <li>Entities communication (Player with NPC, enemy, other players, etc)</li>
  <li>Game state</li>
  <li>Game state save system</li>
  </ul>
  
  <p>In order to reduce the scope of this queston, I'd like it if you could specifically discuss aspects related to developping an RPG type of game. I will also point out that I am using XNA to develop this game, but I have almost no grasp of all the classes available yet (pretty much only using the Game component with some classes that are related to it such as GameTime, SpriteBatch, GraphicDeviceManager) but not much more.</p>