Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
MarmaladeBittersweet experience
Max Klyga@neku42          max.klyga@gmail.com
Mad Hat Games•  We develop mobile free2play games
Mad Hat Games•  We develop mobile free2play games•  Programmers have strong C++   background
Mad Hat Games•  We develop mobile free2play games•  Programmers have strong C++   background•  Artists have strong Flash b...
Asset Pipeline•  Everything is done in Adobe Flash
Asset Pipeline•  Everything is done in Adobe Flash•  Flash files are used as bundles
Asset Pipeline•  Everything is done in Adobe Flash•  Flash files are used as bundles•  Images are extracted from flash,   ...
Engine
Engine Framework
Engine Framework•  Written in C++
Engine Framework•  Written in C++•  Built on top of Marmalade SDK
Write onceDebug everywhere
Sweet•  Develop on Windows (Visual Studio) or   Mac (XCode)
Sweet•  Develop on Windows (Visual Studio) or   Mac (XCode)•  One click deploy to iOS, Android,   BADA, Blackberry, Simbia...
Sweet•  Develop on Windows (Visual Studio) or   Mac (XCode)•  One click deploy to iOS, Android,   BADA, Blackberry, Simbia...
Bitter TOO MANYTHINGS TO FIT  ONE SLIDE
Bitter TOO MANYTHINGS TO FIT  ONE SLIDE
Bitter Build system doesn’t playwell with JDK 7  (Android SDK issue)
Bitter Build system  Can be sort of   fixed though doesn’t playdecompiling buildwell with JDK    system and 7 manual SDK i...
BitterBundles OLD stlport No Visual Studio debug visualizers     support
Bitter Multithreading problems: Memory can be freed onlyfrom thread it was allocated             in.         Enjoy!
BitterNetwork problems:One failed request can hang your  application
Bitter  Workaround:Network problems:Havefailed requestOne no more then one request at a  can hang your       time   applic...
BitterNetwork problems:   Workaround:   Turn off someOne failed request optimisations for can hanginternalMarmalade      y...
BitterExtensions problems: (missing features,       bugs)
Bitter    Dependencies:    You need IwUtil fortracing and it depends  on a whole lot of stuff(libjpg, libpng, zlib, etc.)
BitterSometimes updates randomly break stuff:•    Problems with ATI cards on Simulator•    Appending ‘n’ to HTTP request b...
BitterVirtually no support   Bugs can beignored for months
Bitter•  Video playback problems•  Native UI and Input problems•  Things I don’t remember
Sour        Memory management: Marmalade allocates one continuous   chunk of memory from system.       Replaces malloc/new...
Sour No debugging on     deviceLogging is your friend
ConclusionWas it worth it?
Conclusion   Be ready toreimplement stuff  (we reimplemented facebook,    music, sound and filesystemextensions, heavily m...
QUESTIONS?     Max Klyga@neku42          max.klyga@gmail.com
Marmalade: bittersweet experience
Marmalade: bittersweet experience
Marmalade: bittersweet experience
Marmalade: bittersweet experience
Upcoming SlideShare
Loading in …5
×

Marmalade: bittersweet experience

1,090 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Marmalade: bittersweet experience

  1. 1. MarmaladeBittersweet experience
  2. 2. Max Klyga@neku42 max.klyga@gmail.com
  3. 3. Mad Hat Games•  We develop mobile free2play games
  4. 4. Mad Hat Games•  We develop mobile free2play games•  Programmers have strong C++ background
  5. 5. Mad Hat Games•  We develop mobile free2play games•  Programmers have strong C++ background•  Artists have strong Flash background
  6. 6. Asset Pipeline•  Everything is done in Adobe Flash
  7. 7. Asset Pipeline•  Everything is done in Adobe Flash•  Flash files are used as bundles
  8. 8. Asset Pipeline•  Everything is done in Adobe Flash•  Flash files are used as bundles•  Images are extracted from flash, packed into atlases and compressed
  9. 9. Engine
  10. 10. Engine Framework
  11. 11. Engine Framework•  Written in C++
  12. 12. Engine Framework•  Written in C++•  Built on top of Marmalade SDK
  13. 13. Write onceDebug everywhere
  14. 14. Sweet•  Develop on Windows (Visual Studio) or Mac (XCode)
  15. 15. Sweet•  Develop on Windows (Visual Studio) or Mac (XCode)•  One click deploy to iOS, Android, BADA, Blackberry, Simbian, Win Phone 8, LG TV, Desktop (Mac, Windows)
  16. 16. Sweet•  Develop on Windows (Visual Studio) or Mac (XCode)•  One click deploy to iOS, Android, BADA, Blackberry, Simbian, Win Phone 8, LG TV, Desktop (Mac, Windows)•  Simulator (!)
  17. 17. Bitter TOO MANYTHINGS TO FIT ONE SLIDE
  18. 18. Bitter TOO MANYTHINGS TO FIT ONE SLIDE
  19. 19. Bitter Build system doesn’t playwell with JDK 7 (Android SDK issue)
  20. 20. Bitter Build system Can be sort of fixed though doesn’t playdecompiling buildwell with JDK system and 7 manual SDK issue) (Android patching
  21. 21. BitterBundles OLD stlport No Visual Studio debug visualizers support
  22. 22. Bitter Multithreading problems: Memory can be freed onlyfrom thread it was allocated in. Enjoy!
  23. 23. BitterNetwork problems:One failed request can hang your application
  24. 24. Bitter Workaround:Network problems:Havefailed requestOne no more then one request at a can hang your time application
  25. 25. BitterNetwork problems: Workaround: Turn off someOne failed request optimisations for can hanginternalMarmalade your applicationmultitasking features
  26. 26. BitterExtensions problems: (missing features, bugs)
  27. 27. Bitter Dependencies: You need IwUtil fortracing and it depends on a whole lot of stuff(libjpg, libpng, zlib, etc.)
  28. 28. BitterSometimes updates randomly break stuff:•  Problems with ATI cards on Simulator•  Appending ‘n’ to HTTP request body•  Regressions•  etc.
  29. 29. BitterVirtually no support Bugs can beignored for months
  30. 30. Bitter•  Video playback problems•  Native UI and Input problems•  Things I don’t remember
  31. 31. Sour Memory management: Marmalade allocates one continuous chunk of memory from system. Replaces malloc/new.Have to write your own memory allocator on top of one provided by marmalade.
  32. 32. Sour No debugging on deviceLogging is your friend
  33. 33. ConclusionWas it worth it?
  34. 34. Conclusion Be ready toreimplement stuff (we reimplemented facebook, music, sound and filesystemextensions, heavily modified others)
  35. 35. QUESTIONS? Max Klyga@neku42 max.klyga@gmail.com

×