iBasketThe story of an HTML5 game       Iker Jamardo           Ludei        2013/01/21
iBasket
Ludei’s first steps in         gaming            Main goal         Develop fun games for          iOS, Android and the    ...
Ludei’s first steps in                    gaming• First games:  •   Objective-C for iOS  •   Java for Android  •   Unity &...
Going cross-platformDevelop a C/C++ framework......for iOS and Android.
What about the Web?
Let’s try         ......and hope for the best!
was born         An Open Source JavaScript HTML5                  Game EngineHandles scenes, actors, hierarchy, input, scr...
We got pretty excited with      the results!
What about mobile                               ?    First try...                                                    ...di...
So, what can we do now?First GET ANGRY!,Then,   drop the project, try to solve the problem.                  or
was bornTook a plain JSVM and added all the HTML5 APIs weidentified to be necessary to develop a canvas based   game, plus...
was bornIn fact, we added it to our C/C++ native application     development framework as a new service.            CAAT a...
Challenges of   game        development on mobileChange “the web developer” way of thinking        Sorry, a mobile device ...
Challenges of   gamedevelopment on mobileSmart memory management
Challenges of   game       development on mobilePower of two friendly images + texture packing•Decreases   memory waste•De...
Challenges of   game    development on mobileOptimize your JavaScript more than ever
Challenges of   game        development on mobileClosures and complex JavaScript hierarchies...               ...can be EV...
Challenges of   gamedevelopment on mobile Control garbage collection
Challenges of   game                development on mobile                                       K!var image = new Image();...
Challenges of   game             development on mobile                     Abstraction is key                          •  ...
Challenges of   game   development on mobileNative features are REALLY important               •   In-app payments        ...
Challenges of   game                 development on mobileCocoonJS.Ad.preloadBanner();CocoonJS.Ad.preloadFullScreen();Coco...
Challenges of   game development on mobileDevelop and test on mobile FIRST!
So, is   ready for gaming?Desktop          Mobile               Using hybrid  YES           solutions,                   YES
So, is               ready for gaming?•   We start to be legion (in 4 months of activity)    • 2275 registered developers....
But, hey, what do I know! ;)Judge for yourselves!
We are hiring!We want you! Contact us at ludei.com
Upcoming SlideShare
Loading in …5
×

iBasket: The story of an HTML5 game

1,082 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,082
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

iBasket: The story of an HTML5 game

  1. 1. iBasketThe story of an HTML5 game Iker Jamardo Ludei 2013/01/21
  2. 2. iBasket
  3. 3. Ludei’s first steps in gaming Main goal Develop fun games for iOS, Android and the Web.
  4. 4. Ludei’s first steps in gaming• First games: • Objective-C for iOS • Java for Android • Unity & Flash for the Web
  5. 5. Going cross-platformDevelop a C/C++ framework......for iOS and Android.
  6. 6. What about the Web?
  7. 7. Let’s try ......and hope for the best!
  8. 8. was born An Open Source JavaScript HTML5 Game EngineHandles scenes, actors, hierarchy, input, screen resolutions, audio, physics,complex animations, ...Renders using canvas, CSS or WebGL.
  9. 9. We got pretty excited with the results!
  10. 10. What about mobile ? First try... ...disappointing• Poor overall performance .• Some APIs missing or not working• Can’t compete with native • Lack of monetization channels (ads, IAPs, ...) • Missing expected services === not a good user experience
  11. 11. So, what can we do now?First GET ANGRY!,Then, drop the project, try to solve the problem. or
  12. 12. was bornTook a plain JSVM and added all the HTML5 APIs weidentified to be necessary to develop a canvas based game, plus some specific extension APIs for the things that are missing in the standard.
  13. 13. was bornIn fact, we added it to our C/C++ native application development framework as a new service. CAAT and CocoonJS are a perfect match.
  14. 14. Challenges of game development on mobileChange “the web developer” way of thinking Sorry, a mobile device is not a desktop computer or a laptop!
  15. 15. Challenges of gamedevelopment on mobileSmart memory management
  16. 16. Challenges of game development on mobilePower of two friendly images + texture packing•Decreases memory waste•Decreases context changes === improves performance 2048 2048
  17. 17. Challenges of game development on mobileOptimize your JavaScript more than ever
  18. 18. Challenges of game development on mobileClosures and complex JavaScript hierarchies... ...can be EVIL!
  19. 19. Challenges of gamedevelopment on mobile Control garbage collection
  20. 20. Challenges of game development on mobile K!var image = new Image(); EAimage.src = “PATH_TO_YOUR_IMAGE”;image.onload = function(e) { L console.log(“Image: “ + image.width + “x” + image.height);}; This ain’t good ;)var image = new Image();image.src = “PATH_TO_YOUR_IMAGE”;image.onload = function(e) { console.log(“Image: “ + e.target.width + “x” + e.target.height);}; This is better.
  21. 21. Challenges of game development on mobile Abstraction is key • from input • from screen resolution • from rendering“be agnostic my friend”
  22. 22. Challenges of game development on mobileNative features are REALLY important • In-app payments • Advertisement • Push notifications • Social network integration • Analytics
  23. 23. Challenges of game development on mobileCocoonJS.Ad.preloadBanner();CocoonJS.Ad.preloadFullScreen();CocoonJS.Ad.onBannerShown.addEventListener(function() { console.log("onBannerShown");});CocoonJS.Ad.onFullScreenShown.addEventListener(function() { console.log("onFullScreenShown");});CocoonJS.Ad.onFullScreenHidden.addEventListener(function() { console.log("onFullScreenHidden");});CocoonJS.Ad.setBannerLayout(CocoonJS.Ad.BannerLayout.BOTTOM_CENTER);CocoonJS.Ad.showBanner();CocoonJS.Ad.hideBanner();CocoonJS.Ad.showFullScreen();
  24. 24. Challenges of game development on mobileDevelop and test on mobile FIRST!
  25. 25. So, is ready for gaming?Desktop Mobile Using hybrid YES solutions, YES
  26. 26. So, is ready for gaming?• We start to be legion (in 4 months of activity) • 2275 registered developers. • 1035 ongoing projects • 72 games published in Google Play • 34 games published in the App Store
  27. 27. But, hey, what do I know! ;)Judge for yourselves!
  28. 28. We are hiring!We want you! Contact us at ludei.com

×