Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© GameDuell 2013 | Confidential© GameDuell 2015
Code once, Play everywhere!
This is a presentation by Carsten Krebs
@cw_kr...
© GameDuell 20152
Bringing people together to have a good time with games -
Wherever, whenever!
© GameDuell 20153
Table of contents
1. Importance of cross-platform development

2. Approaches

3. Constraints

4. GameDue...
© GameDuell 20154
Importance of Cross-Platform Development
© GameDuell 20155
Market Reach
•good product
•reach as many users as possible
Objectives
•earn more revenues
•grow your br...
© GameDuell 20156
0%
60%
120%
180%
240%
2010 2011 2012 2013 2014
Smartphones
Desktop or laptop computers
Game consoles
Tab...
© GameDuell 20157
Mobile Device Distribution
iOS Android Kindle Windows Phone
Symbian Java ME BlackBerry Other
© GameDuell 20158
Social Community
Bringing people together to have a good time with games -
Wherever, whenever!
© GameDuell 20159
But there are constraints ….
© GameDuell 201510
Costs
Photo credit: .jo.hardell. / Foter / CC BY
•Development costs
•Maintenance costs
•Marketing costs
© GameDuell 201511
Limited Resources
Photo credit: János Balázs / Foter / CC BY-SA
Developers
Know-HowTime
Photo credit: m...
© GameDuell 201512
Cross-Platform Approaches
© GameDuell 201513
Native Approach (multiple code bases)
© GameDuell 201514
One code base
•Cross-Compilation
•Source-to-Source
•Virtual Machine
© GameDuell 201515
Cross-Compilation
C++/C
compile
Native
© GameDuell 201516
Virtual or Common Runtime Environment
Source Bytecode
compile
VM
VM
VM
© GameDuell 201517
Source-to-Source
Source
C++
Objective-C
ActionScript
transpile
Native
compile
© GameDuell 201518
Source-to-Source
Cross-Compile Common Runtime Environment (VM)
Engines & Frameworks
© GameDuell 201519
What else is important?
© GameDuell 201520 Photo credit: flickrfavorites / Foter / CC BY
Performance
Native vs Virtual Environment
© GameDuell 201521 Photo credit: Josep Ma. Rosell / Foter / CC BY
Tools
•Integrated Development Environment (IDE)
•Debugge...
© GameDuell 201522
Extendibility
Photo credit: Richard Jones / CC BY
• Integration of
• third party libs
• tools
• externa...
© GameDuell 201523 Photo credit: Yuri Yu. Samoilov / Foter / CC BY
Control
•Vendor Lock-In
•License-/Royalty- Costs
•Bugfi...
© GameDuell 201524
The GameDuell approach
© GameDuell 201525
Requirements
at least good;
better native
Photo credit: JefferyTurner / Foter / CC BY
Photo credit: Yuri...
© GameDuell 201526
Source-to-Source
Possible Engines
© GameDuell 201527
Approach
•Own Engine
•Own Toolset & Workflow
•Source-to-Source Approach
© GameDuell 201528
Haxe
•modern programming language
•source-to-source compiler
•inspired by ActionScript & C#
•object-ori...
© GameDuell 201529
Obstacles
•Modularisation
•Vibrant Development
•Documentation
•Performance
#triangles at 40 fps
Photo c...
© GameDuell 201530
Solutions
•improved modularisation
•performance improvements
•tweaked platform specific type implementa...
© GameDuell 201531
Additional Benefit
One code base for client and game server logic
Platform Abstraction Layer
Game Engin...
© GameDuell 2013 | Confidential© GameDuell 201532
www.techtalk-berlin.de
Stay in Touch:
carsten.krebs@gameduell.de
© GameDuell 201533
Upcoming SlideShare
Loading in …5
×

Code once, play everywhere

690 views

Published on

* the growing importance & motivation of doing cross-platform games development
* cross-platform approaches
* how it is done at GameDuell

Published in: Technology

