Building Multi-platform Video Games for the Cloud


Published on

This is a presentation on how to build multi-platform (HTML5, Flash, Java/Android) video games using an open source technology known as Forplay (PlayN).
This presentation was delivered in Mexico City on Aug 9th, 2011 at the "EstoEsGoogle" aka Devfest Mexico event on Aug 9th in Mexico City by Google Developer Advocate Chris Schalk

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Building Multi-platform Video Games for the Cloud

  1. 1. Construyendo video juegos multiplataforma para la nubeChris SchalkDeveloper Advocate
  2. 2. Lets start with a Demo!
  3. 3. Introducing ForPlay!A GWT abstraction layer for games ● A small API for building fast cross-platform games ● Core game code can be platform agnostic ● Develop games in Java ○ Familiar language/toolset ● Is compatible with GWT ○ Compiles to JS/HTML5, (among other platforms) ● Free and Open Source (alpha) ○
  4. 4. Introducing ForPlay!A GWT abstraction layer for gamesImplementations for Java, HTML5(GWT/JS), Android, Flash
  5. 5. Components of ForPlay!Fully generic gaming components. Core game logic is fully platformindependent!
  6. 6. Components of ForPlay!Just implement ForPlay.core.Game
  7. 7. Components of ForPlay!Easy to write code to handle common input devices
  8. 8. Components of ForPlay!Images are handled via the ForPlay Layering system
  9. 9. Components of ForPlay!Game resources are preloaded using the assetManager
  10. 10. Time for some more demos!
  11. 11. ForPlay Cross Platform Magic● Game uses core ForPlay abstractions, is unaware of which platform is running● The only platform-specific code is in the entry point for each platform:
  12. 12. Other ForPlay Benefits● Built-in physics engine based on proven OpenSource technologies ● Box2D ○ C++ 2D Physics engine by Erin Catto ● JBox2D ○ A port of Box2D from C++ to Java ● GWTBox2D ○ A port of JBox2D from Java to JavaScript
  13. 13. Benefits of GWT Abstraction● GWT Compiler optimizes code for size ○ Removes unused code ○ Evaluates when possible at compile time ○ Inlines functions ○ Heavily obfuscated result code● Smaller compiled code - faster load time● Optimized caching, avoids unnecessary network IO
  14. 14. Benefits of HTML5 for Games● New HTML elements ○ 2D canvas ○ Audio, Video● Application Cache● 3D Canvas (WebGL) ○ Open GL ES 2.0 made JavaScript friendly ○● CSS3 ○ Supports hardware accelerated transforms
  15. 15. More demos● Building your own games ○ Introducing "App Engine: Cloud Warrior"
  16. 16. App Engine Cloud Warrior ArchitectureApp Engine Google StorageDatastore Game Assets (images/sounds) Game Scores Profile Data Game Play (Forplay)
  17. 17. ForPlay Summary● Open source, cross-platform game abstraction layer ○ Core game logic is platform agnostic● ForPlay abstracts away the core components of a game ○ The game loop, I/O system, and asset management● Write in familiar Java, get performance on multiple platforms ○ Superior Java development/debug ○ GWT allows compilation to fast JavaScript/HTML5● Your assignment: ○ Download ForPlay and build a game! ○
  18. 18. Q&A@cschalk
  19. 19. Muchas Gracias! @cschalk