SlideShare a Scribd company logo
Galactic warsOUR MENTOR: Ms. AnshuKhuranaTEAM MEMBERS:MohitNagpalSohil GuptaGauravAgarwalPranav Mehta
ABOUT THE PROJECT The project is a game using the trackpad controls coming in majority of laptops. This will provide more immersive and fun experience to laptop users.Game will use trackpad controls only. So no more hassle of connecting an external gaming devices.Game is being developed using XNA tools provided by Microsoft.XNA is the leading platform being used today by game developers to deploy games on Xbox Live Arcade and Games for Windows.Game will have Top Notch Graphics to give the user an excellent experience.
About XNAXNA Game Studio is an integrated development environment designed to make it easier to develop games for Microsoft Windows, Xbox 360 platforms, and Zune devices. XNA Game Studio extends supported versions of Microsoft Visual Studio tools to support the XNA Framework.XNA Game Studio includes tools for incorporating graphical and audio content into your game.The XNA Framework is designed to be similar to the .NET Framework in terms of its design patterns and idioms. With XNA Game Studio, you are able to incorporate functionality     in your game from both the XNA Framework and the .NET Framework. Use the XNA Framework for game-specific tasks    such as graphics rendering and managing input, and use the .NET Framework for more general programming tasks.
WHY XNA??While game developers have always been able to make games, the XNA Framework has reduced the once steep learning curve for game development and made it into something more attainable for the masses of developers who dream of making their own game. All at no cost to the developer. Supports multiple devices with enabled windows software eg. Portable devices and laptops.
GAME FUNCTIONALITIESSingle player functionality.Various levels of difficulties.Score displayed on screen.High score maintained.Timing information is shown.Maximum time limit is set.User friendly interface.
Galactic Wars XNA Game
 Functions used in the game     Initialize()The Initialize method is where you can initialize any assets.Initialize is called before Draw,so the length of time spent executing code in this method will be experienced by the user as a delay before he or she sees the initial game screen.This method is called only once when the game starts.
Functions used in the gameLoadContent()The LoadContent method is where you load any necessary game assets such as :           Models
           Textures.
           AudiosThis method is called by Initialize. LoadContent is called by Initialize, and before Draw. During the time the code for this method is executing, the user will experience a delay before the initial game screen appears.
Functions used in the gameUnloadContent()The UnloadContent method is where any game assets can be released. Generally, no extra code is required here, as assets will be released automatically when they are no longer needed.This acts as a destructor.
Functions used in the gameUpdate()The Update loop is the place to update your game logic:move objects around,
take player input,
decide the outcome of collisions between objects, and so on.This method is called on every frame refresh.
Functions used in the gameDraw()The Draw loop is the place to render all of your objects and backgrounds on the screen.It displays different Models
Textures
Time and score information More about models in xnaXNA has a specific class modelBy making an object as a model, we can apply various transformations on it.Model class supports positioning of the object, its rotation, scaling and projection.This is done through the Matrix class. Whenever the frame is refreshed, the corresponding matrices are updated and the model is displyed with updated attributes.
ALGORITHMInitialize audio engine, wave bank, sound bank, and other variablesLoad all ModelsSet TexturesLoad fontsCreate menuMainAdd items: NewGame and Exit to Windows in menuMainCreate menuNewGameAdd Items, start new game, back to main qindowFor(each refresh frame)
ALGORITHM Update :- keys state, mouse state, muzzlepositionIf(input)Firemissile, updatemissileCheck collisiomIf collision.occur	Add Explosion	Add ExplosionparticalUpdate particleFor (each frame refresh rate)
ALGORITHMDraw	For(all Game object)		Draw GameObject	If(collision occur)		Draw ExplosionDisplay score and timeIf time>Max_time then end.
Collision detectionWith the XNA Framework, simple collision detection is easy. In this step, you will be using a BoundingSphere, which is an object that creates the smallest-sized sphere (by default) that can enclose the target model. The BoundingSphere contains many different intersection tests, including the ability to detect intersections with planes, rays, boxes, and, of course, other spheres
STEP BY STEP IMPLEMENTATIONWe have our game designed in three different aspects as  three different portions. We explain each of these as follows:
PHASE 1This phase is concern with getting started with the game development. A game including moving aero plane and asteroids is developed. Developed game at this stage include features Showing models and textures
A moving Aero plane, motion can be controlled by input
Randomly moving  objects
Detection of collision on aero plane and objects   PHASE 2This phase is concern with Exploring Track pad Api of XNA  and adding sound features in a game. A game including the movement of a ball is developed, movement of ball can be controlled by track pad input . A separate module is developed -  A ball, motion can be controlled by trackpad
Four wall boundary
Detection of collision of ball and boundary
 Inclusion of soundsPHASE 3This phase is the final one. And Completes the game in all reference .Game include various features-A gun or missile launcher ,direction of missile launcher can              	be controlled by user input from track pad
