Adam Schaeffer Microsoft Corporation SESSION CODE: WPH307.

Slides:



Advertisements
Similar presentations
Dan Fernandez Twitter:Danielfe Blog: blogs.msdn.com/danielfe/ Clint Rutkas Twitter:ClintRutkas Blog:betterthaneveryone.com Microsoft Corporation SESSION.
Advertisements

Joe Marini Principal Program Manager, Windows Phone Microsoft Corporation SESSION CODE: WPH310.
Developing Games for Windows Phone 7 with XNA Game Studio 4.0 Your Name Here.
Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
Creating Games For Windows, Xbox 360, and Windows Phone 7 Ryan Plemons
TANDBERG Content Server January Organizational Challenges Corporations have struggled in the past:  Achieving unified communications within a global.
FireMonkey Deep Dive The Next Generation of Business Application Development.
COMPUTER PROGRAMMING 2 Chapter 7 Sound. Objectives Find out how to prepare sounds for inclusion in Microsoft XNA projects. Incorporate sounds into XNA.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
From the market leader in digital signage players
7 Windows Phone 7 2. Windows Phone 7 for Business 1. About Windows Phone 7 3. Windows Phone 7 for Consumer 4. Windows Phone 7 for the Developer Welcome.
An introduction to. Introductions  I’m Rob Fonseca-Ensor  A Solution Architect at Infusion  I run the Canary Wharf.NET User Group  I blog at
Final Presentation Spring 2003 Project ID: D0822 Project Name: WinCE integrating BT media share application Supervisor: Evgeny Rivkin Performed by: Maya.
Silverlight Development Win Phone 7 Mohammed M. Melhem Senior ICT Assistant: Application Silverlight and Win Phone.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Alexander Wechsler Wechsler Consulting GmbH & CO. KG SESSION CODE: WEM201.
Dean Paron Product Unit Manager Microsoft Corporation SESSION CODE: WSV335 © 2010 Microsoft Corporation. All rights reserved.
Developing games and applications for Xbox 360 using XNA* *XNA is XNA’s Not Acronymed An Introduction by Peter Messenger Senior Developer at QMASTOR Newcastle.
Preston VanderWeyst Software Development Engineer Microsoft Corporation SESSION CODE: WEM302.
Khalid Siddiqui Senior Architect, Mobility Center of Excellence Microsoft Corporation SESSION CODE: WPH311.
11 Games and Content Session 4.1. Session Overview  Show how games are made up of program code and content  Find out about the content management system.
CHAPTER 4 Images XNA Game Studio 4.0. Objectives Find out how the Content Manager lets you add pictures to Microsoft XNA games. Discover how pictures.
Rob Miles Microsoft MVP University of Hull Fun Programming with Visual Studio.
Getting Started. XNA Game Studio 4.0 To download XNA Game Studio 4.0 itself, go to XNA Game.
Augusto Valdez Senior Product Manager Mobile Communications Business SESSION CODE: WPH202.
Olivier Bloch Technical Evangelist Microsoft Corporation SESSION CODE: WEM307.
2 Philosophy Customer Design Experience Platform.
Developing the Game User Interface (UI) Lesson 5.
11 Adding Sounds Session 7.1. Session Overview  Find out how to capture and manipulate sound on a Windows PC  Show how sound is managed as an item of.
Microsoft Tech Days 2012 Cheezia: Developing a Windows Phone XNA Game Rodrigo Barretto Software Engineer - MCPD on Windows Phone
Dan Swett Program Manager Microsoft Corporation SESSION CODE: OSP216.
Dion Hutchings Technical Evangelist Microsoft Session Code: EMB305.
Bradley Millington Senior Program Manager Microsoft Corporation SESSION CODE: WEB 306.
XNA An Introduction. What XNA is… Microsoft® XNA™ is composed of industry- leading software, services, resources, and communities focused on enabling.
Developing ASP.NET AJAX Controls with Silverlight Barry Gervin Microsoft Regional Director John Bristowe Developer Advisor, Microsoft.
WPH310. Free Phone! Windows Phone 7 as a Game Platform Free Tools to Build Great Games The Game Loop Input on Windows Phone 7 Building a Game with Your.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Ronnie Saurenmann Principal Architect Microsoft Switzerland Silverlight 5 Advanced.
Younus Aftab Program Manager Microsoft Corporation SESSION CODE: WSV324.
Silverlight 101 Ahead! If you know Silverlight and are looking for more advanced content check out : ‘Microsoft Silverlight “Media” : Moving at 60fps’
Building Windows Phone applications with Silverlight, part 2 Peter Torr Program Manager, Microsoft
Thomas Deml Principal Program Manager Microsoft Corporation SESSION CODE: WSV317.
Drew Lytle Principal Program Manager Microsoft Corporation SESSION CODE: WPH203.
An Introduction to Developing Applications for Microsoft Silverlight Jaime Rodriguez
XNA Tutorial 1 For CS134 Lecture. Overview Some of the hard work has already been done for you. If you build and run your game now, the GraphicsDeviceManager.
John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP313.
Maarten Struys Windows Phone Evangelist Alten PTS SESSION CODE: WPH303.
Rob Tiffany Mobility Architect Microsoft Corporation SESSION CODE: WPH306.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
0 Developing for Windows 10 Tony Champion Champion DS.
Understanding Mobile Devices, Interactions, and Tools Lesson 1.
Adam Schaeffer Microsoft Corporation SESSION CODE: WPH308.
Building Windows Phone 7 Games and Applications Yes, yes! “Games and Applications” and not “Applications and Games” Content is under NDA – please do no.
Daniel Tizon Semior Consultant, Microsoft Regional Director ANURA-SOLSTEAM Développez pour Windows Phone 7.
Introducing the Windows Mobile development
The Windows Phone Application Platform
Build /24/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft Silverlight Performance on Windows Phone
Windows Phone: how to build a game
9/18/2018 7:26 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Overview of Social Computing in Microsoft SharePoint 2010
Microsoft Ignite /14/ :21 AM BRK2101
11/19/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Developing Games for Windows Phone 7 with XNA Game Studio 4.0
What’s new for Silverlight & XNA developers in Windows Phone Mango
Microsoft SharePoint Conference 2009 Jon Flanders
SharePoint 2019 Overview and Use SPFx Extensions
Presentation transcript:

