17
Ivan Beliy Team 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

Ivan Bely, Marmalade

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Ivan Bely, Marmalade

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

Page 2: Ivan Bely, Marmalade

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.

Page 3: Ivan Bely, Marmalade

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

Page 4: Ivan Bely, Marmalade

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

Page 5: Ivan Bely, Marmalade

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

Page 6: Ivan Bely, Marmalade

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!

Page 7: Ivan Bely, Marmalade

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

Page 8: Ivan Bely, Marmalade

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

Page 9: Ivan Bely, Marmalade

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

Page 10: Ivan Bely, Marmalade

Case Study: Storm8's Kingdom Clash

Page 11: Ivan Bely, Marmalade

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

Page 12: Ivan Bely, Marmalade

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

Page 13: Ivan Bely, Marmalade

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

Page 14: Ivan Bely, Marmalade

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

Page 15: Ivan Bely, Marmalade

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

Page 16: Ivan Bely, Marmalade

To find out more...

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

Ask us today!

Email

[email protected]

Page 17: Ivan Bely, Marmalade

Questions?

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