SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
LUMIA APP LABS #7
GAMES
DEVELOPMENT

Lucian Tomuta
Chief Engineer
AGENDA
What’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.
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.
-       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.
GAME ENGINES

                                                          Havok
                                 FMOD
 Wwise                                            Unity
                           Ogre                                 Cocos2D

    Scaleform
                                                  Marmalade
         © 2013 Nokia. All rights reserved.                1/23/2013
         © 2013 Microsoft. All rights reserved.
DIRECT3D APP MODEL
C++ only
Access to the new Windows Phone 8 APIs
   • Windows Runtime APIs, COM and Win32 style APIs
   • Which APIs can I call? http://tinyurl.com/WP8APIQS
Reuse your C++ code
   • Statically linked or a DLL
Supports activation and app lifecycle
   • CoreApplication, CoreWindow, CoreDispatcher


              © 2013 Nokia. All rights reserved.       1/23/2013
              © 2013 Microsoft. All rights reserved.
XAML APP MODEL
XAML app model extended
C++ code reuse
   • Your own or other C++ libraries
   • Call COM / Win32 style APIs from within Windows runtime components
Full access to the new Windows 8 shared API surface
   • Windows phone runtime APIs, COM and Win32 style APIs
Direct3D 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.
XAML + DIRECT3D
DrawingSurface
• 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.
XAML + DIRECT3D
DrawingSurfaceBackgroundGrid
• 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.
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 you
How hard is it to switch?
   • It is very straightforward



              © 2013 Nokia. All rights reserved.       1/23/2013
              © 2013 Microsoft. All rights reserved.
NATIVE DIRECT3D APPLICATION
API: Direct3D 11.1
Hardware capabilities: feature level 9.3
Subset of Windows 8
   • No Windows Imaging Component (WIC)
   • No Direct2D or DWrite                               DirectXTex: texture processing library
Removed 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.
INPUT & SENSORS
Input                                                   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.
AUDIO SUPPORT
XAudio2
  Looping, 3D positioning, DSP effects, etc.
  Many at once
  In-memory PCM or ADPCM data
IMFMediaEngine
  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.
VIDEO CUTSCENE SUPPORT
Use IMFMediaEngine
Initialise and set source
Control playback
Render 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.
MULTIPLAYER GAMES
TCP sockets with SSL support using
 StreamSocket/StreamSocketListener
UDP sockets using DatagramSocket
C++ HTTP support via XmlHTTPWebRequest2
Winsock

Peer 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.
GAME CLOUD
Nokia Premium Developer Program
and Buddy.com
  User account management
  Scoreboards and achievements
  Push Notifications
  Cross-platfom

1.000.000 API calls/month for a year

            © 2013 Nokia. All rights reserved.       1/23/2013
            © 2013 Microsoft. All rights reserved.
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.
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.
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.
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.
Thank you!




© 2013 Nokia. All rights reserved.         1/23/2013
© 2013 Microsoft. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...BeMyApp
 
Secondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManagerSecondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManagerCommonsWare
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинGDG Saint Petersburg
 
Nokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingNokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingAndreas Jakl
 
New Technology in 2012
New Technology in 2012New Technology in 2012
New Technology in 2012somey_oung
 
Samsung Galaxy S3 GT-I9300. Manual del Usuario
Samsung Galaxy S3 GT-I9300. Manual del UsuarioSamsung Galaxy S3 GT-I9300. Manual del Usuario
Samsung Galaxy S3 GT-I9300. Manual del UsuarioGabatek .com
 
Android os installation
Android os installationAndroid os installation
Android os installationNipun Jolly
 
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012   Introduction to Windows Embedded Handheld programmingAISEC 12 april 2012   Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programmingCatalin Gheorghiu
 
Android : a linux-based mobile operating system
Android : a linux-based mobile operating systemAndroid : a linux-based mobile operating system
Android : a linux-based mobile operating systemClément Escoffier
 
Porting Android apps to the Series 40 platform
Porting Android apps to the Series 40 platformPorting Android apps to the Series 40 platform
Porting Android apps to the Series 40 platformMicrosoft Mobile Developer
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technologyGagandeep Nanda
 

Was ist angesagt? (19)

