ivan bely, marmalade
DESCRIPTION
How a Single Codebase Can Be Your Pass to a Multi-Platform World of Revenue -- Ivan Bely, Team Lead at MarmaladeTRANSCRIPT
Ivan BeliyTeam Lead
Marmalade Juice
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 1
How a single codebase can be
your pass to a multi-platform world of
revenue
What is Marmalade Juice?
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 2
Marmalade Juice will allow developers to take native
iOS projects using typical iOS frameworks, and
migrate them quickly and easily to Android and other
platforms.
What is Marmalade Juice?
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 3
A porting “ecosystem” for taking iOS apps to Marmalade
A “middleware” layer on top of the Marmalade SDK
A set of tools and libraries
Why use Marmalade Juice?
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 4
Recompile Obj C rather than rewriteNative codeIntegration with Xcode IDEIntegration with Marmalade simulatorPotential for multiple target platforms from single codebase
Focus effort on optimising & polishing for target platform, not on the labour of porting
What Marmalade Juice consists of?
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 5
Common iOS Framework libraries
Clang compiler toolchain
Static compatibility analysis tool
iOS Xcode project converter
gprof for on-device profiling
Supporting Marmalade SDK extensions
How do you use Marmalade Juice?
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 6
Run compatibility analysis tool on iOS project
Generate initial MKB from iOS Xcode project
Tune and extend MKB
Generate Juice Xcode project
Build, implement, fix, test, debug, optimise
Ship!
Project Conversion
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 7
one-time conversion
Interface Builder and iOS assets still used
iOS Xcode Project
Original iOS app code remains unchanged
Juice Xcode Project
Marmalade Juice Build Pipeline
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 8
MKB
CLANGCross-
Platform Binary
iOS and Marmalade APIs
Titles using Marmalade Juice
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 9
Tap Paradise Cove from Pocket GemsKingdom Clash from Storm8
Case Study: Storm8's Kingdom Clash
Case Study: Storm8's Kingdom Clash
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 11
2d isometric gameUses common iOS frameworks, including:
UIKit, StoreKitCoreGraphics, CFNetworkAudioToolbox, AVFoundation, MediaPlayerOpenGL ES 1
Coded in Objective C and C++Recently shipped on iOSSizeable codebase shared with other games
Case Study: Storm8's Kingdom Clash
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 12
Team backgroundNot familiar with game codebaseSome familiarity with Marmalade SDK and Juice
GoalsUse Juice to port game from iOS to AndroidImprove and extend Juice
Time framePre-pro & Planning Mid July
Main Development Late July to September
Finalling Early October
Kingdom Clash – Main Areas of Work
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 13
Text input
UI Layout tweaks
Caching of loaded resources
Asset file format conversion
Clang compiler workarounds
Tuning ICF settings
Orientation handling
Back button handling
Bug fixing
Server-side Android
support
Improvements to Juice
Extensions to Juice
Marmalade Juice removes brute-force porting
Hugely reduced development time and cost
Continue using Xcode, Objective-C & iOS APIs across all
platforms
Port from iOS to Android without changing workflow
Target any Marmalade Juice supported platforms from a
single codebase, with simultaneous releases
Open source framework10/04/2023 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 14
Benefits for Developers with Juice
Marmalade Juice Roadmap
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 15
Current status:Alpha releasedBeta soon to be releasedFull launch this Spring
Post release:More feature implementationsImproving product based on feedbackUpdating for new iOS releasesSupport for more platforms
To find out more...
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 16
Ask us today!
Questions?
30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 17