Accelerating Windows Store Game Development with Open Source and Middleware Chas. Boyd Windows Graphics Program Management 3-187
Download ReportTranscript Accelerating Windows Store Game Development with Open Source and Middleware Chas. Boyd Windows Graphics Program Management 3-187
Accelerating Windows Store Game Development with Open Source and Middleware Chas. Boyd Windows Graphics Program Management 3-187 Windows 8.1 new APIs Accessibility Data binding Live tiles and toast Input Controls HTML5/CSS XAML Speech synthesis Portable Geolocation Point of service Direct3D Direct2D Direct Write Local storage SMS HTTP Skydrive Sensors Proximity USB Playback Capture PlayTo Streams Background transfer Contacts Bing HID WiFi direct Bluetooth Canvas SVG WebGL Syndication Networking Appointments Azure Mobile Printing 3D printing Scanning XML and JSON Contracts PDF Xbox Live Application services Threading/timers Memory management Globalization Cryptography Authentication Diagnostics Windows 8.1 Game Platform Technologies Your Killer Game Graphics Movies & Cut Scenes Game Input Audio Local Services Connected Services Tools Direct3D11.2 DirectX Video Pointer Point WASAPI PLM Windows Azure Live, Azure Visual Studio Direct2D Media Foundation Sensor API XAudio2 AppData Windows Store Install Asset Viewers Contracts Xbox LIVE Asset Processors WiFi Direct Shader Debugging HTML XAML XInput Windows Game Developer Features Windows 8 Direct3D 11.1 XAudio2 PointerPoint MouseLook XInput C++ Windows 8.1 Direct3D11.2 Tiled Resources Scalers & Overlays HLSL Shader linker 8-25GB packages Multi-mon Wi-Fi Direct But There’s More Interesting game codebases rely on other components These “middleware” components are critical to: Accelerate time to market, reduce risk, increase stability Simplify shipping across devices/screens (Developing “Cross-Microsoft Platform”) Both open source technologies and commercial tech We’ve partnered with the community to ensure these work well on Windows 8 Open Source Technologies Using Open Source Link in the pre-built lib binaries Be sure to get a Windows 8.1 version for use in 8.1 apps Build the source in your environment Then you can see how it works and tune to your scenario Microsoft’s Community Contributions We’ve made great starting points for Windows Store games VS .sln solutions & Windows Store SDK API usage Samples ported to Windows Store projects Ported UI code in samples to XAML Implementations pass certification & work well on ARM This enables you to spend your energy on the game Open Source Technologies Box2D ANGLE Box2D Physics of objects in a 2-D plane Ballistics, collisions, rotation, friction, joints, constraints, motors, ray-queries, etc. of Circles, rects, polygons, chains, ropes, etc. Used in: Angry Birds, Tiny Wings, Cut The Rope, Crayon Physics Deluxe, Limbo, Rolando, Fantastic Contraption, Incredibots, Transformice, Happy Wheels, Cocos2D, etc. Car driving over terrain -Before Box2D Demo App Car Scene Windows Classic Win32 UI OpenGL Car driving over terrain -Now Box2D Demo App Car Scene Windows 8.1 XAML UI DirectX Passes certification Bullet Physics Physics of 3D objects Ballistics, collisions, rotation, friction, joints, constraints, motors, ray-queries, etc. Used in: Hydro Thunder: Hurricane, Trials HD Has had GPU-accelerated fabric simulation using DirectCompute for years ANGLE – Almost Native GL Engine Open source OpenGL ES2 API wrapper Enables easy transition from iOS or Android Used by many popular products Originally built on Direct3D9, Now updated to Direct3D11 for Windows Store Runtime shader compiles work in Windows 8.1 http://code.google.com/p/angleproject Angle Asteroids Cocos2D-x Popular engine for sprite games on phones 1000s of games already shipped Runs on Windows 8 phone, Windows RT, Windows 8, etc. http://www.cocos2d-x.org OGRE - OO Graphics Rendering Engine Full 3D rendering engine Rich shader capabilities for photorealism Includes native Direct3D module since starting Used in: Ankh by Deck13, and Torchlight by Runic, etc. Runs on Windows Phone OGRE Screenshots http://www.ogre3d.org/wp-content/uploads/2012/05/3471006251_l.jpg Using C#? SharpDX Efficient C# bindings to DirectX APIs Low-level Direct3D access for best C# performance Includes basic input, audio, file loading, etc. Using C#? MonoGame OSS implementation of the full XNA 4.0 API spec which Microsoft contributed to the community Used in Armed, Skulls of the Shogun, Galactic Reign http://channel9.msdn.com/posts/From-XNA-game-to-Windows-8 Feedback Are there other open source projects you need? Commercial Technologies Commercial Middleware Commercial Technologies Game Engines Renderers Physics Network Services Audio We’ve built partnerships to bring commercial technologies to the Windows Store Range of pricing models You get commercial support, some include source code Most support custom plug-ins, scripting, etc. Unity 3D See Talk 3-044: Building Windows Store Games with Unity Friday 12-1pm Also April Unity Windows 8 Event: http://channel9.msdn.com/Events/WindowsCamp/Building-Windows-Games-with-Unity Agora Hydra Authentication & Identity Friends List Player Stats, Leaderboards, Achievements Matchmaking -Real-time and Asynchronous Synchronous (real-time) Multiplayer Supports Windows Phone too http://hydra.agoragames.com/windows Other Connectivity Options Share Contract Link to your own store page Windows Azure Easy to roll up a very basic service Xbox Live great if you are coming from xbox Havok Popular physics library Now includes Vision 3D rendering engine, destruction, AI, and cloth modules Supports the whole Microsoft ecosystem Havok for Windows 8 and Windows Phone 8 Marmalade Commercial implementation of OpenGL ES on Direct3D Includes a full native C++ game API set Runs on Windows Phone too https://www.madewithmarmalade.com/windows8 Game Salad Full IDE for game creation Asset marketplace http://gamesalad.com/creator/windows-8 Graphine Autodesk products Several APIs available on Windows 8/Phone 8 Unity plug-in, iOS and Android support Content Creation Tools Maya 3D Studio Conclusion: The Ecosystem is Ready The most commonly used games middleware is available for Windows 8 store apps Both open source and commercial middleware! Go for it! What to do next Update to the latest versions of any middleware components Set up a Windows 8.1 build environment and build Optimize performance/Tune for device feature levels Add in cool new Windows features like: Contracts, live tiles, and notifications, overlays, etc. Ship! Let us know if there is more you need! Related talks Title Session ID Building Games for Windows 2-047 What’s new in Direct3D 11.2 3-062 Massive virtual textures for games: Direct3D and Tiled Resources 4-063 DirectX Graphics Debugging Tools 3-141 Bringing Desktop PC Games to the Windows Store 3-190 Tales from the Trenches: Developing “The Harvest” and “Gunpowder” with Unity 3-044 Accelerating Windows Store Game Development with Middleware 3-187 Bringing Halo: Spartan Assault to Windows tablets and mobile devices 2-049 From Android or iOS: Bringing Your OpenGL ES Game to the Windows Store 3-189 Cutting Edge Games on Windows Tablets 3-043 Play Together! Leaderboards with Windows Azure and iMultiplayer with WiFi Direct 3-051 Innovations in High Performance 2D Graphics with DirectX 3-191