Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Creating A Game Using Microsoft’s Next Generation Technologies

1,669 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Creating A Game Using Microsoft’s Next Generation Technologies

  1. 2. Creating a Game Using Microsoft’s Next Generation Technologies (lvl. 300) Tamir Khason and Alex Golesh [email_address] | [email_address]
  2. 4. In 1 hour we will try to create… <ul><li>The Street Racing Game </li></ul><ul><li>… which is network multiplayer game </li></ul><ul><li>… that runs on XBOX </li></ul><ul><li>… and personal computer </li></ul><ul><li>… with WPF </li></ul><ul><li>… in web browser (later iSmoke will come) </li></ul><ul><li>… also it runs on Linux </li></ul><ul><li>… and on mobile phone </li></ul>
  3. 5. Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>… which is network multiplayer game </li></ul><ul><li>… that runs on XBOX </li></ul><ul><li>… and personal computer </li></ul><ul><li>… with WPF </li></ul><ul><li>… in web browser (later iSmoke will come) </li></ul><ul><li>… also it runs on Linux </li></ul><ul><li>… and on mobile phone </li></ul>
  4. 6. XNA Framework Overview Core Framework Graphics Audio Input Math Storage Extended Framework Application Model Content Pipeline Games Starter Kits Your Code Your Content Components Platform DirectX XDK .NET Framework .NET CF Networking Gamer Services Networking Gamer Services
  5. 7. Let’s see XNA application creation
  6. 8. Game Theory Level Level Level Level Level Load Content Update Draw
  7. 9. XNA Game <ul><li>Main game class should derive from Microsoft.Xna.Framework.Game </li></ul><ul><li>Class constructor should initialize graphics and other components game need </li></ul><ul><li>Networking – Session Creation </li></ul>Graphics Networking Components Audio Gamer Services
  8. 10. LoadContent/Update/Draw <ul><li>LoadContent </li></ul><ul><li>Update (occurs 60 times per second) </li></ul><ul><li>After this stage Draw being executed </li></ul>
  9. 11. Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>… which is network multiplayer game </li></ul><ul><li>… that runs on XBOX </li></ul><ul><li>… and personal computer </li></ul><ul><li>… with WPF </li></ul><ul><li>… in web browser (later iSmoke will come) </li></ul><ul><li>… also it runs on Linux </li></ul><ul><li>… and on mobile phone </li></ul>
  10. 12. Now, we’ll make it better Core Framework Platform DirectX XDK .NET Framework .NET CF Networking Gamer Services WPF Base Services User Interface Services Audio Input & Eventing Accessibility XAML Data Binding Layout Controls Application services Deployment services Data LINQ XLINQ
  11. 13. XNA Part harvesting <ul><li>Add XNA references </li></ul><ul><li>Wrap Game class </li></ul><ul><li>Check whether the player is logged in </li></ul><ul><li>… and show login panel if not </li></ul><ul><li>Seek for active session </li></ul><ul><li>… and join it when found </li></ul>
  12. 14. XNA Part transplantation <ul><li>Create new game instance </li></ul><ul><li>XNA services and components </li></ul><ul><li>Subscribe to game events </li></ul><ul><li>Run the game </li></ul>
  13. 15. XAML/WPF implantation <ul><li>Create regular WPF Window </li></ul><ul><li>Create vector map and car </li></ul><ul><li>Bind to resources </li></ul><ul><li>And handle user’s input </li></ul>
  14. 16. WPF implantation <ul><li>Create data dependency object, wraps XNA transplants </li></ul><ul><li>Mark roads on XAML vectors </li></ul><ul><li>Now we can find it by using LINQ </li></ul><ul><li>And even check bounds </li></ul>
  15. 17. Let’s see it running as WPF application with XNA implants
  16. 18. Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>… which is network multiplayer game </li></ul><ul><li>… that runs on XBOX </li></ul><ul><li>… and personal computer </li></ul><ul><li>… with WPF </li></ul><ul><li>… in web browser (later iSmoke will come) </li></ul><ul><li>… also it runs on Linux </li></ul><ul><li>… and on mobile phone </li></ul>
  17. 19. But I want it anywhere! Core Framework Platform DirectX XDK .NET Framework .NET CF Networking Gamer Services WPF Base Services User Interface Services Audio Input & Eventing Accessibility XAML Data Binding Layout Controls Application services Deployment services Data LINQ XLINQ
  18. 20. WPF Parts harvesting <ul><li>Harvest XAML “as is” </li></ul><ul><li>Add small Silverlight </li></ul><ul><li>Put it into ASP.NET AJAX page </li></ul><ul><li>… and connect it to XAML based “server” </li></ul>
  19. 21. ASP.NET AJAX implantation <ul><li>Create Web Method to return current players list </li></ul><ul><li>Access the method from ASP.NET page with circular timer </li></ul><ul><li>… and update current players’ positions in XAML scene </li></ul>
  20. 22. Silverlight 1.0 implantation <ul><li>Create XAML object in JavaScript </li></ul><ul><li>Create and add it to the Silverlight scene </li></ul><ul><li>… and update it’s properties from JavaScript, based on server side variables </li></ul>
  21. 23. Let’s see it playing together
  22. 24. Will it blend on… ?
  23. 25. Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>… which is network multiplayer game </li></ul><ul><li>… that runs on XBOX </li></ul><ul><li>… and personal computer </li></ul><ul><li>… with WPF </li></ul><ul><li>… in web browser (later iSmoke will come) </li></ul><ul><li>… also it runs on Linux </li></ul><ul><li>… and on mobile phone </li></ul>
  24. 26. Let’s see the game on … Linux
  25. 27. Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>… which is network multiplayer game </li></ul><ul><li>… that runs on XBOX </li></ul><ul><li>… and personal computer </li></ul><ul><li>… with WPF </li></ul><ul><li>… in web browser (later iSmoke will come) </li></ul><ul><li>… also it runs on Linux </li></ul><ul><li>… and on mobile phone </li></ul>
  26. 28. … and now on … mobile phone
  27. 29. Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>… which is network multiplayer game </li></ul><ul><li>… that runs on XBOX </li></ul><ul><li>… and personal computer </li></ul><ul><li>… with WPF </li></ul><ul><li>… in web browser (later iSmoke will come) </li></ul><ul><li>… also it runs on Linux </li></ul><ul><li>… and on mobile phone </li></ul>
  28. 30. At the end – what others do?
  29. 31. Resources <ul><li>Tamir’s blog http://blogs.microsoft.co.il/blogs/tamir </li></ul><ul><li>Alex’s blog http://blogs.microsoft.co.il/blogs/alex_golesh </li></ul><ul><li>XNA / WPF / Silverlight resources http://xna.com http://windowsclient.net http://silverlight.net </li></ul><ul><li>Next sessions in TechEd Israel DEV350 - The Hitchhiker's Guide to WPF Data Binding (Tomer Shamam) DEV432 - Building Composite WPF Applications Using Project Codename Prism (Glenn Block, Ohad Israeli) </li></ul>
  30. 32. כדאי למלא משוב ! <ul><li>איך ממלאים ? </li></ul><ul><li>בעקבות מייל שישלח בסיום כל יום , </li></ul><ul><li>ב - Business Center במתחם HP , </li></ul><ul><li>בעמדות האינטרנט במלונות הילטון ודן </li></ul>מילאת משוב ? מגיעה לך חולצת Live It ! מלאת משוב בשלושת ימי הכנס ? יש לך הזדמנות לזכות ב כרטיס טיסה לתאילנד מתנת סוכנות BTC , מכשיר בלאק ג ' ק מתנת סמסונג , מכשיר HTC מתנת ניופאן , מדיה סנטר מתנת DataSafe ועוד ...
  31. 34. © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

×