Game Creation with XNA/Basics/Game Loop

Game Loop
Programming a game consoles (GC) is not quite the same as programming a regular PC. Whereas PC's have sophisticated operating systems such as Windows, Linux or Mac OS, on a game console we are much closer to the hardware. This has to do withe the special requirements of games. We must consider the following differences between PC’s and GC's: Hence, you will find no classes with names like Window, Form, Button or TextBox. Instead you find classes with names such as Sprite, Texture2D and Vector3. We talk about Content Pipeline, Textures and Shaders.
 * on a GC usually only one (multithreaded) program is running, thus there is no real OS
 * on a GC raw graphics power is needed, but there is no GUI with windows and widgets
 * a GC usually has no keyboard, console, sometimes not even a harddisk

Usually, programs for PC's are event driven, meaning the user clicks somewhere something happens. If the user doesn't click anywhere, nothing happens. On game consoles (GC) this is a little different. Here we often find the so-called Game Loop. For the Xbox 360, or rather the XNA framework, it consists of three methods:
 * LoadContent
 * Update( GameTime time )
 * Draw( GameTime time )

LoadContent is called once at the start of the game to load images, sounds, textures, etc. Update is used for getting user input, updating the game state, handling AI and sound effects. Draw is called for displaying the game. (MVC Pattern). The Game Loop then consists of the two methods Update and Draw being called by the engine. They are not neccessarily called in sequence!