Adam Schaeffer Microsoft Corporation SESSION CODE: WPH307

Windows Phone 7– A new beginning Xbox LIVE overview XNA Game Studio 4.0 Powerful, Productive, Portable XNA Framework Call to action and resources

Without Xbox LIVE You can still write and publish games for Windows Phone Create great games for marketplace We’re interested in your great games! Find a publisher! Lots to choose from!

Consistent sets of hardware capabilities defined by Microsoft Resolution Touch Input CPU / GPU RAM Hardware keyboard is optional

Modern XAML/event-driven application UI framework Rapid creation of visually rich apps HTML/Javascript Mature, robust, widely deployed technology GAMES (and applications) APPLICATIONS (and games)

Powerful Productive Portable

Makes game development easier XNA Framework provides robust APIs for games C#,.NET and Visual Studio tooling Solutions for game content processing Not an engine solution Creating Games

Develop for Windows Phone 7 Series Simplified graphics API’s Visual Studio 2010 integration Enhanced audio support New configurable effects

Powerful

Uses the.NET platform Windows Phone 7 Managed code platform, no unsafe code XNA Game Studio 4.0 is C# exclusive 800+ managed code games on XBLA/XBLIG Windows games published through portals.NET/XNA is used for games today!

Frameworks designed for performance XNA Framework designed for gaming scenarios Commitment to future of managed code No unnecessary garbage generation Math libraries optimized Efficient APIs with tuned transitions to native code Three + years of profiling and investment We’ve built for performance on Windows Phone 7

Productive

Productive development with.NET and C# High performance IDE Intellisense makes coding faster Integrated build/deploy/debug experience MSBuild engine for build automation

Manage assets in Visual Studio Importers for common game data formats Optimize data into binary format for efficient loading Fully extensible XNA Framework/Game Loop not required Content projects external in XNA Game Studio 4.0

XNA Framework

The XNA Framework Game Loop is layered on top of the Silverlight Application object on Windows Phone 7 Provides the bulk of integration of API’s Most of the XNA Framework can be accessed from Silverlight applications Including Gamer Services (Xbox LIVE) In this release some sharing/composition is not complete Scenes using GraphicsDevice from XNA Framework and UIElements from Silverlight You’ll want to choose the technology that works best for your scenarios

Graphics UI control heavy consider Silverlight Desire vector graphics in XAML Media Rich video support in application Tooling If you use Microsoft Blend in your pipeline

Graphics Using 3D graphics Sprite heavy 2D applications should consider the XNA Framework Game Loop Simulation/Drawing Those who prefer a traditional update/ draw/present frame loop Tooling Those who want to use the XNA Framework Content Pipeline graphics types

