preparing casual games for windows vista · august 14-15 2006 game explorer integrating, part 1 use...

28

Upload: others

Post on 17-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata
Page 2: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Preparing Casual Games for Windows Vista

Jason SandlinSoftware Development LeadGame Technology GroupMicrosoft

Page 3: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

What’s Changed?

User Account Control

Game Explorer

Parental Controls

Media Center

Xbox 360 Controller for Windows

Minimum Bar

Deployment

Page 4: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

User Account ControlWhat it means

Single most impacting change for games

2 account types

Standard User

Administrator

By default, EXEs run as standard user

Even EXEs run from admin accounts

Page 5: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

User Account ControlStandard user process r/w accessCLSID Name Default Path Read Write

CSIDL_DESKTOP C:\Users\<user>\Desktop Y Y

CSIDL_MYDOCUMENTS C:\Users\<user>\Documents Y Y

CSIDL_LOCAL_APPDATA C:\Users\<user>\AppData\Local Y Y

CSIDL_APPDATA C:\Users\<user>\AppData\Roaming Y Y

CSIDL_COMMON_APPDATA C:\ProgramData Y Y

CSIDL_PROGRAM_FILES C:\Program Files Y N*

CSIDL_WINDOWS C:\Windows Y N*

*Administrator processes only

Registry Key Read Write

HKEY_CURRENT_USER Y Y

HKEY_LOCAL_MACHINE Y N*

HKEY_CLASSES_ROOT Y N*

Page 6: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

User Account ControlHow elevate works

Elevate happens at process create

Manifest extensions

If admin access is required:<requestedExecutionLevel

level="requireAdministrator"

uiAccess="true"/>

Otherwise do:<requestedExecutionLevel

level=“asInvoker"

uiAccess="true"/>

If neither, virtualization kicks in

Page 7: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

User Account ControlUI for elevate to admin

EXEs can be elevated via user prompt

Administrators see:

Standard users see:

Page 8: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

User Account ControlWhat it means for games

Design for standard user

Use asInvoker in the manifest

Don’t require admin to play the game!

You’ll get an elevate prompt every time

Breaks parental controls for all games

Test with standard user

Page 9: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

User Account ControlHow it affects casual games

Requiring admin to install is OK

Might try for installer w/o admin rights

Avoids elevate dialog box

Install to per-user locations only

Won’t work if you need to run DX setup or need to install other system DLLs

Think about patching

Article in DXSDK discusses options

Page 10: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Game ExplorerWhat is it?

Central HUB for Windows gaming

Located right off Start Bar

Page 11: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Application defines

Customizable

Link to saved games

Game ExplorerTasks

Page 12: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Game ExplorerRich Saved Games

User double-clicks on file to launch game

Launches app-defined command line

Metadata stored inside saved game

Page 13: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Game ExplorerIntegrating, part 1

Use GDFMaker tool found in DXSDK

Creates XML based .GDF file

Contains game’s metadata

Optionally includes game’s rating

Creates a resource file

Compile resource file into a binary

Sign this binary to enable game rating

Test with private trusted test certificateFor details, see “Authenticode Signing for Game Developers”

Page 14: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Game ExplorerIntegrating, part 2

During game install

Call IGameExplorer::AddGame()

Pass in full path to binary containing GDF

Create game explorer tasks

Simply shortcuts in known folder locations

During uninstall

Call IGameExplorer::RemoveGame()

Details and sample code in DXSDKGameuxInstallHelper - sample DLL to simplify details and supports install packages

Page 15: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Game ExplorerRich Saved Games

Define saved game path in GDF

Choose a unique file extension

Create regkeys during install

HKLM keys, so need admin privileges

Write saved game with predefined header

For details, see DXSDK docs / sample

Page 16: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

No distributor in metadata

Binary with GDF needs to be signed for parental controls to work

Work with your distributor

Game ExplorerConsiderations for casual games

Page 17: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Parental ControlsWhat is it?

OS-level enforcement of regional game ratings

ESRB, CERO, OFLC, PEGI, BBFC, USK

Ratings provided in game’s GDF

Only restricts Standard User accounts

Thus games must work with Standard User

GDF binary must be Authenticode signed

Game is marked as Unrated otherwise

Page 18: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Parental Controls

Page 19: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Parental Controls

Page 20: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Parental Controls

Page 21: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Parental Controls

Page 22: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Media CenterWhat is it?

Enables a 10-foot experience on Windows

Large icons

Remote control

Not separate edition

Home Professional

Ultimate

Page 23: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Media CenterHow to integrate into MC

Drop an XML-based .MCL file in a folder

Points to icon & exe to launch

Support HDTVs resolutions

Widescreen, 720p, 1080i

Stay in title-safe region

Keep UI elements in the inner 85%

Re-launch MC when finished

Details in DXSDK“Introduction to the 10-Foot Experience”

Page 24: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Xbox 360 Controller for WindowsConsider supporting it

Xbox 360 controller works on Windows

Using the XInput API

XInput API is very simple

Sample code & docs provided in DXSDK

Preferred API for controllers

Make menus navigable with the controller

Page 25: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Minimum BarWhat’s changed?

Better min spec machines

Faster CPU

Faster graphics hardware

More system memory

Enables more demanding games

Page 26: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

Minimum BarOS min specs

Windows XP

Recommended

Windows XP

Minimum

CPU 333 Mhz 233 Mhz

System Memory 128 MB 64 MB

Graphics 800x600 800x600

Windows Vista

Premium Ready

Windows Vista

Capable

CPU 1 Ghz 800 Mhz

System Memory 1024 MB 512 MB

Graphics Shader model 2.0, 128 MB Direct3D 9 capable

Page 27: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

August 14-15 2006

DeploymentWhat’s new?

DirectX Setup

Still needed for SDK DLLS

XACT, XInput, D3DX, etc.

DirectX Web installer

~300 KB exe

Downloads DX DLLs from MS

Designed with casual games in mind

May have to redist VC runtime (~2.6 MB)

If using VS2005

Page 28: Preparing Casual Games for Windows Vista · August 14-15 2006 Game Explorer Integrating, part 1 Use GDFMaker tool found in DXSDK Creates XML based .GDF file Contains game’s metadata

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

DirectX Developer Centerhttp://msdn.microsoft.com/directx

Game Development MSDN Forumshttp://forums.microsoft.com/msdn

Xbox 360 Centralhttp://xds.xbox.com/

XNA Web sitehttp://www.microsoft.com/xna