XNA L01–Introduction

946 views
820 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
946
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
50
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

XNA L01–Introduction

  1. 1. Mohammad Shaker mohammadshaker.com @ZGTRShaker 2011, 2012, 2013, 2014 XNA Game Development L01 – Introduction
  2. 2. LUBZHTM
  3. 3. References
  4. 4. References of this Course • Books – All of previous slide • Web sites – Many of them! • http://www.riemers.net/ • http://rbwhitaker.wikidot.com/xna-tutorials (very good one)
  5. 5. Take a Look on XNA and My Other Courses @ http://www.slideshare.net/ZGTRZGTR and @ http://mohammadshaker.com/ Available courses to the date of this slide:
  6. 6. Explore My Authoring tool for Cut the Rope! A Full implementation of a clone of Cut the Rope for Research Purposes
  7. 7. Procedurally Generating Endless Levels for Cut the Rope Game
  8. 8. Is an Ongoing Research Project Find out more on my recent publication in: http://mohammadshakergtr.wordpress.com/publication/
  9. 9. Graphics Engine Implemented in XNA Watch trailers: http://www.youtube.com/watch?v=FM3v0tbdKrs http://www.youtube.com/watch?v=NRWEhsFGVgE http://www.youtube.com/watch?v=hRxOINEO9fc
  10. 10. So let’s create sth awesome!
  11. 11. XNA! XNA
  12. 12. XNA!XNA Mobile
  13. 13. XNA!XNA Mobile
  14. 14. Xbox LIVE Hub
  15. 15. XNA Game Studio 4.0 • Powerful platform – Managed code platform, no unsafe code – XNA Game Studio 4.0 is C# exclusive – Performance – Productivity • The XNA Framework – Game Loop – Graphics – Audio and Media • MicBluetooth • Music • Photos and Video – Input • TouchJoystick – Sensors • Silverlight • Accelorometer – Target Platforms • Windows Phone Xbox PC • Faaaaaaaaaaast Developement
  16. 16. Our Course!
  17. 17. Our Course • Slides • References • Appendix (Apps, Media, Resources, …etc) • Quizzes
  18. 18. Image from ebwitiker
  19. 19. New XNA Project! • Content Pipeline
  20. 20. New XNA Project! • Content Manager & The Content Pipeline Content Type File Types 3D Models .x,.fbx Textures/Images .bmp,.dds,.dib,.hdr,.jpg,.pfm,.png,.ppm,.tga Audio .xap (an XACT audio project),.wma,.mp3,.wav Fonts .spritefont Effects .fx
  21. 21. New XNA Project! • Content Pipeline
  22. 22. New XNA Project! • Content Pipeline
  23. 23. New XNA Project! • Content Pipeline, So easy to handle! • Loading! • Unloading Texture2D image = Content.Load<Texture2D>("FullLogo"); Content.Unload();
  24. 24. New XNA Project! Creating a new project!
  25. 25. Initialize LoadContent UnloadContent Update Draw Game1 XNA Game1 Class / Execution Order
  26. 26. New XNA Project! • Game1() – Class “Game1” constructor Initialize LoadContent UnloadContent Update Draw Game1
  27. 27. New XNA Project! • Initialize() – Allows the game to perform any initialization it needs to before starting to run. – This is where it can query for any required services and load any non-graphic related content. Calling base.Initialize will enumerate through any component and initialize them as well. Initialize LoadContent UnloadContent Update Draw Game1
  28. 28. New XNA Project! • LoadContent() – LoadContent will be called once per game and is the place to load all of your content. Initialize LoadContent UnloadContent Update Draw Game1
  29. 29. New XNA Project! • UnloadContent() – UnloadContent will be called once per game and is the place to unload all content. Initialize LoadContent UnloadContent Update Draw Game1
  30. 30. New XNA Project! • Update(GameTime gameTime)* – Allows the game to run logic such as updating the world, checking for collisions, gathering input, and playing audio. • Draw(GameTime gameTime)* • This is called when the game should draw itself. * “gameTime” Provides a snapshot of timing values. Initialize LoadContent UnloadContent Update Draw Game1
  31. 31. How “Game-Engine” works?!
  32. 32. New XNA Project! How XNA functions (Game1 Functions) they called?! Initialize LoadContent UnloadContent Update Draw Game1
  33. 33. Initialize LoadContent UnloadContent Update Draw Game1
  34. 34. Initialize LoadContent UnloadContent Update Draw Game1
  35. 35. Initialize LoadContent UnloadContent Update Draw Game1
  36. 36. Initialize LoadContent UnloadContent Update Draw Game1
  37. 37. Initialize LoadContent UnloadContent Update Draw Game1
  38. 38. Initialize LoadContent UnloadContent Update Draw Game1
  39. 39. Initialize LoadContent UnloadContent Update Draw Game1
  40. 40. Initialize LoadContent UnloadContent Update Draw Game1
  41. 41. Update() vs. Draw()
  42. 42. Update() vs. Draw() • Update and Draw are called at different rates depending on whether IsFixedTimeStep is true or false. – If IsFixedTimeStep is false, Update and Draw will be called in a continuous loop. – If IsFixedTimeStep is true, Update will be called at the interval specified in TargetElapsedTime, while Draw will only be called if an Update is not due. – If Draw is not called, IsRunningSlowly will be set to true. Find out more @ http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.game.update.aspx
  43. 43. 3D World
  44. 44. 3D World
  45. 45. 3D World
  46. 46. Take a Look on my other courses @ http://www.slideshare.net/ZGTRZGTR Available courses to the date of this slide:
  47. 47. http://www.mohammadshaker.com mohammadshakergtr@gmail.com https://twitter.com/ZGTRShaker @ZGTRShaker https://de.linkedin.com/pub/mohammad-shaker/30/122/128/ http://www.slideshare.net/ZGTRZGTR https://www.goodreads.com/user/show/11193121-mohammad-shaker https://plus.google.com/u/0/+MohammadShaker/ https://www.youtube.com/channel/UCvJUfadMoEaZNWdagdMyCRA http://mohammadshakergtr.wordpress.com/

×