Creating A Game Using Microsoft’s Next Generation Technologies

Post on 21-Jun-2015

1.486 views 1 download

Tags:

Transcript of Creating A Game Using Microsoft’s Next Generation Technologies

Creating a GameUsing Microsoft’s Next Generation Technologies (lvl. 300)

Tamir Khason and Alex Goleshtamir@khason.biz | alexg@sela.co.il

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

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

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

Let’s see XNA application creation

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

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

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

XNA Part transplantation

• Create new game instance

• XNA services and components

• Subscribe to game events

• Run the game

XAML/WPF implantation

• Create regular WPF Window

• Create vector map and car

• Bind to resources

• And handle user’s input

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

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

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

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

WPF Parts harvesting

• Harvest XAML “as is”

• Add small Silverlight

• Put it into ASP.NET AJAX page

• …and connect it to XAML based “server”

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

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

Let’s see it playing together

Will it blend on… ?

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

Let’s see the game on … Linux

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

… and now on … mobile phone

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

At the end – what others do?

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)

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

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

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

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

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

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