XNA Framework Game Loop Example System integration with Windows Phone 7 best practices Translated to existing XNA Framework concepts Traditional update/draw/ present frame loop Core programming model consistent with previous releases Changes implemented yield better power performance on devices protected override void Update(GameTime gameTime) { // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); // TODO: Add your update logic here base.Update(gameTime); } protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); // TODO: Add your drawing code here base.Draw(gameTime); }

Graphics

Evolution of our existing immediate mode rendering API Simplifies for resource and render state management Feature segmentation between “Reach”/“HiDef” profiles Rendering primitives 2D and 3D

New configurable effect classes on all platforms BasicEffect SkinnedEffect EnvironmentMapEffect DualTextureEffect AlphaTestEffect Custom effects not available on Windows Phone 7

Write your game without worrying about native resolution or orientation Automatic rotation between portrait and landscape Touch automatically supports both scale and orientation changes Scaler can drastically improve performance Trade off performance for “crispness” and shade fewer pixels 800x480 = 384,000 pixels, 480x320 = 153,600 pixels Upsample an arbitrary back buffer to native device resolution Far higher quality than bilinear filtering Allows for easier porting from other platforms Scaling/Rotation comes for “free” from Hardware

Audio & Media

Audio Capture Example public void EventDrivenCapture() { mic = Microphone.Default; buffer = new byte[mic.GetSampleSizeInBytes(mic.BufferDuration)]; mic.BufferReady += new EventHandler(OnBufferReady); DynamicPlayback = new DynamicSoundEffectInstance(mic.SampleRate, AudioChannels.Mono); } public void OnBufferReady(object sender, EventArgs args) { // Get the latest captured audio. int duration = mic.GetData(buffer); // Do some post-capture processing and playback. MakeMeSoundLikeARobot(buffer, duration); DynamicPlayback.SubmitBuffer(buffer); } Audio Capture and Playback Simple API to play back WAV data Modify pitch, volume, pan audio Ability to play synthesized/buffered audio Serialize captured data Provides more control over System.Media types on Windows Phone 7 Microphone/Bluetooth Support Playback through headset Capture through mic or headset Audio Playback Example // Load a sound effect from a raw stream SoundEffect effect1 = SoundEffect.FromStream(GetStreamFromTheWeb(" effect1.Play(); // Create dynamic audio on the fly byte[] fluteSound = GetFluteNote(); effect2 = new SoundEffect(fluteSound, SampleRate, AudioChannels.Stereo); SoundEffectInstance instance = effect2.CreateInstance(); instance.Pan = -1; instance.Pitch = 1.5f; instance.Play();

URI Song Playback Example Retrieve Image Data Music Enumeration and Playback // Constructs a song from a URI Uri mediaStreamUri = new Uri(" Song streamedSong = Song.FromUri("Song", mediaStreamUri); // Play the song MediaPlayer.Play(streamedSong); MediaLibrary media = new MediaLibrary(); // Get the JPEG image data Stream myJpegImage = ReadAndModifyPicture(somePicture); // Save texture to Media Library media.SavePicture("Awesome", myJpegImage); Picture Enumeration and Playback Video Playback Control and enumerate users’ media within a game Ability to play songs from URI/URL (i.e. music app) Supports photo picking/editing/publishing Uses standard video player API Show/Hide controls

Input / Touch

Touch Input Handling Cross Platform Input API Touch API Xbox 360 Controllers (Xbox/Windows) Keyboard (Xbox/Windows/Windows Phone 7) Available across platforms for portability (fewer #ifdefs) Multipoint on Windows Phone 7 and Windows Orientation and resolution aware Developer can override var touchCollection = TouchPanel.GetState(); //... foreach (var touchLocation in touchCollection) { if (touchLocation.State == TouchLocationState.Released) { //... }

Sensors

Accelerometer Example VibrationExample Leverage Platform Features on Windows Phone 7 Location Accelerometer Vibration Accelerometer accelerometer = new Accelerometer(); accelerometer.ReadingChanged += AccelerometerReadingChanged; accelerometer.Start(); VibrateController rumbler; rumbler.Start(TimeSpan.FromSeconds(2));

Xbox LIVE

Windows Phone 7 OS Xbox LIVE Gamer Services HTTPHTTP InvitesInvites Profile Achieve- ments Leader- boards Trial Mode PushPush AvatarsAvatars

Read a Player’s Profile // Profile access SignedInGamer gamer = Gamer.SignedInGamers[0]; // Get the player's GamerTag to display string gamerTag = gamer.Gamertag; // A SignedInGamer has a Profile GamerProfile profile = gamer.GetProfile(); // Get the player's current GamerScore int gamerScore = profile.GamerScore; // get the gamer picture (PNG file stream) Stream gamerPictureStream = profile.GamerPicture;

Award an Achievement // Award an achievement SignedInGamer gamer = Gamer.SignedInGamers[0]; gamer.AwardAchievement("Attended TechEd 2010"); Read Achievements // Get achievements AchievementCollection achievements = gamer.GetAchievements(); // walk through achievements foreach (Achievement a in achievements) { string name = a.Name; string description = a.Description; bool earned = a.IsEarned; int score = a.GamerScore; Stream icon = a.Picture; }

Write to a Leaderboard // Create leaderboard identity with game mode 1 LeaderboardIdentity id = LeaderboardIdentity.Create(LeaderboardKey.BestScoreLifeTime, 1); // get the leaderboard writer from the signed in gamer LeaderboardWriter writer = gamer.LeaderboardWriter; // get the leaderboard entry for the identity LeaderboardEntry entry = writer.GetLeaderboard(id); // write new leaderboard data entry.Rating = 1000; entry.columns.SetValue("Outcome", LeaderboardOutcome.Win); Read From a Leaderboard // Read from leaderboard with page size of 10 LeaderboardReader reader = LeaderboardReader.Read(id, gamer, 10); foreach (LeaderboardEntry e in reader.Entries) { // score or time, as defined by identity. Rating determines rank. long rating = e.Rating; // read additional column data long wins = e.Columns.GetValueInt64("Wins"); Stream blob = e.Columns.GetValueStream("Blob"); } reader.PageDown();

Trial Mode Guide.SimulateTrialMode = true; // if we are in trial mode, show a marketplace offering if (Guide.IsTrialMode) { PlayerIndex playerIndex = Gamer.SignedInGamers[0].PlayerIndex; Guide.ShowMarketplace(playerIndex); }

Portable

XNA Framework designed to be cross platform Smaller time investment and target more sockets Project synchronization between platforms

HiDef Reach Designed for compatibility across screens/devices This profile includes Windows Phone 7 Platform showcase features Xbox 360/Windows Only

Summary Powerful Productive Portable Great managed code games, working today Windows Phone provides a powerful platform for gaming Focus on being a game developer Great tools make you more productive Target more platforms easily Focus on your game differences, not the technology

Call to Action Download the Windows Phone Developer Tools Create awesome games!

Hundreds of samples Lots of MVPs and experts to help you get started XNA Creators Team Shawn (Great Tech Info!) On the web : Peer Blogs Contact Microsoft

Monday WPH202Deploying Windows Phone 7 with Exchange Server and SharePoint Server WPH301WP7: Deploy Microsoft Forefront Unified Access Gateway for Access Control to SharePoint, Exchange and more. Tuesday WPH302Overview of the Windows Phone 7 Application Platform WPH313Windows Phone 7 Architecture Deep Dive WPH304An In-Depth view at Building Applications for WP7 with Silverlight (Part 1) WPH305An In-Depth view at Building Applications for WP7 with Silverlight (Part 2) WPH306Developing Occasionally Connected Applications for Windows Phone 7

Wednesday WPH310Designing and Developing for the Rich Mobile Web WPH311Developing Mobile Code Today that will run on WP 7 Tomorrow WPH309Silverlight performance on Windows Phone WPH307Building Windows Phone Games with XNA WPH308Building a High Performance 3D Game for Windows Phone Thursday WPH303Understanding the Windows Phone 7 Development Tools WPH314Learn Windows Phone 7 Development by Creating a Robotic T-Shirt Cannon WPH312Understanding Marketplace and Making Money with WP7 Applications

* Restrictions apply please see contest rules for eligibility and restrictions. Contest rules are displayed in the Technical Learning Center at the WPH info counter.

Monday WPH301WP7: Deploy Microsoft Forefront Unified Access Gateway for Access Control to SharePoint, Exchange and more. WPH202Deploying Windows Phone 7 with Exchange Server and SharePoint Server Tuesday WPH203Overview of the Windows Phone 7 Application Platform WPH313Windows Phone 7 Architecture Deep Dive WPH304An In-Depth view at Building Applications for WP7 with Silverlight (Part 1) WPH305An In-Depth view at Building Applications for WP7 with Silverlight (Part 2) WPH306Developing Occasionally Connected Applications for Windows Phone 7

Wednesday WPH310Designing and Developing for the Rich Mobile Web WPH311Developing Mobile Code Today that will run on WP 7 Tomorrow WPH309Silverlight performance on Windows Phone WPH307Building Windows Phone Games with XNA WPH308Building a High Performance 3D Game for Windows Phone Thursday WPH303Understanding the Windows Phone 7 Development Tools WPH314Learn Windows Phone 7 Development by Creating a Robotic T-Shirt Cannon WPH312Understanding Marketplace and Making Money with WP7 Applications

Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31 st You can also register at the North America 2011 kiosk located at registration Join us in Atlanta next year