Creating a Game Using Microsoft’s Next Generation Technologies (lvl. 300) Tamir Khason and Alex Golesh [email_address]   |...
 
In 1 hour we will try to create… <ul><li>The Street Racing Game </li></ul><ul><li>…  which is network multiplayer game </l...
Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>…  which is network multiplayer game </li></ul><ul><li>...
XNA Framework Overview Core Framework Graphics Audio Input Math Storage Extended Framework Application Model Content Pipel...
Let’s see XNA application creation
Game Theory Level Level Level Level Level Load Content Update Draw
XNA Game <ul><li>Main game class should derive from Microsoft.Xna.Framework.Game </li></ul><ul><li>Class constructor shoul...
LoadContent/Update/Draw <ul><li>LoadContent </li></ul><ul><li>Update (occurs 60 times per second) </li></ul><ul><li>After ...
Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>…  which is network multiplayer game </li></ul><ul><li>...
Now, we’ll make it better Core Framework Platform DirectX XDK .NET Framework .NET CF Networking Gamer Services WPF Base Se...
XNA Part harvesting <ul><li>Add XNA references </li></ul><ul><li>Wrap Game class </li></ul><ul><li>Check whether the playe...
XNA Part transplantation  <ul><li>Create new game instance  </li></ul><ul><li>XNA services and components </li></ul><ul><l...
XAML/WPF implantation  <ul><li>Create regular WPF Window </li></ul><ul><li>Create vector map and car </li></ul><ul><li>Bin...
WPF implantation <ul><li>Create data dependency object, wraps XNA  transplants </li></ul><ul><li>Mark roads on XAML vector...
Let’s see it running as WPF application with XNA implants
Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>…  which is network multiplayer game </li></ul><ul><li>...
But I want it anywhere! Core Framework Platform DirectX XDK .NET Framework .NET CF Networking Gamer Services WPF Base Serv...
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 implantation <ul><li>Create Web Method to return current players list </li></ul><ul><li>Access the method fro...
Silverlight 1.0 implantation <ul><li>Create XAML object in JavaScript </li></ul><ul><li>Create and add it to the Silverlig...
Let’s see it playing together
Will it blend on… ?
Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>…  which is network multiplayer game </li></ul><ul><li>...
Let’s see the game on … Linux
Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>…  which is network multiplayer game </li></ul><ul><li>...
…  and now on … mobile phone
Now the time for… <ul><li>The Street Racing Game </li></ul><ul><li>…  which is network multiplayer game </li></ul><ul><li>...
At the end – what others do?
Resources <ul><li>Tamir’s blog http://blogs.microsoft.co.il/blogs/tamir   </li></ul><ul><li>Alex’s blog http://blogs.micro...
כדאי למלא משוב ! <ul><li>איך ממלאים ? </li></ul><ul><li>בעקבות מייל שישלח בסיום כל יום , </li></ul><ul><li>ב - Business Ce...
 
© 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES N...
Upcoming SlideShare
Loading in …5
×

Creating A Game Using Microsoft’s Next Generation Technologies

1,600 views
1,539 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,600
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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.

    ×