1 / 25

Digital Chocolate Java: write once, run everywhere – or how did it go again?

Digital Chocolate Java: write once, run everywhere – or how did it go again?. December 2005 Valtteri Pirttilä, Technology Team Leader Digital Chocolate Ltd. Outline. Introduction Challenges Architecture Code. Digital Chocolate in Brief.

zanthe
Télécharger la présentation

Digital Chocolate Java: write once, run everywhere – or how did it go again?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Outline • Introduction • Challenges • Architecture • Code

  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. Global Distribution Total 200 partners in 60 countries

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

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

  7. GameSpot Top 5 Rated GameSpot Top Rated 2005 Source: GameSpot, Oct 2005, last 3 month Source: GameSpot, as of Oct 2005 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

  8. Outline • Introduction • Challenges • Architecture • Code

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

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

  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. 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 Established markets Emerging markets Nokia 6100 Device Capabilities Time

  13. 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 330 17x17 background tiles 144 character animation frames 61 effect and image frames Alpha transparency used Mist effects AND This is without QVGA !! Example Case:Fantasy Warrior 2: Good 5 x more work !!

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

  15. Outline • Introduction • Challenges • Architecture • Code

  16. Toolkit - Application Framework Game Toolkit Localization APIs Device Characteristics Channel Requirements

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

  18. 1 SKU Multi-Language & Multi-Handset Builds • 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. BT #3 HS #3 BT #2 HS #2 BT HS BT #1 HS #1 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, ... Sounds MIDI #3 MIDI #2 SPF OTT MIDI #1

  20. Outline • Introduction • Challenges • Architecture • Code

  21. Device Abstraction example:

  22. In code:

  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. Localization

  25. Digital ChocolateSeize The Minute.™ Digital Chocolate LtdItämerenkatu 5, FI-00180 Helsinki, FinlandFax +358 9 676 301 ▪ 

More Related