GALACTIC WARSOUR MENTOR:
Ms. Anshu Khurana
TEAM MEMBERS:
Mohit NagpalSohil Gupta
Gaurav AgarwalPranav 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 XNA XNA 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 FUNCTIONALITIES Single 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.
At Every Refresh Rate
Initialize
Method Call
Load
Method Call
Update
Method Call
Draw
Method Call
Unload
Method Call
End
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 GAME LoadContent() The LoadContent method is where you load
any necessary game assets such as : Models Textures. Audios This 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 GAME UnloadContent()
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 GAME Update() 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 GAME Draw() 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 XNA XNA has a specific class model By 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.
ALGORITHM1. Initialize audio engine, wave bank, sound
bank, and other variables2. Load all Models3. Set Textures4. Load fonts5. Create menuMain6. Add items: NewGame and Exit to Windows
in menuMain7. Create menuNewGame8. Add Items, start new game, back to main
qindow9. For(each refresh frame)
ALGORITHM10. Update :- keys state, mouse state,
muzzleposition11. If(input)12. Firemissile, updatemissile13. Check collisiom14. If collision.occur15. Add Explosion16. Add Explosionpartical17. Update particle18. For (each frame refresh rate)
ALGORITHM19. Draw20. For(all Game object)21. Draw GameObject22. If(collision occur)23. Draw Explosion24. Display score and time25. If time>Max_time then end.
COLLISION DETECTION With 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 IMPLEMENTATION We have our game designed in three
different aspects as three different portions. We explain each of these as follows:
PHASE 1
This 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 texturesA moving Aero plane, motion can be controlled by inputRandomly moving objectsDetection of collision on aero plane and objects
PHASE 2
This 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 trackpadFour wall boundary Detection of collision of ball and boundary Inclusion of sounds
PHASE 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 padRandomly moving objects in spaceFiring of missileDetecting collision of missile with objectsDisplaying Score Updating timeMaintaining High Scores
SIMPLIFIED ENVIRONMENT
The 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.
Some of the features it includes are:
Restart of the game Crashing with
asteroids Vanishing of
spacecraft on hitting an asteroid
Random entry and movement of asteroids
Controlled, accelerated and directed movement of the spacecraft
Ability to undo an action by reverting back to initial position
Sound effects associated with crashes
TRACKPAD SIMULATION
Track pad version of the game on a lower scale having a ball being navigated and accelerated with the help of the trackpad.
The ball can be moved in various directions as guided by the track pad
Based on the speed of the movement in track pad, the speed of the ball is decided
When the ball hits or crashes with the walls of the window, it alerts the user by setting off an alarm associated with it.
FINAL GAME ENVIRONMENT
The 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.
MENU WINDOW
This window has 2 menu options.User can Start a new game.He can exit the game.
OPTION MENUUser can select difficulty level as easy or hard.He can also go back to the main menu.
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.
FIRING
The player can set the direction of the missile to shoot the objects.
COLLISION AND SMOKE
Collision is detected by bounding sphere conditions and smoke model is shown on collision detection.
SCORING AND TIMING A 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.
CURRENT AND FUTURE PROSPECTS. 41.2% of the internet users of India are
avid gamers There has been a rise of 89% in the
number of gamers since 2007 The Indian gaming industry is projected
to cross 20 billion dollar net worth by 2014
Windows Phone 7 which was launched in November 2009, is a potential platform for this game
There can be multiple stages to the game added in the future
An online leader board can be added to the game
It can be taken to the professional scenario and can be made to have AI adaptive characteristics
Present 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.
REFERENCESThe following are some references that
have been of great use while implementing this project:
1. www.creators.xna.com2. www.msdn.com3. www.msdn.microsoft.com/en-us/
library/bb197293.aspx4. www.en.wikepedia.org/wiki/
microsoft_xna5. www.riemers.net
THANK YOU