[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
 
Secondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManagerSecondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManager
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Android Upgrade 2.3
Android Upgrade 2.3Android Upgrade 2.3
Android Upgrade 2.3
 
Introduction to Nokia Asha Touch UI
Introduction to Nokia Asha Touch UIIntroduction to Nokia Asha Touch UI
Introduction to Nokia Asha Touch UI
 
Nokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingNokia New Asha Platform Developer Training
Nokia New Asha Platform Developer Training
 
What & How to Customize Android?
What & How to Customize Android?What & How to Customize Android?
What & How to Customize Android?
 
New Technology in 2012
New Technology in 2012New Technology in 2012
New Technology in 2012
 
Samsung Galaxy S3 GT-I9300. Manual del Usuario
Samsung Galaxy S3 GT-I9300. Manual del UsuarioSamsung Galaxy S3 GT-I9300. Manual del Usuario
Samsung Galaxy S3 GT-I9300. Manual del Usuario
 
Android os installation
Android os installationAndroid os installation
Android os installation
 
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012   Introduction to Windows Embedded Handheld programmingAISEC 12 april 2012   Introduction to Windows Embedded Handheld programming
AISEC 12 april 2012 Introduction to Windows Embedded Handheld programming
 
Symbian OS
Symbian  OS Symbian  OS
Symbian OS
 
Aakash Tablet
Aakash TabletAakash Tablet
Aakash Tablet
 
Android : a linux-based mobile operating system
Android : a linux-based mobile operating systemAndroid : a linux-based mobile operating system
Android : a linux-based mobile operating system
 
Porting Android apps to the Series 40 platform
Porting Android apps to the Series 40 platformPorting Android apps to the Series 40 platform
Porting Android apps to the Series 40 platform
 
What is operating system
What is operating systemWhat is operating system
What is operating system
 
Android technology
Android technology Android technology
Android technology
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technology
 

Ähnlich wie LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8

600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security ModelMichael Rushanan
 
Sierra Wireless Developer Day 2013 - 08 - Open AT
Sierra Wireless Developer Day 2013 - 08 - Open ATSierra Wireless Developer Day 2013 - 08 - Open AT
Sierra Wireless Developer Day 2013 - 08 - Open ATThibault Cantegrel
 
Embedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VEmbedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VOpersys inc.
 
Embedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVEmbedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVOpersys inc.
 
Optimizing your Android App for Mass Market Devices
Optimizing your Android App for Mass Market DevicesOptimizing your Android App for Mass Market Devices
Optimizing your Android App for Mass Market DevicesMotorola Mobility - MOTODEV
 
Embedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIEmbedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIOpersys inc.
 
Android 130923124440-phpapp01
Android 130923124440-phpapp01Android 130923124440-phpapp01
Android 130923124440-phpapp01rajesh kumar
 
UplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingUplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingSatya Harish
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-pptSrijib Roy
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Opersys inc.
 
09 09-2013 android-introduction p_pt
09 09-2013 android-introduction p_pt09 09-2013 android-introduction p_pt
09 09-2013 android-introduction p_ptTOPS Technologies
 
Project Darkstar
Project DarkstarProject Darkstar
Project DarkstarAhmed Saeed
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Opersys inc.
 
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...AMD Developer Central
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
Shaping a Technology Strategy for Mobile Development
Shaping a Technology Strategy for Mobile DevelopmentShaping a Technology Strategy for Mobile Development
Shaping a Technology Strategy for Mobile Developmentfrog
 
Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...Mike Taylor
 

Ähnlich wie LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8 (20)

600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model
 
Sierra Wireless Developer Day 2013 - 08 - Open AT
Sierra Wireless Developer Day 2013 - 08 - Open ATSierra Wireless Developer Day 2013 - 08 - Open AT
Sierra Wireless Developer Day 2013 - 08 - Open AT
 
Embedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VEmbedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon V
 
Embedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVEmbedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IV
 
Optimizing your Android App for Mass Market Devices
Optimizing your Android App for Mass Market DevicesOptimizing your Android App for Mass Market Devices
Optimizing your Android App for Mass Market Devices
 
Embedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIEmbedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VI
 
Android 130923124440-phpapp01
Android 130923124440-phpapp01Android 130923124440-phpapp01
Android 130923124440-phpapp01
 
Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded ComputingBring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
 
UplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingUplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computing
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-ppt
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014
 
09 09-2013 android-introduction p_pt
09 09-2013 android-introduction p_pt09 09-2013 android-introduction p_pt
09 09-2013 android-introduction p_pt
 
Project Darkstar
Project DarkstarProject Darkstar
Project Darkstar
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014
 
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Android
AndroidAndroid
Android
 
Shaping a Technology Strategy for Mobile Development
Shaping a Technology Strategy for Mobile DevelopmentShaping a Technology Strategy for Mobile Development
Shaping a Technology Strategy for Mobile Development
 
Game Programming By J2me
Game Programming By J2meGame Programming By J2me
Game Programming By J2me
 
Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...
 

Mehr von Microsoft Mobile Developer

Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsMicrosoft Mobile Developer
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagMicrosoft Mobile Developer
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsMicrosoft Mobile Developer
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appMicrosoft Mobile Developer
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeMicrosoft Mobile Developer
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoMicrosoft Mobile Developer
 

Mehr von Microsoft Mobile Developer (20)

Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and tools
 
Lumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK betaLumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK beta
 
Nokia Asha from idea to app - Imaging
Nokia Asha from idea to app - ImagingNokia Asha from idea to app - Imaging
Nokia Asha from idea to app - Imaging
 
Healthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia AshaHealthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia Asha
 
Push notifications on Nokia X
Push notifications on Nokia XPush notifications on Nokia X
Push notifications on Nokia X
 
DIY Nokia Asha app usability studies
DIY Nokia Asha app usability studiesDIY Nokia Asha app usability studies
DIY Nokia Asha app usability studies
 
Lessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviewsLessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviews
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 

Kürzlich hochgeladen

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Kürzlich hochgeladen (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8

  • 1. LUMIA APP LABS #7 GAMES DEVELOPMENT Lucian Tomuta Chief Engineer
  • 2. AGENDA What’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. 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. - 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. GAME ENGINES Havok FMOD Wwise Unity Ogre Cocos2D Scaleform Marmalade © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
  • 6. DIRECT3D APP MODEL C++ only Access to the new Windows Phone 8 APIs • Windows Runtime APIs, COM and Win32 style APIs • Which APIs can I call? http://tinyurl.com/WP8APIQS Reuse your C++ code • Statically linked or a DLL Supports activation and app lifecycle • CoreApplication, CoreWindow, CoreDispatcher © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
  • 7. XAML APP MODEL XAML app model extended C++ code reuse • Your own or other C++ libraries • Call COM / Win32 style APIs from within Windows runtime components Full access to the new Windows 8 shared API surface • Windows phone runtime APIs, COM and Win32 style APIs Direct3D 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. XAML + DIRECT3D DrawingSurface • 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. XAML + DIRECT3D DrawingSurfaceBackgroundGrid • 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. 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 you How hard is it to switch? • It is very straightforward © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
  • 11. NATIVE DIRECT3D APPLICATION API: Direct3D 11.1 Hardware capabilities: feature level 9.3 Subset of Windows 8 • No Windows Imaging Component (WIC) • No Direct2D or DWrite DirectXTex: texture processing library Removed 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. INPUT & SENSORS Input 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. AUDIO SUPPORT XAudio2 Looping, 3D positioning, DSP effects, etc. Many at once In-memory PCM or ADPCM data IMFMediaEngine 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. VIDEO CUTSCENE SUPPORT Use IMFMediaEngine Initialise and set source Control playback Render 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. MULTIPLAYER GAMES TCP sockets with SSL support using StreamSocket/StreamSocketListener UDP sockets using DatagramSocket C++ HTTP support via XmlHTTPWebRequest2 Winsock Peer 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. GAME CLOUD Nokia Premium Developer Program and Buddy.com User account management Scoreboards and achievements Push Notifications Cross-platfom 1.000.000 API calls/month for a year © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.
  • 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. 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. 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. 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. Thank you! © 2013 Nokia. All rights reserved. 1/23/2013 © 2013 Microsoft. All rights reserved.

Hinweis der Redaktion

  1. Adaptive Differential Pulse Code Modulation