Code once, play everywhere

  1. 1. © GameDuell 2013 | Confidential© GameDuell 2015 Code once, Play everywhere! This is a presentation by Carsten Krebs @cw_krebs1
  2. 2. © GameDuell 20152 Bringing people together to have a good time with games - Wherever, whenever!
  3. 3. © GameDuell 20153 Table of contents 1. Importance of cross-platform development
 2. Approaches
 3. Constraints
 4. GameDuell approach
  4. 4. © GameDuell 20154 Importance of Cross-Platform Development
  5. 5. © GameDuell 20155 Market Reach •good product •reach as many users as possible Objectives •earn more revenues •grow your brand •find your niche How?
  6. 6. © GameDuell 20156 0% 60% 120% 180% 240% 2010 2011 2012 2013 2014 Smartphones Desktop or laptop computers Game consoles Tablets Device Ownership
  7. 7. © GameDuell 20157 Mobile Device Distribution iOS Android Kindle Windows Phone Symbian Java ME BlackBerry Other
  8. 8. © GameDuell 20158 Social Community Bringing people together to have a good time with games - Wherever, whenever!
  9. 9. © GameDuell 20159 But there are constraints ….
  10. 10. © GameDuell 201510 Costs Photo credit: .jo.hardell. / Foter / CC BY •Development costs •Maintenance costs •Marketing costs
  11. 11. © GameDuell 201511 Limited Resources Photo credit: János Balázs / Foter / CC BY-SA Developers Know-HowTime Photo credit: martinteschner / Foter / CC BY-ND
  12. 12. © GameDuell 201512 Cross-Platform Approaches
  13. 13. © GameDuell 201513 Native Approach (multiple code bases)
  14. 14. © GameDuell 201514 One code base •Cross-Compilation •Source-to-Source •Virtual Machine
  15. 15. © GameDuell 201515 Cross-Compilation C++/C compile Native
  16. 16. © GameDuell 201516 Virtual or Common Runtime Environment Source Bytecode compile VM VM VM
  17. 17. © GameDuell 201517 Source-to-Source Source C++ Objective-C ActionScript transpile Native compile
  18. 18. © GameDuell 201518 Source-to-Source Cross-Compile Common Runtime Environment (VM) Engines & Frameworks
  19. 19. © GameDuell 201519 What else is important?
  20. 20. © GameDuell 201520 Photo credit: flickrfavorites / Foter / CC BY Performance Native vs Virtual Environment
  21. 21. © GameDuell 201521 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
  22. 22. © GameDuell 201522 Extendibility Photo credit: Richard Jones / CC BY • Integration of • third party libs • tools • external or remote services • adapt the framework to your needs
  23. 23. © GameDuell 201523 Photo credit: Yuri Yu. Samoilov / Foter / CC BY Control •Vendor Lock-In •License-/Royalty- Costs •Bugfixing vs Workarounds
  24. 24. © GameDuell 201524 The GameDuell approach
  25. 25. © GameDuell 201525 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
  26. 26. © GameDuell 201526 Source-to-Source Possible Engines
  27. 27. © GameDuell 201527 Approach •Own Engine •Own Toolset & Workflow •Source-to-Source Approach
  28. 28. © GameDuell 201528 Haxe •modern programming language •source-to-source compiler •inspired by ActionScript & C# •object-oriented •statically typed
  29. 29. © GameDuell 201529 Obstacles •Modularisation •Vibrant Development •Documentation •Performance #triangles at 40 fps Photo credit: kev-shine / CC BY
  30. 30. © GameDuell 201530 Solutions •improved modularisation •performance improvements •tweaked platform specific type implementations •introduced pluggable platform abstractions •dependency management outperformed native Objective-C implementation Photo credit: Matteo Paciotti / CC BY
  31. 31. © GameDuell 201531 Additional Benefit One 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
  32. 32. © GameDuell 2013 | Confidential© GameDuell 201532 www.techtalk-berlin.de Stay in Touch: carsten.krebs@gameduell.de
  33. 33. © GameDuell 201533

×