Randomly moving  objects in space
Firing of missile
Detecting collision of missile with objects
Displaying Score
Updating time
Maintaining  High Scores Simplified environmentThe simplified game environment where we are focussing on giving functionalities and the operational aspects of the game in a simplified environment, which will help us to debug and correct our errors easily.

More Related Content

Galactic Wars XNA Game

  • 1. Galactic warsOUR MENTOR: Ms. AnshuKhuranaTEAM MEMBERS:MohitNagpalSohil GuptaGauravAgarwalPranav Mehta
  • 2. ABOUT THE PROJECT The project is a game using the trackpad controls coming in majority of laptops. This will provide more immersive and fun experience to laptop users.Game will use trackpad controls only. So no more hassle of connecting an external gaming devices.Game is being developed using XNA tools provided by Microsoft.XNA is the leading platform being used today by game developers to deploy games on Xbox Live Arcade and Games for Windows.Game will have Top Notch Graphics to give the user an excellent experience.
  • 3. About XNAXNA Game Studio is an integrated development environment designed to make it easier to develop games for Microsoft Windows, Xbox 360 platforms, and Zune devices. XNA Game Studio extends supported versions of Microsoft Visual Studio tools to support the XNA Framework.XNA Game Studio includes tools for incorporating graphical and audio content into your game.The XNA Framework is designed to be similar to the .NET Framework in terms of its design patterns and idioms. With XNA Game Studio, you are able to incorporate functionality in your game from both the XNA Framework and the .NET Framework. Use the XNA Framework for game-specific tasks such as graphics rendering and managing input, and use the .NET Framework for more general programming tasks.
  • 4. WHY XNA??While game developers have always been able to make games, the XNA Framework has reduced the once steep learning curve for game development and made it into something more attainable for the masses of developers who dream of making their own game. All at no cost to the developer. Supports multiple devices with enabled windows software eg. Portable devices and laptops.
  • 5. GAME FUNCTIONALITIESSingle player functionality.Various levels of difficulties.Score displayed on screen.High score maintained.Timing information is shown.Maximum time limit is set.User friendly interface.
  • 7. Functions used in the game Initialize()The Initialize method is where you can initialize any assets.Initialize is called before Draw,so the length of time spent executing code in this method will be experienced by the user as a delay before he or she sees the initial game screen.This method is called only once when the game starts.
  • 8. Functions used in the gameLoadContent()The LoadContent method is where you load any necessary game assets such as : Models
  • 9. Textures.
  • 10. AudiosThis method is called by Initialize. LoadContent is called by Initialize, and before Draw. During the time the code for this method is executing, the user will experience a delay before the initial game screen appears.
  • 11. Functions used in the gameUnloadContent()The UnloadContent method is where any game assets can be released. Generally, no extra code is required here, as assets will be released automatically when they are no longer needed.This acts as a destructor.
  • 12. Functions used in the gameUpdate()The Update loop is the place to update your game logic:move objects around,
  • 14. decide the outcome of collisions between objects, and so on.This method is called on every frame refresh.
  • 15. Functions used in the gameDraw()The Draw loop is the place to render all of your objects and backgrounds on the screen.It displays different Models
  • 17. Time and score information More about models in xnaXNA has a specific class modelBy making an object as a model, we can apply various transformations on it.Model class supports positioning of the object, its rotation, scaling and projection.This is done through the Matrix class. Whenever the frame is refreshed, the corresponding matrices are updated and the model is displyed with updated attributes.
  • 18. ALGORITHMInitialize audio engine, wave bank, sound bank, and other variablesLoad all ModelsSet TexturesLoad fontsCreate menuMainAdd items: NewGame and Exit to Windows in menuMainCreate menuNewGameAdd Items, start new game, back to main qindowFor(each refresh frame)
  • 19. ALGORITHM Update :- keys state, mouse state, muzzlepositionIf(input)Firemissile, updatemissileCheck collisiomIf collision.occur Add Explosion Add ExplosionparticalUpdate particleFor (each frame refresh rate)
  • 20. ALGORITHMDraw For(all Game object) Draw GameObject If(collision occur) Draw ExplosionDisplay score and timeIf time>Max_time then end.
  • 21. Collision detectionWith the XNA Framework, simple collision detection is easy. In this step, you will be using a BoundingSphere, which is an object that creates the smallest-sized sphere (by default) that can enclose the target model. The BoundingSphere contains many different intersection tests, including the ability to detect intersections with planes, rays, boxes, and, of course, other spheres
  • 22. STEP BY STEP IMPLEMENTATIONWe have our game designed in three different aspects as three different portions. We explain each of these as follows:
  • 23. PHASE 1This phase is concern with getting started with the game development. A game including moving aero plane and asteroids is developed. Developed game at this stage include features Showing models and textures
  • 24. A moving Aero plane, motion can be controlled by input
  • 25. Randomly moving objects
  • 26. Detection of collision on aero plane and objects PHASE 2This phase is concern with Exploring Track pad Api of XNA and adding sound features in a game. A game including the movement of a ball is developed, movement of ball can be controlled by track pad input . A separate module is developed - A ball, motion can be controlled by trackpad
  • 28. Detection of collision of ball and boundary
  • 29. Inclusion of soundsPHASE 3This phase is the final one. And Completes the game in all reference .Game include various features-A gun or missile launcher ,direction of missile launcher can be controlled by user input from track pad
  • 30. Randomly moving objects in space
  • 32. Detecting collision of missile with objects
  • 35. Maintaining High Scores Simplified environmentThe simplified game environment where we are focussing on giving functionalities and the operational aspects of the game in a simplified environment, which will help us to debug and correct our errors easily.
  • 36. Some of the features it includes are:Restart of the gameCrashing with asteroidsVanishing of spacecraft on hitting an asteroidRandom entry and movement of asteroidsControlled, accelerated and directed movement of the spacecraftAbility to undo an action by reverting back to initial positionSound effects associated with crashes
  • 37. Trackpad SimulationTrack pad version of the game on a lower scale having a ball being navigated and accelerated with the help of the trackpad.
  • 38. The ball can be moved in various directions as guided by the track padBased on the speed of the movement in track pad, the speed of the ball is decidedWhen the ball hits or crashes with the walls of the window, it alerts the user by setting off an alarm associated with it.
  • 39. Final game environmentThe Final Game environment where the Final outcome will be showcased. This is the game environment where we have to embedded all the above features into one piece.
  • 40. Menu windowThis window has 2 menu options.User can Start a new game.He can exit the game.
  • 41. Option menuUser can select difficulty level as easy or hard.He can also go back to the main menu.
  • 42. Difficulty levels A basic artificial intelligence is incorporated and number of ships are varied.For easy level, number of ships are three.For a hard level the number is five-six.
  • 43. FiringThe player can set the direction of the missile to shoot the objects.
  • 44. Collision and smokeCollision is detected by bounding sphere conditions and smoke model is shown on collision detection.
  • 45. Scoring and timingA score is maintained for every session of play.A record of the highest score is maintained.A timer is associated with the game.Time limit is set.
  • 46. Current and future prospects.41.2% of the internet users of India are avid gamersThere has been a rise of 89% in the number of gamers since 2007The Indian gaming industry is projected to cross 20 billion dollar net worth by 2014Windows Phone 7 which was launched in November 2009, is a potential platform for this game
  • 47. There can be multiple stages to the game added in the futureAn online leader board can be added to the gameIt can be taken to the professional scenario and can be made to have AI adaptive characteristicsPresent with a basic motive for the game, ex- to shoot 20 objects within 1 minute as the criteria for scoring valid points.To improve the Visual aspects of the game by having “Particle Explosion”, where the objects on being shot at will break up into particles of very small sizes to give a realistic feel to the game.
  • 48. REFERENCESThe following are some references that have been of great use while implementing this project:www.creators.xna.comwww.msdn.comwww.msdn.microsoft.com/en-us/library/bb197293.aspxwww.en.wikepedia.org/wiki/microsoft_xnawww.riemers.net