LUMIA APP LABS #7GAMESDEVELOPMENTLucian TomutaChief Engineer
AGENDAWhat’s new on Windows Phone 8?How do I write my game?         © 2013 Nokia. All rights reserved.       1/23/2013    ...
WHAT’S NEW?-   New and improved hardware-   XNA replaced by a new Windows Phone game platform:    - Maintains XNA compatib...
-       Qualcomm Snapdragon S4                -       1.5 GHz / 1 GHz                -       Adreno 225 / Adreno 305      ...
GAME ENGINES                                                          Havok                                 FMOD Wwise    ...
DIRECT3D APP MODELC++ onlyAccess to the new Windows Phone 8 APIs   • Windows Runtime APIs, COM and Win32 style APIs   • Wh...
XAML APP MODELXAML app model extendedC++ code reuse   • Your own or other C++ libraries   • Call COM / Win32 style APIs fr...
XAML + DIRECT3DDrawingSurface• Place anywhere• Draw to it from C++/Direct3D• Automatic composition with other  XAML elemen...
XAML + DIRECT3DDrawingSurfaceBackgroundGrid• The root element of the xaml page• You render to the              from  C++/D...
XAML OR DIRECT3D APP ?XAML app   • You need access to live tiles, notifications, background agents, XAML UI,…Direct3D app ...
NATIVE DIRECT3D APPLICATIONAPI: Direct3D 11.1Hardware capabilities: feature level 9.3Subset of Windows 8   • No Windows Im...
INPUT & SENSORSInput                                                   Windows.Devices.Sensors   • PointerPressed, Pointer...
AUDIO SUPPORTXAudio2  Looping, 3D positioning, DSP effects, etc.  Many at once  In-memory PCM or ADPCM dataIMFMediaEngine ...
VIDEO CUTSCENE SUPPORTUse IMFMediaEngineInitialise and set sourceControl playbackRender video    • Game retrieves video fr...
MULTIPLAYER GAMESTCP sockets with SSL support using StreamSocket/StreamSocketListenerUDP sockets using DatagramSocketC++ H...
GAME CLOUDNokia Premium Developer Programand Buddy.com  User account management  Scoreboards and achievements  Push Notifi...
HOW DO I MAKE MONEY-   Ads    - Cross-platform advertising solution offered by Nokia Ad Exchange-   Try and buy-   In-app ...
TIP!Test your application on low memory devices!Test your application on high resolution devices!            © 2013 Nokia....
TIP!Your app can use up to 150 MB of available memory (up from 90 MB)If you need more, add the following capability to the...
TIP!If your application cannot run at all on low memory devices, use   ID_REQ_MEMORY_300              <App>               ...
Thank you!© 2013 Nokia. All rights reserved.         1/23/2013© 2013 Microsoft. All rights reserved.
Upcoming SlideShare
Loading in …5
×

LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8

4,636 views

Published on

