1 / 45

Get your iPhone game to 2,000 handsets

Get your iPhone game to 2,000 handsets. Mikko Uromo Director, Developer Relations & Outsourcing GameHouse muromo@real.com. This session. A little background What’s our approach Development details Hopefully time for some Q&A. Who we are. What we look like. What we do.

reia
Download Presentation

Get your iPhone game to 2,000 handsets

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. Get your iPhone game to 2,000 handsets Mikko Uromo Director, Developer Relations & Outsourcing GameHouse muromo@real.com

  2. This session • A little background • What’s our approach • Development details • Hopefully time for some Q&A

  3. Who we are

  4. What we look like

  5. What we do

  6. So, you’re developing for the iPhone!

  7. Smartphones in 2009 http://www.cellular-news.com/story/41792.php

  8. Mobile sales in 2009 http://www.gartner.com/it/page.jsp?id=1306513

  9. Mobile is challenging • Expensive • Fragmentation • Carriers • Backfills

  10. What’s our approach? • Target the whole market • Hide fragmentation • Cost effective development & QA • Support new devices from day one

  11. No magic tricks • …but close to a silver bullet • Scalability is key • EMERGE™ • Guidelines

  12. Choose your battles • Low-end, old devices, coverage requirements… • Good game experience! • Touch vs. keys • Connectivity & social gaming • Future benefits

  13. How do we do it?

  14. Develop the best version • Best possible experience • Don’t branch development • Focus on touch & high-end • No limitations!

  15. Target the Other Devices • Finish assets • Optimize & fix bugs • Make sure everything is scalable • Get the game down to 64k • Help automate post-production

  16. Our tools

  17. EMERGE™ • A cross-platform game development framework • Used in 70+ titles • 2,000+ devices supported • iPhone, Android, J2ME, BREW, Flash, DSi, Windows Mobile…

  18. The framework • Abstraction layer • Native implementations of core API • Pluggable modules • Customizations • Improvements help all games

  19. Sample code #include “common.cjavai” #define FP 10 global int_arraytileMap; global void loadLevel() { tileMap = data_getIntArray_TILEMAP(); for (inti=0; i<array_length(tileMap); i++) doSomething(tileMap[i]); } global void game_paint() { renderBackground(); gfx_drawImage_SPACESHIP(shipX>>FP, shipY>>FP, ALIGN_LT, 0); }

  20. Handset profiles • One for each supported device • Contains benchmark data • Games and EMERGE adapt automatically • SKU can work on multiple devices

  21. Resolution classes

  22. Large source art

  23. R6 / WVGA / MOTOROLA DROID

  24. R5 / 480x320 / IPHONE

  25. R4 / 240x320 / SONYERICSSON C510

  26. R3 / 176x208 / MOTOROLA RAZOR

  27. R2 / 128x128 / NOKIA 3200

  28. Scalable layouts

  29. Porting

  30. The default build

  31. Next stop: 64k

  32. Interpolate!

  33. In practice Step 1: SP3_DISABLE_CUTSCENE_BACKGROUND SP3_DROP_LARGE_EVENT_ICONS SP3_DROP_BG_PROPS Step 2: SP3_DROP_HIGHLIGHT_FONT SP3_DISABLE_KANJI_GRAPHICS SP3_DROP_LARGE_TROPHY_ICONS Step 3: SP3_DISABLE_INTRO SP3_DROP_AUDIENCE SP3_DISABLE_CAPTIONFONT ...

  34. What our QA does • Adjust three numerical “sliders” • Possible to tweak SKUs manually

  35. Porting as QA sees it Device memory <= 300k: SP3_DROPFEATURES_MEMORY = 10 Benchmarked FPS < 10: SP3_DROPFEATURES_SPEED = 8 Nokia N96: SP3_DROPFEATURES_MEMORY = 1 Samsung ZX20: SP3_DROPFEATURES_SIZE = 8

  36. Porting as devs see it #ifdef USE_LESS_PARTICLES #define MAX_PARTICLES 20 #else #define MAX_PARTICLES 400 #endif global void drawBackground() { #ifdef DISABLE_BACKGROUND gfx_setColor(BG_COLOR); gfx_fillRect(0, 0, X_RES, Y_RES); #else gfx_drawImage_BACKGROUND(X_CEN, Y_CEN, ALIGN_HCVC, 0); #endif }

  37. The logistics • QA takes less than 1h per handset • Over 10,000 SKUs per game • Build farm • Track submissions & coverage • Large-scale DB solution

  38. The benefits • Cheaper dev and post-production • Better game quality • 100% handset support • Day one backfills & full back catalogue support • Customizations

  39. The big takeaway? • There’s more than the iPhone • You can target the entire market

  40. That’s it!

  41. Questions? • muromo@real.com

More Related