Ivan Bely, Marmalade

Preview:

DESCRIPTION

How a Single Codebase Can Be Your Pass to a Multi-Platform World of Revenue -- Ivan Bely, Team Lead at Marmalade

Citation preview

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!

Email

hello@marmalademail.com

Questions?

30/10/13 © Marmalade. Trademarks belong to their respective owners. All rights reserved. 17