31

Creating A Game Using Microsoft’s Next Generation Technologies

Embed Size (px)

Citation preview

Page 1: Creating A Game Using Microsoft’s Next Generation Technologies
Page 2: Creating A Game Using Microsoft’s Next Generation Technologies

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
Page 4: Creating A Game Using Microsoft’s Next Generation Technologies

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

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

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

Let’s see XNA application creation

Page 8: Creating A Game Using Microsoft’s Next Generation Technologies

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

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

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

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

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

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

Let’s see it running as WPF application with XNA implants

Page 15: Creating A Game Using Microsoft’s Next Generation Technologies

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

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

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

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

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

Let’s see it playing together

Page 21: Creating A Game Using Microsoft’s Next Generation Technologies

Will it blend on… ?

Page 22: Creating A Game Using Microsoft’s Next Generation Technologies

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

Let’s see the game on … Linux

Page 24: Creating A Game Using Microsoft’s Next Generation Technologies

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

… and now on … mobile phone

Page 26: Creating A Game Using Microsoft’s Next Generation Technologies

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

At the end – what others do?

Page 28: Creating A Game Using Microsoft’s Next Generation Technologies

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

כדאי למלא משוב!איך ממלאים?

בעקבות מייל שישלח בסיום כל יום,•, HP במתחם Business Centerב-•בעמדות האינטרנט במלונות הילטון ודן•

!Live Itמילאת משוב? מגיעה לך חולצת מלאת משוב בשלושת ימי הכנס?

מתנת כרטיס טיסה לתאילנד יש לך הזדמנות לזכות במכשיר מתנת סמסונג, מכשיר בלאק ג'ק , BTCסוכנות

HTC ,מתנת מדיה סנטר מתנת ניופאןDataSafe...ועוד

Page 30: Creating A Game Using Microsoft’s Next Generation Technologies
Page 31: Creating A Game Using Microsoft’s Next Generation Technologies

© 2007 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.