Microsoft Windows Phone 8 offers native code support that enables development and porting of high-performance games. This training-lab webinar will give you an overview of Windows Phone 8 capabilities that support complex games development. It also will introduce available tools and frameworks that increase developer productivity and will demonstrate a hands-on approach to games development with the Windows Phone SDK 8. By leveraging frameworks such as the Microsoft Direct3D API and support for popular physics and rendering engines, you can now create games with native performance as well as use your own or third-party engines and middleware for games development for Windows Phone 8 users.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,636
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
240
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Adaptive Differential Pulse Code Modulation
  • LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8

    1. 1. LUMIA APP LABS #7GAMESDEVELOPMENTLucian TomutaChief Engineer
    2. 2. AGENDAWhat’s new on Windows Phone 8?How do I write my game? © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    3. 3. WHAT’S NEW?- New and improved hardware- XNA replaced by a new Windows Phone game platform: - Maintains XNA compatibility - Reduce the cost to target Windows Phone - Allow use of native code (C++) - Share a large set of APIs with Windows 8 - Power of Direct3D (native or with XAML) - Improved monetisation © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    4. 4. - Qualcomm Snapdragon S4 - 1.5 GHz / 1 GHz - Adreno 225 / Adreno 305 - 768x1280 / 480x800 pixels - 1 GB (512 MB) - NFC, sensors, 4G … http://developer.nokia.com/Devices© 2013 Nokia. All rights reserved. 1/23/2013© 2013 Microsoft. All rights reserved.
    5. 5. GAME ENGINES Havok FMOD Wwise Unity Ogre Cocos2D Scaleform Marmalade © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    6. 6. DIRECT3D APP MODELC++ onlyAccess to the new Windows Phone 8 APIs • Windows Runtime APIs, COM and Win32 style APIs • Which APIs can I call? http://tinyurl.com/WP8APIQSReuse your C++ code • Statically linked or a DLLSupports activation and app lifecycle • CoreApplication, CoreWindow, CoreDispatcher © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    7. 7. XAML APP MODELXAML app model extendedC++ code reuse • Your own or other C++ libraries • Call COM / Win32 style APIs from within Windows runtime componentsFull access to the new Windows 8 shared API surface • Windows phone runtime APIs, COM and Win32 style APIsDirect3D composition • Render into a XAML scene from C++/Direct3D • 2 new XAML elements © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    8. 8. XAML + DIRECT3DDrawingSurface• Place anywhere• Draw to it from C++/Direct3D• Automatic composition with other XAML elements• Uses a Direct3D swap chain © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    9. 9. XAML + DIRECT3DDrawingSurfaceBackgroundGrid• The root element of the xaml page• You render to the from C++/Direct3D• Does not use a Direct3D swap chain• Performs better• Grid children are rendered on top © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    10. 10. XAML OR DIRECT3D APP ?XAML app • You need access to live tiles, notifications, background agents, XAML UI,…Direct3D app • You need the absolute best performance • You don’t need what the XAML app gives youHow hard is it to switch? • It is very straightforward © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    11. 11. NATIVE DIRECT3D APPLICATIONAPI: Direct3D 11.1Hardware capabilities: feature level 9.3Subset of Windows 8 • No Windows Imaging Component (WIC) • No Direct2D or DWrite DirectXTex: texture processing libraryRemoved legacy features http://codeplex.com/directxtex • No GDI • No D3DX DirectX Tool Kit • No fixed function http://codeplex.com/directxtk • No runtime shader compilation © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    12. 12. INPUT & SENSORSInput Windows.Devices.Sensors • PointerPressed, PointerMoved, Accelerometer PointerReleased Gyrometer • KeyDown, KeyUp, Orientation CharacterRecieved, Show/Hide Onscreen Keyboard Compass Inclinometer Supports Polling and Events © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    13. 13. AUDIO SUPPORTXAudio2 Looping, 3D positioning, DSP effects, etc. Many at once In-memory PCM or ADPCM dataIMFMediaEngine One at a time Compressed (MP3, WMA) Asynchronously streamed from the file system or URI © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    14. 14. VIDEO CUTSCENE SUPPORTUse IMFMediaEngineInitialise and set sourceControl playbackRender video • Game retrieves video frame and renders video frame on the texture of an object in the game • Game uses OnVideoStreamTick to find out whether a new video frame is ready • Game uses TransferVideoFrame to copy video frame to DXGI surface • OS can render RGB and YUV(NV12) formats © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    15. 15. MULTIPLAYER GAMESTCP sockets with SSL support using StreamSocket/StreamSocketListenerUDP sockets using DatagramSocketC++ HTTP support via XmlHTTPWebRequest2WinsockPeer Finder API NFC based player discovery Play via WLAN or Bluetooth http://projects.developer.nokia.com/nfctalk © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    16. 16. GAME CLOUDNokia Premium Developer Programand Buddy.com User account management Scoreboards and achievements Push Notifications Cross-platfom1.000.000 API calls/month for a year © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    17. 17. HOW DO I MAKE MONEY- Ads - Cross-platform advertising solution offered by Nokia Ad Exchange- Try and buy- In-app purchase - Support for durable (game levels) and consumable (coins) items - Can be used from XNA games as well, see http://tinyurl.Com/iaplightup © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    18. 18. TIP!Test your application on low memory devices!Test your application on high resolution devices! © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    19. 19. TIP!Your app can use up to 150 MB of available memory (up from 90 MB)If you need more, add the following capability to the app manifest: <App> … <FunctionalCapabilities> <FunctionalCapability Name="ID_FUNCCAP_EXTEND_MEM"/> </FunctionalCapabilities> </App>This will allow your app to use up to 180 MB on low spec devices or even 380 MB on devices with > 1 GB © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    20. 20. TIP!If your application cannot run at all on low memory devices, use ID_REQ_MEMORY_300 <App> … <Requirements> <Requirement Name="ID_REQ_FRONTCAMERA" /> <Requirement Name="ID_REQ_MEMORY_300" /> </Requirements> </App>This will make your app visible only to devices with 1GB RAM or more. © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
    21. 21. Thank you!© 2013 Nokia. All rights reserved. 1/23/2013© 2013 Microsoft. All rights reserved.

    ×