Thursday, April 18, 2013

GDC2013 - Developing a Windows Store Game with DirectX and C++

  • Phillip Napieralski give a quick tutorial for developing a Windows Store game with DirectX and C++.
  • He showed off the Taptiles hub interface, which was built with XAML. The game is built under the hood with DirectX but uses XAML for the main menu interface.
  • Fruit Ninja, on the other hand, uses DirectX for its main menu UI.
  • XAML is a markup language that interacts nicely with DirectX in various scenarios.
  • Direct3D Visual Studio template is a code example.
    • It has two main classes (CubeRender and Direct3DApp).
    • The ^ operator is a 'handle." It's a WinRT pointer that is reference counted.
    • There are five classes to override and implement (Initialize, SetWindow, Load, Run, Uninitialize).
    • There are also two lifetime management events (Suspend and Resume).
    • You have five seconds to load or the OS thinks your app has crashed. He recommends to have a secondary splash screen in Run() for the loading sequence, rather than loading assets in Load().
  • He showed off the Marble Maze game example with additional features (store simulator, cheats, notifications with friends, share charms, and animated live tile).
  • Take full advantage of Win8 features.
    • Tiles - should have dynamic content like leaderboards, send updates to users, and can use Microsoft servers instead of from inside the app. Tiles are just an XML document and there are lots of templates to start with.
    • Toast notifications - immediate notifications defined in XML, needs a push server
    • Appbar - triggered by gesture (swipe from the edge), Windows + z keyboard combination, or right click.
    • Charms - make game social with ease, define a source and a target for the charm
    • Persistance - process lifetime management
    • Saving data - space available for roaming data, easily switch LocalSettings to RoamingSettings
    • Monetization - can include in-app purchases or set time periods for trials
  • Get Windows8 and Visual Studio 2012 (Express version is free).

No comments: