Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Digital Chocolate Java: write once, run everywhere – or how did it go again? December 2005 Valtteri Pirttilä, Technology Team Leader Digital Chocolate.

Similar presentations


Presentation on theme: "1 Digital Chocolate Java: write once, run everywhere – or how did it go again? December 2005 Valtteri Pirttilä, Technology Team Leader Digital Chocolate."— Presentation transcript:

1 1 Digital Chocolate Java: write once, run everywhere – or how did it go again? December 2005 Valtteri Pirttilä, Technology Team Leader Digital Chocolate Ltd.

2 2 Outline 1)Introduction 2)Challenges 3)Architecture 4)Code

3 3 Digital Chocolate in Brief Publisher of downloadable mobile games and non-gaming lifestyle applications Founder and CEO Trip Hawkins, former CEO and Chairman of Electronic Arts Currently ~90 employees in Helsinki, Finland and ~60 in San Mateo, California Acquired leading European games publisher Sumea in June 2004

4 4 Global Distribution Total 200 partners in 60 countries

5 5 Our strategy 100% focused on mobile Invest in product quality, not in property licenses Cornerstones of product strategy –Community –Quality –Innovation

6 6 Our Investment in Quality and Innovation Has Paid Off...

7 7 World’s #1 Reviewed Publisher Only Publisher, worldwide, with 2 of Top 5 Reviewed Games on GameSpot (2/5 = 40%) Only Publisher, worldwide, with 3 titles to earn 8 (out of 10) or better on GameSpot (3/12 = 25%) Highest reviewed among all worldwide Publishers for last 5 titles released Less than 10% of 2005 GS 500+ reviewed games will earn >8 Less than 1% of 2005 GS 500+ reviewed games will earn >9 Source: GameSpot, Oct 2005, last 3 month GameSpot Top 5 Rated Source: GameSpot, as of Oct 2005 GameSpot Top Rated 2005

8 8 Outline 1)Introduction 2)Challenges 3)Architecture 4)Code

9 9 Challenges in a Nutshell  Challenges are not just technical, but also organizational !!

10 10 Screen Sizes Small (96x65) Large (176x208) Medium (128x128) QVGA (240x320) NOTE: Screenshots from ”Mafia Wars”, QVGA version created by scaling 10+ different screen resolutions ranging from 96x65 to 240x320 (pixels) Mostly active matrix, some old ones have passive matrices

11 11 Processing Power Fastest CPU over 45 times more powerful than the slowest Screen size grows faster than CPU power  Power-Per-Pixel currently reducing

12 12 Handset Range There are 300+ Java-enabled handsets High End developing faster than low end  Handset range is growing To over-emphasize the point –Low end generates revenues –High end generates publicity 100% device support is a MUST Emerging markets Established markets Time Device Capabilities Nokia 6100

13 13 Example Case: Fantasy Warrior 2: Good Low-End Version ~8.5kB of graphics 36 10x10 background tiles 38 character animation frames 32 item and effect frames High-End Version ~120kB of graphics x17 background tiles 144 character animation frames 61 effect and image frames Alpha transparency used Mist effects 5 x more work !! AND This is without QVGA !!

14 14 The Porting & QA Nightmare Develop one game Port to 100 handsets Localize to 5 Languages Build portfolio of 20 titles

15 15 Outline 1)Introduction 2)Challenges 3)Architecture 4)Code

16 16 Toolkit - Application Framework APIs Toolkit Game Device CharacteristicsChannel RequirementsLocalization

17 17 Localization Game’s Sheet Generic Sheet Other sheets e.g. Hiscore API, Bluetooth API One access point through which all text is used Supports Multi-Language builds Supports component structure of framework Game Localization Module

18 18 Multi-Language & Multi-Handset Builds 1 SKU EFIGS as standard in one SKU –Except in 64k devices Example: 5 Languages & 4 Handsets –BEFORE: 20 SKUs –NOW: 1 SKU Actual Numbers from average game –BEFORE: 210 SKUs –NOW: Support 160+ devices with 60 SKUs

19 19 Supporting APIs Example: Sounds –MIDI sounds One API implementations not working in exactly the same way e.g. Looping, Pre-Loading, Re-Starting,...  One standard API has to be used differently –Other sounds formats: OTT, SPF, AMR,... Same challenge with other APIs –e.g. Bluetooth, High Score / Community, Billing,... SPFOTT MIDI #3 MIDI #2 MIDI #1 BT #3 BT #2 BT #1 BT Sounds HS #3 HS #2 HS #1 HS

20 20 Outline 1)Introduction 2)Challenges 3)Architecture 4)Code

21 21 Device Abstraction example:

22 22 In code:

23 23 Why? The Statics are generated before compiling Obfuscator drops unused code blocks, including methods and classes High amount of configurations with a small jar

24 24 Localization

25 25 Digital Chocolate Seize The Minute. ™ Digital Chocolate Ltd Itämerenkatu 5, FI Helsinki, Finland Fax ▪


Download ppt "1 Digital Chocolate Java: write once, run everywhere – or how did it go again? December 2005 Valtteri Pirttilä, Technology Team Leader Digital Chocolate."

Similar presentations


Ads by Google