SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Cross Platform Mobile Game
Application Development
Markku Kero / Eqela
July 2014 / OGDC
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Cross platform development tools
One codebase; target
multiple platforms
Many existing tools on the
market
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
“Cross platform tools
do not work. Writing
native code is the only
way.”
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Commonly encountered issues
Large installer size
Excessive memory use
Low performance
Limited API access
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
ANOTHER COMMON SENTIMENT
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
WHY?
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Source code
targeting a
specific
platform
Tool
Source / byte
code and
interpreter or
VM for iOS
Source / byte
code and
interpreter or
VM for Android
Runtime /
Virtual
machine
(Java, JavaScript,
Lua, Ruby, C#, ..)
A common cross platform tool
BROWSER
“virtual machine”
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Operating system
Language interpreter / runtime
APIs and libraries Application code
A common cross platform tool
Architecture
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
A common cross platform tool
Architecture
Operating system
Language interpreter / runtime
APIs and libraries Application code Makes application
installers bigger
Increases memory
usage
Reduces runtime
performance
Applications can only
access selected
parts of the native API
= INCREASED BATTERY USAGE
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
(Source: http://docs.xamarin.com/Android/Guides/Advanced_Topics/Architecture)
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Another popular architecture
Source
Code in
HTML, CSS,
JavaScript
Tool
C code
That opens a
Browser and
Displays the
program
Java code
That opens a
Browser and
Displays the
program
Android
SDK
iOS
SDK
“embed a web browser”
BROWSER
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Commonly encountered issues
Large installer size
Excessive memory use
Low performance
Limited API access
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
The C/C++ approach
C++
application
code
Tool
C++ class
library
SWIFT
BROWSER
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
C++ / bytecode combination
C++ code
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
THE APPROACH
CAN BE
IMPROVED
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
HOW?
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Programming language conversion
(Source code)
Small Installers Optimal memory use
No API access limitationsNative performance
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Comparison: A “hello world” application
First approach (virtual machine / interpreter)
Appcelerator: 8MB installer
Xamarin / Mono (Unity): 4MB installer
The “embed a web browser” approach:
Phonegap / Cordova: ~300KB installer
The “source code conversion” approach:
96KB installer
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Programming Language
Translator
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
2D / 3D GAMES
MOBILE APPLICATIONS
BUSINESS SYSTEMS
WEBSITES / WEB APPLICATIONS
BACKEND SERVERS
DESKTOP TOOLS / UTILITIES
AUTOMATED QUALITY ASSURANCE
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
class Main : LayerWidget
{
public void initialize() {
base.initialize();
add(LabelWidget.instance().set_text(“Hello World”));
}
}
Eqela
Compiler
LayerWidget
LabelWidget
Main.java
LayerWidget.java
LabelWidget.java
Android
SDK
A sample Eqela application
Main.eq
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
class Main : LayerWidget
{
public void initialize() {
base.initialize();
add(LabelWidget.instance().set_text(“Hello World”));
}
}
package mk.test;
public class Main extends eq.gui.LayerWidget
{
@Override
public void initialize() {
super.initialize();
((eq.gui.ContainerWidget)this).add(((eq.gui.Widget)eq.widget.LabelWidge
t.eq_widget_LabelWidget_instance().set_text(eq.api.StringStatic.eq_api_
StringStatic_for_strptr("Hello world"))));
}
public Main() {
}
}
(EQELA)
(JAVA)
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
class AndroidHTTPGet
{
public static bool execute(String url) {
embed “java” {{{
org.apache.http.client.methods.HttpUriRequest hur =
new org.apache.http.client.methods.HttpGet(url.to_strptr());
android.net.http.AndroidHttpClient hc =
android.net.http.AndroidHttpClient.newInstance(“testing”);
org.apache.http.HttpResponse resp = hc.execute(hur);
if(resp == null) {
return(false);
}
}}}
return(true);
}
}
→ All platform specific features / APIs
are accessible
Embedding other languages
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
SpriteKit
Sprite Engine R3D
→ NO TECHNOLOGY LOCK-IN
Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
Thank you
markku.kero@jobandesther.com
www.eqela.com

Más contenido relacionado

Destacado

1A - MOBILIZING YOUR GIS - USING CROSS PLATFORM MOBILE APPLICATION DEVELOPMEN...
1A - MOBILIZING YOUR GIS - USING CROSS PLATFORM MOBILE APPLICATION DEVELOPMEN...1A - MOBILIZING YOUR GIS - USING CROSS PLATFORM MOBILE APPLICATION DEVELOPMEN...
1A - MOBILIZING YOUR GIS - USING CROSS PLATFORM MOBILE APPLICATION DEVELOPMEN...Wisconsin Land Information Association
 
Cross-platform mobile development: choices and limitations [IndicThreads Mob...
Cross-platform mobile development: choices and limitations  [IndicThreads Mob...Cross-platform mobile development: choices and limitations  [IndicThreads Mob...
Cross-platform mobile development: choices and limitations [IndicThreads Mob...IndicThreads
 
Ontology-based Multi-Agent Platform for Sensor Data Integration and Sharing
Ontology-based Multi-Agent Platform for Sensor Data Integration and SharingOntology-based Multi-Agent Platform for Sensor Data Integration and Sharing
Ontology-based Multi-Agent Platform for Sensor Data Integration and SharingCybera Inc.
 
SnapLogic Elastic Integration Platform as a Service (iPaaS)
SnapLogic Elastic Integration Platform as a Service (iPaaS)SnapLogic Elastic Integration Platform as a Service (iPaaS)
SnapLogic Elastic Integration Platform as a Service (iPaaS)Darren Cunningham
 
The Next Wave of Application Architecture | MuleSoft
The Next Wave of Application Architecture | MuleSoftThe Next Wave of Application Architecture | MuleSoft
The Next Wave of Application Architecture | MuleSoftMuleSoft
 
Integration platform as a service
Integration platform as a serviceIntegration platform as a service
Integration platform as a serviceBui Kiet
 
integration platform as a service for postal, parcel & freight logistics
integration platform as a service for postal, parcel & freight logisticsintegration platform as a service for postal, parcel & freight logistics
integration platform as a service for postal, parcel & freight logisticsAppgration
 
Understanding Platform as a Service
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a ServicePaul Fremantle
 
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftHybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftMuleSoft
 
MuleSoft London Community - API Marketing, Culture Change and Tooling
MuleSoft London Community - API Marketing, Culture Change and ToolingMuleSoft London Community - API Marketing, Culture Change and Tooling
MuleSoft London Community - API Marketing, Culture Change and ToolingPace Integration
 
Future of Integration | MuleSoft
Future of Integration | MuleSoftFuture of Integration | MuleSoft
Future of Integration | MuleSoftMuleSoft
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftMuleSoft
 
Welcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyWelcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyMuleSoft
 
Managing the Sales Force
Managing the Sales ForceManaging the Sales Force
Managing the Sales ForceSumit Pradhan
 
SAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftSAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftMuleSoft
 

Destacado (19)

1A - MOBILIZING YOUR GIS - USING CROSS PLATFORM MOBILE APPLICATION DEVELOPMEN...
1A - MOBILIZING YOUR GIS - USING CROSS PLATFORM MOBILE APPLICATION DEVELOPMEN...1A - MOBILIZING YOUR GIS - USING CROSS PLATFORM MOBILE APPLICATION DEVELOPMEN...
1A - MOBILIZING YOUR GIS - USING CROSS PLATFORM MOBILE APPLICATION DEVELOPMEN...
 
Cross-platform mobile development: choices and limitations [IndicThreads Mob...
Cross-platform mobile development: choices and limitations  [IndicThreads Mob...Cross-platform mobile development: choices and limitations  [IndicThreads Mob...
Cross-platform mobile development: choices and limitations [IndicThreads Mob...
 
Ontology-based Multi-Agent Platform for Sensor Data Integration and Sharing
Ontology-based Multi-Agent Platform for Sensor Data Integration and SharingOntology-based Multi-Agent Platform for Sensor Data Integration and Sharing
Ontology-based Multi-Agent Platform for Sensor Data Integration and Sharing
 
SnapLogic Elastic Integration Platform as a Service (iPaaS)
SnapLogic Elastic Integration Platform as a Service (iPaaS)SnapLogic Elastic Integration Platform as a Service (iPaaS)
SnapLogic Elastic Integration Platform as a Service (iPaaS)
 
The Next Wave of Application Architecture | MuleSoft
The Next Wave of Application Architecture | MuleSoftThe Next Wave of Application Architecture | MuleSoft
The Next Wave of Application Architecture | MuleSoft
 
Integration platform as a service
Integration platform as a serviceIntegration platform as a service
Integration platform as a service
 
Mule integration
Mule integrationMule integration
Mule integration
 
integration platform as a service for postal, parcel & freight logistics
integration platform as a service for postal, parcel & freight logisticsintegration platform as a service for postal, parcel & freight logistics
integration platform as a service for postal, parcel & freight logistics
 
Mule ESB Intro
Mule ESB IntroMule ESB Intro
Mule ESB Intro
 
Understanding Platform as a Service
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a Service
 
PaaS TCO
PaaS TCOPaaS TCO
PaaS TCO
 
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftHybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
 
MuleSoft London Community - API Marketing, Culture Change and Tooling
MuleSoft London Community - API Marketing, Culture Change and ToolingMuleSoft London Community - API Marketing, Culture Change and Tooling
MuleSoft London Community - API Marketing, Culture Change and Tooling
 
Future of Integration | MuleSoft
Future of Integration | MuleSoftFuture of Integration | MuleSoft
Future of Integration | MuleSoft
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 
Welcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyWelcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API Strategy
 
Managing the Sales Force
Managing the Sales ForceManaging the Sales Force
Managing the Sales Force
 
SAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftSAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoft
 
Sales force management
Sales force managementSales force management
Sales force management
 

Similar a OGDC 2014: Cross Platform Mobile Game Application Development

Optimized Cross Platform Development
Optimized Cross Platform DevelopmentOptimized Cross Platform Development
Optimized Cross Platform Developmentjobandesther
 
Single sourcing using Rich Ajax Platform
Single sourcing using Rich Ajax PlatformSingle sourcing using Rich Ajax Platform
Single sourcing using Rich Ajax PlatformAnkur Sharma
 
Introduction to Eqela development
Introduction to Eqela developmentIntroduction to Eqela development
Introduction to Eqela developmentjobandesther
 
COHORTE Project Overview
COHORTE Project OverviewCOHORTE Project Overview
COHORTE Project OverviewBassem Debbabi
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachPROIDEA
 
AnyFirewall Engine v10.0 Developer Guide
AnyFirewall Engine v10.0 Developer GuideAnyFirewall Engine v10.0 Developer Guide
AnyFirewall Engine v10.0 Developer GuideEyeball Networks
 
Development mobile app cross device
Development mobile app cross deviceDevelopment mobile app cross device
Development mobile app cross devicePhuong Nguyen
 
Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015Joshua McKenty
 
Past, Present and Future of WebSocket - HTML5DevConf May 2014
Past, Present and Future of WebSocket - HTML5DevConf May 2014Past, Present and Future of WebSocket - HTML5DevConf May 2014
Past, Present and Future of WebSocket - HTML5DevConf May 2014Frank Greco
 
Dissecting and Attacking RMI Frameworks
Dissecting and Attacking RMI FrameworksDissecting and Attacking RMI Frameworks
Dissecting and Attacking RMI FrameworksOnapsis Inc.
 
EMC Atmos for service providers
EMC Atmos for service providersEMC Atmos for service providers
EMC Atmos for service providerssolarisyougood
 
Massively Parallel Processing with Procedural Python - Pivotal HAWQ
Massively Parallel Processing with Procedural Python - Pivotal HAWQMassively Parallel Processing with Procedural Python - Pivotal HAWQ
Massively Parallel Processing with Procedural Python - Pivotal HAWQInMobi Technology
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXBruno Borges
 
Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskDave McAllister
 
Using JavaScript to Build HTML5 Tools (Ian Maffett)
Using JavaScript to Build HTML5 Tools (Ian Maffett)Using JavaScript to Build HTML5 Tools (Ian Maffett)
Using JavaScript to Build HTML5 Tools (Ian Maffett)Future Insights
 
Startup Legal and IP
Startup Legal and IPStartup Legal and IP
Startup Legal and IPBruno Lowagie
 
Comparison of Programming Platforms
Comparison of Programming PlatformsComparison of Programming Platforms
Comparison of Programming PlatformsAnup Hariharan Nair
 
Cloud Builders Meetup - Containers @ Autodesk
Cloud Builders Meetup - Containers @ AutodeskCloud Builders Meetup - Containers @ Autodesk
Cloud Builders Meetup - Containers @ AutodeskStephen Voorhees
 

Similar a OGDC 2014: Cross Platform Mobile Game Application Development (20)

Optimized Cross Platform Development
Optimized Cross Platform DevelopmentOptimized Cross Platform Development
Optimized Cross Platform Development
 
Single sourcing using Rich Ajax Platform
Single sourcing using Rich Ajax PlatformSingle sourcing using Rich Ajax Platform
Single sourcing using Rich Ajax Platform
 
Introduction to Eqela development
Introduction to Eqela developmentIntroduction to Eqela development
Introduction to Eqela development
 
COHORTE Project Overview
COHORTE Project OverviewCOHORTE Project Overview
COHORTE Project Overview
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
 
AnyFirewall Engine v10.0 Developer Guide
AnyFirewall Engine v10.0 Developer GuideAnyFirewall Engine v10.0 Developer Guide
AnyFirewall Engine v10.0 Developer Guide
 
Development mobile app cross device
Development mobile app cross deviceDevelopment mobile app cross device
Development mobile app cross device
 
Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015
 
Past, Present and Future of WebSocket - HTML5DevConf May 2014
Past, Present and Future of WebSocket - HTML5DevConf May 2014Past, Present and Future of WebSocket - HTML5DevConf May 2014
Past, Present and Future of WebSocket - HTML5DevConf May 2014
 
Node.js as an IOT Bridge
Node.js as an IOT BridgeNode.js as an IOT Bridge
Node.js as an IOT Bridge
 
Dissecting and Attacking RMI Frameworks
Dissecting and Attacking RMI FrameworksDissecting and Attacking RMI Frameworks
Dissecting and Attacking RMI Frameworks
 
EMC Atmos for service providers
EMC Atmos for service providersEMC Atmos for service providers
EMC Atmos for service providers
 
Massively Parallel Processing with Procedural Python - Pivotal HAWQ
Massively Parallel Processing with Procedural Python - Pivotal HAWQMassively Parallel Processing with Procedural Python - Pivotal HAWQ
Massively Parallel Processing with Procedural Python - Pivotal HAWQ
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
 
Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kiosk
 
Using JavaScript to Build HTML5 Tools (Ian Maffett)
Using JavaScript to Build HTML5 Tools (Ian Maffett)Using JavaScript to Build HTML5 Tools (Ian Maffett)
Using JavaScript to Build HTML5 Tools (Ian Maffett)
 
Codename one
Codename oneCodename one
Codename one
 
Startup Legal and IP
Startup Legal and IPStartup Legal and IP
Startup Legal and IP
 
Comparison of Programming Platforms
Comparison of Programming PlatformsComparison of Programming Platforms
Comparison of Programming Platforms
 
Cloud Builders Meetup - Containers @ Autodesk
Cloud Builders Meetup - Containers @ AutodeskCloud Builders Meetup - Containers @ Autodesk
Cloud Builders Meetup - Containers @ Autodesk
 

Más de GameLandVN

Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian womenMobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian womenGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...GameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in IndiaMobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in IndiaGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...GameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...GameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...GameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video adsMobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video adsGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in VietnamMobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in VietnamGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetizationMobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetizationGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creationMobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creationGameLandVN
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureGameLandVN
 
Windows app & Microsoft's support
Windows app & Microsoft's supportWindows app & Microsoft's support
Windows app & Microsoft's supportGameLandVN
 
Kinh nghiệm phát triển Captain Strike
Kinh nghiệm phát triển Captain StrikeKinh nghiệm phát triển Captain Strike
Kinh nghiệm phát triển Captain StrikeGameLandVN
 
Microsoft BizSpark
Microsoft BizSparkMicrosoft BizSpark
Microsoft BizSparkGameLandVN
 
Microsoft Azure Introduction
Microsoft Azure IntroductionMicrosoft Azure Introduction
Microsoft Azure IntroductionGameLandVN
 
OGDC 2014: Animation workflow with Spine in Tiny Busters
OGDC 2014: Animation workflow with Spine in Tiny BustersOGDC 2014: Animation workflow with Spine in Tiny Busters
OGDC 2014: Animation workflow with Spine in Tiny BustersGameLandVN
 
OGDC 2014: Vietnam Smartphone game market 2013 overview
OGDC 2014: Vietnam Smartphone game market 2013 overviewOGDC 2014: Vietnam Smartphone game market 2013 overview
OGDC 2014: Vietnam Smartphone game market 2013 overviewGameLandVN
 
OGDC 2014: Speed up and make quality for your 3d models
OGDC 2014: Speed up and make quality for your 3d modelsOGDC 2014: Speed up and make quality for your 3d models
OGDC 2014: Speed up and make quality for your 3d modelsGameLandVN
 
OGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
OGDC 2014: Sky Garden Mobile conceptualization: From PC to MobileOGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
OGDC 2014: Sky Garden Mobile conceptualization: From PC to MobileGameLandVN
 
OGDC 2014: One-Man Studio: How to make a game prototype
OGDC 2014: One-Man Studio: How to make a game prototypeOGDC 2014: One-Man Studio: How to make a game prototype
OGDC 2014: One-Man Studio: How to make a game prototypeGameLandVN
 

Más de GameLandVN (20)

Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian womenMobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
 
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
 
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in IndiaMobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
 
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
 
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
 
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
 
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video adsMobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
 
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in VietnamMobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
 
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetizationMobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
 
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creationMobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 
Windows app & Microsoft's support
Windows app & Microsoft's supportWindows app & Microsoft's support
Windows app & Microsoft's support
 
Kinh nghiệm phát triển Captain Strike
Kinh nghiệm phát triển Captain StrikeKinh nghiệm phát triển Captain Strike
Kinh nghiệm phát triển Captain Strike
 
Microsoft BizSpark
Microsoft BizSparkMicrosoft BizSpark
Microsoft BizSpark
 
Microsoft Azure Introduction
Microsoft Azure IntroductionMicrosoft Azure Introduction
Microsoft Azure Introduction
 
OGDC 2014: Animation workflow with Spine in Tiny Busters
OGDC 2014: Animation workflow with Spine in Tiny BustersOGDC 2014: Animation workflow with Spine in Tiny Busters
OGDC 2014: Animation workflow with Spine in Tiny Busters
 
OGDC 2014: Vietnam Smartphone game market 2013 overview
OGDC 2014: Vietnam Smartphone game market 2013 overviewOGDC 2014: Vietnam Smartphone game market 2013 overview
OGDC 2014: Vietnam Smartphone game market 2013 overview
 
OGDC 2014: Speed up and make quality for your 3d models
OGDC 2014: Speed up and make quality for your 3d modelsOGDC 2014: Speed up and make quality for your 3d models
OGDC 2014: Speed up and make quality for your 3d models
 
OGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
OGDC 2014: Sky Garden Mobile conceptualization: From PC to MobileOGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
OGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
 
OGDC 2014: One-Man Studio: How to make a game prototype
OGDC 2014: One-Man Studio: How to make a game prototypeOGDC 2014: One-Man Studio: How to make a game prototype
OGDC 2014: One-Man Studio: How to make a game prototype
 

OGDC 2014: Cross Platform Mobile Game Application Development

  • 1. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Cross Platform Mobile Game Application Development Markku Kero / Eqela July 2014 / OGDC
  • 2. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
  • 3. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Cross platform development tools One codebase; target multiple platforms Many existing tools on the market
  • 4. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. “Cross platform tools do not work. Writing native code is the only way.”
  • 5. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Commonly encountered issues Large installer size Excessive memory use Low performance Limited API access
  • 6. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. ANOTHER COMMON SENTIMENT
  • 7. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. WHY?
  • 8. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Source code targeting a specific platform Tool Source / byte code and interpreter or VM for iOS Source / byte code and interpreter or VM for Android Runtime / Virtual machine (Java, JavaScript, Lua, Ruby, C#, ..) A common cross platform tool BROWSER “virtual machine”
  • 9. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Operating system Language interpreter / runtime APIs and libraries Application code A common cross platform tool Architecture
  • 10. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. A common cross platform tool Architecture Operating system Language interpreter / runtime APIs and libraries Application code Makes application installers bigger Increases memory usage Reduces runtime performance Applications can only access selected parts of the native API = INCREASED BATTERY USAGE
  • 11. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. (Source: http://docs.xamarin.com/Android/Guides/Advanced_Topics/Architecture)
  • 12. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
  • 13. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
  • 14. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Another popular architecture Source Code in HTML, CSS, JavaScript Tool C code That opens a Browser and Displays the program Java code That opens a Browser and Displays the program Android SDK iOS SDK “embed a web browser” BROWSER
  • 15. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Commonly encountered issues Large installer size Excessive memory use Low performance Limited API access
  • 16. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. The C/C++ approach C++ application code Tool C++ class library SWIFT BROWSER
  • 17. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. C++ / bytecode combination C++ code
  • 18. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
  • 19. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
  • 20. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved.
  • 21. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. THE APPROACH CAN BE IMPROVED
  • 22. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. HOW?
  • 23. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Programming language conversion (Source code) Small Installers Optimal memory use No API access limitationsNative performance
  • 24. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Comparison: A “hello world” application First approach (virtual machine / interpreter) Appcelerator: 8MB installer Xamarin / Mono (Unity): 4MB installer The “embed a web browser” approach: Phonegap / Cordova: ~300KB installer The “source code conversion” approach: 96KB installer
  • 25. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Programming Language Translator
  • 26. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. 2D / 3D GAMES MOBILE APPLICATIONS BUSINESS SYSTEMS WEBSITES / WEB APPLICATIONS BACKEND SERVERS DESKTOP TOOLS / UTILITIES AUTOMATED QUALITY ASSURANCE
  • 27. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. class Main : LayerWidget { public void initialize() { base.initialize(); add(LabelWidget.instance().set_text(“Hello World”)); } } Eqela Compiler LayerWidget LabelWidget Main.java LayerWidget.java LabelWidget.java Android SDK A sample Eqela application Main.eq
  • 28. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. class Main : LayerWidget { public void initialize() { base.initialize(); add(LabelWidget.instance().set_text(“Hello World”)); } } package mk.test; public class Main extends eq.gui.LayerWidget { @Override public void initialize() { super.initialize(); ((eq.gui.ContainerWidget)this).add(((eq.gui.Widget)eq.widget.LabelWidge t.eq_widget_LabelWidget_instance().set_text(eq.api.StringStatic.eq_api_ StringStatic_for_strptr("Hello world")))); } public Main() { } } (EQELA) (JAVA)
  • 29. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. class AndroidHTTPGet { public static bool execute(String url) { embed “java” {{{ org.apache.http.client.methods.HttpUriRequest hur = new org.apache.http.client.methods.HttpGet(url.to_strptr()); android.net.http.AndroidHttpClient hc = android.net.http.AndroidHttpClient.newInstance(“testing”); org.apache.http.HttpResponse resp = hc.execute(hur); if(resp == null) { return(false); } }}} return(true); } } → All platform specific features / APIs are accessible Embedding other languages
  • 30. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. SpriteKit Sprite Engine R3D → NO TECHNOLOGY LOCK-IN
  • 31. Copyright (c) 2014 Eqela Pte Ltd. All Rights reserved. Thank you markku.kero@jobandesther.com www.eqela.com