Ogdc 2013 cross platform game development for mobile web
-
Upload
son-aris -
Category
Entertainment & Humor
-
view
170 -
download
4
Embed Size (px)
Transcript of Ogdc 2013 cross platform game development for mobile web

Cross-platform Game Development for Mobile & Web
CODY NGUYEN
Mobile Game DeveloperVinova Pte Ltd

cross-platformwrite once, run on multiple platforms

Benefits of
cross-platform game development

Less skills required
• Native game development for different devices requires different skill sets.
• Less skills means more focused & efficient

More gaming devices, less code
• Gaming devices are more and more diverse
• More devices means more audience

Fast development & maintenance
• Game requirements change every day
• One effort covers all platforms

An overview of
video gaming platforms

Video gaming platforms
• PlayStation• XBOX• Wii
• Native game clients
• iOS• Android• Windows
Phone
• Flash• Native Client
(Chrome Only)
• HTML5
Web Mobile
Console
Desktop

Video gaming platforms
• Flash• Native Client
(Chrome Only)• HTML5
• iOS• Android• Windows
Phone
• PlayStation• XBOX• Wii
• Native game clients
Web Mobile
ConsoleDesktop

Why
WEB & MOBILE ?

Web & Mobileis
ONE

cross-platform game
approaches

HTML5
• Run on PC & mobile browsers
• Run as wrapper apps on mobile
Native Mobile
• Write in C/C++ for mobile, compile to JS to run on browsers
• Write JS bindings for mobile and browsers

Browsers are improving
• 2D & 3D rendering• WebSocket• Web workers• Audio

JavaScript is improving
• Race among JS engines (V8, SpiderMonkey, Nitro) is good for JS performance
• JS runs large code faster

JavaScript meets C/C++
• Compile C/C++ to JS with Emscripten• Compiled code is faster than
handwritten code

Even faster with asm.js
• Strict subset of JS, optimized for compiled code
• Without asm.js, 10x slower than native C/C++
• With asm.js, half as fast (comparable to Java, C#)
• Will get even faster

Even faster with asm.js
Source: http://kripken.github.io/mloc_emscripten_talk/#/28


HTML5 is an
observable trend

Everybody is shifting to HTML5
• Google, Microsoft, Apple & Mozilla are pushing for HTML5
• Game pioneers (Epic & Unity3D) too

Native mobile

Cross-platform game engines
and more

Why 2D?
• Target mobile devices• 3D camera is not effective on small
screens• Reduced development effort & time.

The Cocos2D Ecosystem

Cocos2D
• 2D game ecosystem• Open source (MIT lisence)• Great community

What’s in there

What’s in there

Who’s in there


Why is Cocos2D good for cross-platform game
development?

Cocos2D-x / -iphone• C++ / ObjC API• JavaScript bindings• Runs on iOS &
Android
Cocos2D-html5• JavaScript API• Runs on WebGL-
enabled browsers
JavaScript = common language

The 2 approaches

1. Start with Cocos2D-html5
• Write JS code, for browsers• Re-use JS code as JS bindings, for mobile
Re-use as JS bindings for C/C++ API
JS code access Cocos2D-html5 API

2. Start with Cocos2D-x
• Write C/C++ code, for mobile• Compile to JS, for browsers
C/C++ code for mobile first
Compile to JS via Emscripten & asm.js

Emscripten in Cocos2D-x is new
• Audio is not supported yet• Cocos2D-x lib is not yet validated with
asm.js• Screen resolution need to be hardcoded
for now

It’s getting better everyday
• The Cocos2D-x team are improving Emscripten support
• Mozilla, Unity3D are working on asm.js & Emscripten improvement

To sum up

Thank you