code once, play everywhere
TRANSCRIPT
© GameDuell 2013 | Confidential © GameDuell 2015
Code once, Play everywhere!
This is a presentation by Carsten Krebs @cw_krebs1
© GameDuell 2015 3
Table of contents
1. Importance of cross-platform development
2. Approaches
3. Constraints
4. GameDuell approach
© GameDuell 2015 5
Market Reach
•good product
•reach as many users as possible
Objectives
•earn more revenues
•grow your brand
•find your niche
How?
© GameDuell 2015 6
0%
60%
120%
180%
240%
2010 2011 2012 2013 2014
Smartphones
Desktop or laptop computers
Game consoles
Tablets
Device Ownership
© GameDuell 2015 7
Mobile Device Distribution
iOS Android Kindle Windows PhoneSymbian Java ME BlackBerry Other
© GameDuell 2015 8
Social Community
Bringing people together to have a good time with games - Wherever, whenever!
© GameDuell 2015 10
Costs
Photo credit: .jo.hardell. / Foter / CC BY
•Development costs
•Maintenance costs
•Marketing costs
© GameDuell 2015 11
Limited Resources
Photo credit: János Balázs / Foter / CC BY-SA
Developers
Know-HowTime
Photo credit: martinteschner / Foter / CC BY-ND
© GameDuell 2015 18
Source-to-Source
Cross-Compile Common Runtime Environment (VM)
Engines & Frameworks
© GameDuell 2015 20 Photo credit: flickrfavorites / Foter / CC BY
Performance
Native vs Virtual Environment
© GameDuell 2015 21 Photo credit: Josep Ma. Rosell / Foter / CC BY
Tools
•Integrated Development Environment (IDE)
•Debugger
•Memory or Performance Profiler
•Code Analyzer
•Workflow Support
Native / VM vs Source-to-Source
© GameDuell 2015 22
Extendibility
Photo credit: Richard Jones / CC BY
• Integration of
• third party libs
• tools
• external or remote services
• adapt the framework to your needs
© GameDuell 2015 23 Photo credit: Yuri Yu. Samoilov / Foter / CC BY
Control
•Vendor Lock-In
•License-/Royalty- Costs
•Bugfixing vs Workarounds
© GameDuell 2015 25
Requirements
at least good; better native
Photo credit: JefferyTurner / Foter / CC BY
Photo credit: Yuri Yu. Samoilov / Foter / CC BY
Photo credit: flickrfavorites / Foter / CC BY
Photo credit: Richard Jones / CC BY
no vendor lock-in
• extensible • tightly fit to our needs
© GameDuell 2015 28
Haxe
•modern programming language
•source-to-source compiler
•inspired by ActionScript & C#
•object-oriented
•statically typed
© GameDuell 2015 29
Obstacles
•Modularisation
•Vibrant Development
•Documentation
•Performance #triangles at 40 fps
Photo credit: kev-shine / CC BY
© GameDuell 2015 30
Solutions
•improved modularisation
•performance improvements
•tweaked platform specific type implementations
•introduced pluggable platform abstractions
•dependency management
outperformed native Objective-C implementationPhoto credit: Matteo Paciotti / CC BY
© GameDuell 2015 31
Additional BenefitOne code base for client and game server logic
Platform Abstraction Layer
Game Engine
UI Game Logic
Driver DriverDriver
Game Server / Backend
Game Logic
Photo credit: GotCredit / Foter / CC BY
© GameDuell 2013 | Confidential © GameDuell 2015 32www.techtalk-berlin.de
Stay in Touch:[email protected]