microsoft tech days 2012 cheezia developing a windows phone xna game
Download
Skip this Video
Download Presentation
Microsoft Tech Days 2012 Cheezia : Developing a Windows Phone XNA Game

Loading in 2 Seconds...

play fullscreen
1 / 16

Microsoft Tech Days 2012 Cheezia : Developing a Windows Phone XNA Game - PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on

Microsoft Tech Days 2012 Cheezia : Developing a Windows Phone XNA Game. Rodrigo Barretto Software Engineer - MCPD on Windows Phone [email protected] http://www.attido.com. Agenda . Cheezia XNA Overview Game State Management Input Handling Update Method Draw Method

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Microsoft Tech Days 2012 Cheezia : Developing a Windows Phone XNA Game' - yamin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
microsoft tech days 2012 cheezia developing a windows phone xna game

Microsoft Tech Days 2012Cheezia: Developing a Windows Phone XNA Game

Rodrigo Barretto

Software Engineer - MCPD on Windows Phone

[email protected]

http://www.attido.com

agenda
Agenda
  • Cheezia
  • XNA Overview
  • Game State Management
  • Input Handling
  • Update Method
  • Draw Method
  • Sound Effects
  • Configuration Files as Resources
  • Tombstoning
  • Configuring Metadata Files
  • References

2

cheezia
Cheezia
  • Puzzle / Reaction game
  • Originally developed in Flash for iOS and Android devices using Adobe AIR
  • Windows Phone version:
    • Over 54k downloads
    • Featured in Channel 9’s Hot Apps
    • Full source code is available at http://www.attido.com/techdays

3

xna overview
XNA Overview
  • High performance game framework
  • Enables creation of 2D and 3D games for Windows Phones, Xbox 360 and PC
  • Provides a content pipeline that compiles game assets into XNBs
  • Polling loop model instead of event driven
  • Provides GraphicsDeviceManager and ContentManager
  • Initialize
  • Load Content
  • Update
  • Draw
  • Unload Content

4

game state management
Game State Management
  • ScreenManager
    • Inherits from DrawableGameComponent
    • Manages one or more GameScreen instances
      • Calls Update and Draw of each GameScreen instance
      • Routes input to the topmost active screen
      • Activates / deactivates each GameScreen instance
  • GameScreen
  • GameScreen
  • Activate
  • Deactivate
  • Unload
  • HandleInput
  • Update
  • Draw

5

game state management1
Game State Management
  • InputState
    • Reads input from keyboard, gamepad and touchpanel
  • InputAction
    • Evaluates which buttons and keys have been pressed
  • IScreenFactory
    • Instance is added to Game.Services
    • CreateScreen -> Activator.CreateInstance(screenType)

6

input handling
Input Handling
  • ScreenManager refreshes input states in each Update
  • XNA supports up to 4 input points
  • Special button: Back
  • Accelerometer is event driven
    • Bind to ReadingChanged event and call Start
    • Guide.IsScreenSaverEnabled
  • Guide exposes virtual keyboard: BeginShowKeyboardInput / EndShowKeyboardInput
  • HandleInput
  • InputState
  • Gestures
  • TouchState
  • HandleInput
  • InputAction.Evaluate

7

update method
Update Method
  • Update game variables
    • Speed, acceleration, position, score, timer, animations, ...
  • Check for game over / level accomplished / achievement unlocked, ...
  • GameTime exposes important properties
    • ElapsedGameTime
    • TotalGameTime
    • IsRunningSlowly

8

draw method
Draw Method
  • Draws into the back buffer
    • Rendered in the next frame
  • Order matters!!
  • Transparency from .png or Color Key property (default is Magenta)
  • XNA supports .png, .bmp, .jpg, .tga, .dds, .spritefont, .x, .fx, .fbx
  • Use fonts from:
    • The system: default is Segoe UI Mono
    • Own .ttf installed on development machine
    • .bmp file
  • GraphicsDevice.Clear
  • SpriteBatch.Begin
  • SpriteBatch.End
  • SpriteBatch.Draw
  • SpriteBatch.DrawString

9

sound effects
Sound Effects
  • Loaded as content items
  • SoundEffect
    • Plays the sound until the end
  • SoundEffectInstance provides more control:
    • Volume, pitch, pan
    • Playback capabilities
  • XNA supports .wav, .mp3, .wma
  • XACT sound fields are not supported on the phone
  • Content Manager
  • Sound Effect
  • Play
  • Play
  • Pause
  • Resume
  • Stop
  • Sound Effect Instance
  • Volume
  • Pitch
  • Pan

10

configuration files as resources
Configuration Files as Resources
  • Additional .xml files to configure:
    • Level design
    • Achievement related data
    • ...
  • Corresponding classes must be implemented in a separate Game Library project
  • Automatically parsed when loading via Content Manager

11

tombstoning
Tombstoning
  • The player might be interrupted while playing
  • Needs to maintain the illusion that the game was never interrupted
    • Bind to PhoneApplicationService’s events in main game class
      • Launching, Activated, Deactivated, Closing
    • ScreenManager takes care of activating/deactivating each screen and knows if instances were preserved (fast app switching)
    • Save and load states and values of properties of each screen
      • Temporary data -> PhoneApplicationService’s state dictionary
      • Persistent data -> Isolated Storage
  • Call
  • SMS
  • Start Button
  • Search Button
  • Camera Button
  • Screen Lock

12

configuring metadata files
Configuring Metadata Files
  • Make sure you fill them with information regarding your game
    • Title
    • Description
    • Author
    • Publisher
    • Version
    • Genre: ”Apps.Games”

13

references
References
  • App Hub
    • http://create.msdn.com/
    • http://create.msdn.com/en-US/education/
  • MSDN Library – XNA Game Studio 4.0
    • http://msdn.microsoft.com/en-us/library/bb200104.aspx

15

microsoft tech days 2012 cheezia developing a windows phone xna game1

Microsoft Tech Days 2012Cheezia: Developing a Windows Phone XNA Game

Rodrigo Barretto

Software Engineer - MCPD on Windows Phone

[email protected]

http://www.attido.com

ad