460 likes | 636 Views
Accelerating Windows Store Game Development with Open Source and Middleware. Chas. Boyd Windows Graphics Program Management 3-187. Top Topics:. Intro Open Source Technologies Commercial Technologies Tools. The Broad Range of PCs. 3 rd party game screenshots. Windows 8.1 new APIs.
E N D
Accelerating Windows Store Game Developmentwith Open Source and Middleware Chas. Boyd Windows Graphics Program Management 3-187
Top Topics: • Intro • Open Source Technologies • Commercial Technologies • Tools
Windows 8.1 new APIs User interface Accessibility Data binding Live tiles and toast Input Controls HTML5/CSS XAML Speech synthesis Devices Graphics and media Communications and data Services Portable Geo-location Point of service Direct3D Direct2D Direct Write Local storage SMS HTTP Skydrive Playback Capture Streams Background transfer Contacts Sensors Proximity USB Bing PlayTo Canvas WebGL Appoint-ments Syndication Networking Azure Mobile HID WiFi direct Bluetooth SVG Printing Scanning 3D printing XML and JSON Contracts PDF Xbox Live Fundamentals Application services Threading/timers Memory management Globalization Cryptography Authentication Diagnostics
Windows 8.1 Game Platform Technologies Your Killer Game Game Input Movies & Cut Scenes Graphics Audio Local Services Connected Services Tools Visual Studio Direct3D11.2 DirectX Video Pointer Point Windows Live, Azure WASAPI PLM Azure Sensor API Windows Store Install Direct2D Asset Viewers Media Foundation AppData XAudio2 XInput Xbox LIVE Contracts Asset Processors HTML WiFi Direct XAML Shader Debugging
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
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
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 • 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/Windows-Camp/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
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!
Required Slide *delete this box when your slide is finalized Your MS Tag will be inserted here during the final scrub. Evaluate this session • Scan this QR codeto evaluate this session and be automatically entered in a drawing to win a prize!