creating a game using microsoft’s next generation technologies
TRANSCRIPT
![Page 1: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/1.jpg)
![Page 2: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/2.jpg)
Creating a GameUsing Microsoft’s Next Generation Technologies (lvl. 300)
Tamir Khason and Alex [email protected] | [email protected]
![Page 3: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/3.jpg)
![Page 4: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/4.jpg)
In 1 hour we will try to create…• The Street Racing Game• … which is network multiplayer game• … that runs on XBOX• … and personal computer• … with WPF• … in web browser (later iSmoke will
come)• … also it runs on Linux• … and on mobile phone
![Page 5: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/5.jpg)
Now the time for…
• The Street Racing Game• … which is network multiplayer game• … that runs on XBOX• … and personal computer• … with WPF• … in web browser (later iSmoke will
come)• … also it runs on Linux• … and on mobile phone
![Page 6: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/6.jpg)
XNA FrameworkOverview
Core FrameworkCore FrameworkCore FrameworkCore Framework
GraphicsGraphicsGraphicsGraphics AudioAudioAudioAudio InputInputInputInput MathMathMathMath StorageStorageStorageStorage
NetworkingNetworking Gamer ServicesGamer Services
Extended FrameworkExtended FrameworkExtended FrameworkExtended Framework
Application ModelApplication ModelApplication ModelApplication Model Content PipelineContent PipelineContent PipelineContent Pipeline
GamesGamesGamesGames
Starter KitsStarter KitsStarter KitsStarter KitsYour CodeYour CodeYour CodeYour Code Your ContentYour ContentYour ContentYour Content ComponentsComponentsComponentsComponents
PlatformPlatformPlatformPlatform
DirectXDirectXDirectXDirectX XDKXDKXDKXDK .NET Framework.NET Framework.NET Framework.NET Framework .NET CF.NET CF.NET CF.NET CF
NetworkingNetworkingNetworkingNetworking Gamer ServicesGamer ServicesGamer ServicesGamer Services
![Page 7: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/7.jpg)
Let’s see XNA application creation
![Page 8: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/8.jpg)
Now the time for…
• The Street Racing Game• … which is network multiplayer game• … that runs on XBOX• … and personal computer• … with WPF• … in web browser (later iSmoke will
come)• … also it runs on Linux• … and on mobile phone
![Page 9: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/9.jpg)
Now, we’ll make it better
Core FrameworkCore FrameworkCore FrameworkCore Framework
PlatformPlatformPlatformPlatform
DirectXDirectXDirectXDirectX XDKXDKXDKXDK .NET Framework.NET Framework.NET Framework.NET Framework .NET CF.NET CF.NET CF.NET CF
NetworkingNetworkingNetworkingNetworking
Gamer ServicesGamer ServicesGamer ServicesGamer Services
WPF Base WPF Base ServicesServices
Input & EventingInput & Eventing
AccessibilityAccessibility
XAMLXAML
Data BindingData Binding
User Interface ServicesUser Interface Services
LayoutLayout
ControlsControlsApplication servicesApplication services
Deployment servicesDeployment services
AudioAudioAudioAudio
DataData
LINQLINQ XLINQXLINQ
![Page 10: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/10.jpg)
XNA Part harvesting
• Add XNA references• Wrap Game class• Check whether the
player is logged in• …and show login
panel if not• Seek for active
session• …and join it when
found
![Page 11: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/11.jpg)
XNA Part transplantation
• Create new game instance
• XNA services and components
• Subscribe to game events
• Run the game
![Page 12: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/12.jpg)
XAML/WPF implantation
• Create regular WPF Window
• Create vector map and car
• Bind to resources
• And handle user’s input
![Page 13: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/13.jpg)
WPF implantation
• Create data dependency object, wraps XNA transplants
• Mark roads on XAML vectors
• Now we can find it by using LINQ
• And even check bounds
![Page 14: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/14.jpg)
Let’s see it running as WPF application with XNA implants
![Page 15: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/15.jpg)
Now the time for…
• The Street Racing Game• … which is network multiplayer game• … that runs on XBOX• … and personal computer• … with WPF• … in web browser (later iSmoke will
come)• … also it runs on Linux• … and on mobile phone
![Page 16: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/16.jpg)
But I want it anywhere!
Core FrameworkCore FrameworkCore FrameworkCore Framework
PlatformPlatformPlatformPlatform
DirectXDirectXDirectXDirectX XDKXDKXDKXDK .NET Framework.NET Framework.NET Framework.NET Framework .NET CF.NET CF.NET CF.NET CF
NetworkingNetworkingNetworkingNetworking
Gamer ServicesGamer ServicesGamer ServicesGamer Services
WPF Base WPF Base ServicesServices
Input & EventingInput & Eventing
AccessibilityAccessibility
XAMLXAML
Data BindingData Binding
User Interface ServicesUser Interface Services
LayoutLayout
ControlsControlsApplication servicesApplication services
Deployment servicesDeployment services
AudioAudioAudioAudio
DataData
LINQLINQ XLINQXLINQ
![Page 17: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/17.jpg)
WPF Parts harvesting
• Harvest XAML “as is”
• Add small Silverlight
• Put it into ASP.NET AJAX page
• …and connect it to XAML based “server”
![Page 18: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/18.jpg)
ASP.NET AJAX implantation
• Create Web Method to return current players list
• Access the method from ASP.NET page with circular timer
• …and update current players’ positions in XAML scene
![Page 19: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/19.jpg)
Silverlight 1.0 implantation
• Create XAML object in JavaScript
• Create and add it to the Silverlight scene
• …and update it’s properties from JavaScript, based on server side variables
![Page 20: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/20.jpg)
Let’s see it playing together
![Page 21: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/21.jpg)
Will it blend on… ?
![Page 22: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/22.jpg)
Now the time for…
• The Street Racing Game• … which is network multiplayer game• … that runs on XBOX• … and personal computer• … with WPF• … in web browser (later iSmoke will
come)• … also it runs on Linux• … and on mobile phone
![Page 23: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/23.jpg)
Let’s see the game on … Linux
![Page 24: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/24.jpg)
Now the time for…
• The Street Racing Game• … which is network multiplayer game• … that runs on XBOX• … and personal computer• … with WPF• … in web browser (later iSmoke will
come)• … also it runs on Linux• … and on mobile phone
![Page 25: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/25.jpg)
… and now on … mobile phone
![Page 26: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/26.jpg)
Now the time for…
• The Street Racing Game• … which is network multiplayer game• … that runs on XBOX• … and personal computer• … with WPF• … in web browser (later iSmoke will
come)• … also it runs on Linux• … and on mobile phone
![Page 27: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/27.jpg)
At the end – what others do?
![Page 28: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/28.jpg)
Resources
• Tamir’s bloghttp://blogs.microsoft.co.il/blogs/tamir
• Alex’s bloghttp://blogs.microsoft.co.il/blogs/alex_golesh
• XNA / WPF / Silverlight resources http://xna.com http://windowsclient.net http://silverlight.net
• Next sessions in TechEd IsraelDEV350 - The Hitchhiker's Guide to WPF Data Binding (Tomer Shamam)DEV432 - Building Composite WPF Applications Using Project Codename Prism (Glenn Block, Ohad Israeli)
![Page 29: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/29.jpg)
כדאי למלא משוב!איך ממלאים?
בעקבות מייל שישלח בסיום כל יום,•, HP במתחם Business Centerב-•בעמדות האינטרנט במלונות הילטון ודן•
!Live Itמילאת משוב? מגיעה לך חולצת מלאת משוב בשלושת ימי הכנס?
מתנת כרטיס טיסה לתאילנד יש לך הזדמנות לזכות במכשיר מתנת סמסונג, מכשיר בלאק ג'ק , BTCסוכנות
HTC ,מתנת מדיה סנטר מתנת ניופאןDataSafe...ועוד
![Page 30: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/30.jpg)
![Page 31: Creating A Game Using Microsoft’s Next Generation Technologies](https://reader035.vdocuments.mx/reader035/viewer/2022081603/55860316d8b42a90638b463d/html5/thumbnails/31.jpg)
© 2007 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.