Pubblica il tuo gioco sugli App Store in                         pochi giorni           ovvero “Guida pragmatica allo stat...
Per chi è questo talk   • Sei un bravo sviluppatore, e vuoi cimentarti nella        programmazione di videogiochi 2D per M...
Target                               <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
Target                                   <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
Tool   • Tool nativi (SDK) per ogni piattaforma: gratuiti e con        subscription per la pubblicazione sullo store   • M...
iPhone   • iOS (iPod/iPhone/iPad)      • C, C++ o Objective C (OpenGL ES 1.1)      • Framework di basso livello         • ...
Android   • Android      • C++, Java (OpenGL ES 1.1)      • Framework di basso livello         • Cocos2dx, Cocos2d-android...
Hardware   • L’Hardware è simile      • OpenGL ES è il fattore comune   • Android è più frammentato      • Molte versioni ...
Scelta del target iOS ha la maggior parte del mercato applicativo Il rapporto con Android è circa 50:1 10.000.000 vs 200.0...
Scelta del target   • Android è un mercato emergente ma meno        remunerativo         • ma anche con meno concorrenza, ...
Scelta del target                                              <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturda...
Scelta del tipo di gioco                                <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, Marc...
Quale tipo di gioco?   • Molti giochi sono solo per specialisti di settore e        hanno degli engine complicati   • I Gi...
Un gioco di successo: parte 1   • Un gioco di successo su Mobile oggi:      • Ha una grafica colorata e stilosa, oppure mo...
Un gioco di successo: parte 2   • Permette di giocare con gli altri sulla rete o perlomeno        di condividere risultati...
Scelta del fw/linguaggio                           <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, ...
Programmare nativamente   • Utilizzare il linguaggio nativo, senza aiuti e        programmando direttamente in OpenGL è un...
Corona e Cocos2D   • Corona      • Lua, portabile e semplice, physics engine integrato,       discretamente potente, time ...
Corona e Cocos2D   • La soluzione migliore - partendo da zero oggi - è        usare Corona SDK         • se e solo se le l...
Corona e Cocos2D: un confronto                                              Corona                         Cocos2D iPhone ...
Cocos2D per iPhone                                     <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March...
Cocos2D: alcune features   • Sprite ed Actions   • Scrolling (anche con parallasse)   • Scene e Transizioni   • Effetti fi...
Cocos2D   • Objective C (ma si può usare Lua tramite Wax!)   • C++ se si usa Box2D, C per Chipmunk gestione        memoria...
Cocos 2D iPhone                                            <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, M...
Cocos 2D iPhone                                            <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, M...
Cocos 2D Demo                                   <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
Scelta dei tool per                               Cocos2D                                      <ugo landini> - <ugo.landin...
Come e da dove partire   • Giochi già fatti da cui partire (a pagamento)      • Sapus Tongue, iPhone Game Kit, Starter kit...
Corona SDK                                 <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
Corona   • Corona ha un approccio innovativo   • LUA è un linguaggio di scripting molto utilizzato nel        gaming (WoW,...
Vantaggi di Corona   • Un semplice reload nel Simulatore per far ripartire il        gioco   • Ciclo di sviluppo/test/depl...
Svantaggi di Corona   • Se mancano dei binding per funzionalità di base non        implementabili in Lua, si fa complicata...
Svantaggi di Corona   • Ci sono dei giochi non realizzabili con Corona         • da capire il prima possibile per passare ...
Corona e Lua                                         <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5...
Corona e Lua                                         <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5...
Uso di Tiled Maps con Lime   • Lime è una libreria LUA per gestire mappe costruite        con Tiled (TMX files)   • Lime n...
Uso di Tiled Maps con Lime                                                       <ugo landini> - <ugo.landini@gmail.com> –...
Corona e Lua                                         <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5...
Corona Demo                                  <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
Scelta dei tool per Corona                          <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5,...
Come e da dove partire   • Tiled   • Lime         • attenzione che al 05/03 ha ancora problemi di performance sui device! ...
Mi serve un grafico???                          e un musicista?                                       <ugo landini> - <ugo...
La Grafica, un tasto delicato   • Se si ha accesso ad un grafico, utilizzarlo :)   • Sforzarsi in ogni caso di costruire l...
La Grafica, un tasto delicato   • Realizzare un gioco che non ha bisogno di una grafica        complicata e realizzarsela ...
Risorse free online   • Risorse free:         • http://reinerstileset.4players.de/         • http://tango.freedesktop.org ...
Ok, ho finito il gioco, e                             ora?                                  <ugo landini> - <ugo.landini@g...
Pubblica il tuo gioco sull’App Store in pochi giorni   • Sembra tutto finito. Ora si deve:      • Giocare il gioco, guarda...
Risorse per Cocos2d                                      <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, Mar...
Pubblica il tuo gioco sull’App Store in pochi giorni   • http://www.cocos2d-iphone.org/   • http://www.learn-cocos2d.com  ...
Risorse per Corona                                     <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March...
Pubblica il tuo gioco sull’App Store in pochi giorni   • http://developer.anscamobile.com/   • http://www.lua.org/        ...
Questions and Answers                              <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, ...
Upcoming SlideShare
Loading in …5
×

"Pubblica il tuo gioco sugli app store in pochi giorni"

5,368 views

Published on

Intervento Codemotion del 5 Marzo 2001

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
  • My Dearest,
    my name is miss favour yak,l read your profile today at (www.slideshare.net)
    and i choosed you as the only one whom i can give my heart as far as love is concern ensuring i bring joy and happiness into your door
    step.lf you are interested in me and want to know more about me and to
    view my pictures,you can contact me
    (favour_buba34@yahoo.co.uk) My dear i want you to understand that there is
    no age,race,colour and religion bar when it comes to true love.only
    what is important is pure and devoted relationship.Hoping to hear from
    you as soon as possible.Thank you
    Miss favour
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,368
On SlideShare
0
From Embeds
0
Number of Embeds
219
Actions
Shares
0
Downloads
89
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

"Pubblica il tuo gioco sugli app store in pochi giorni"

  1. 1. Pubblica il tuo gioco sugli App Store in pochi giorni ovvero “Guida pragmatica allo stato dell’arte del Mobile Game Programming” <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  2. 2. Per chi è questo talk • Sei un bravo sviluppatore, e vuoi cimentarti nella programmazione di videogiochi 2D per Mobile • Non hai significative esperienze di programmazione videoludica • Hai una buona idea ma non hai molto tempo a disposizione per imparare nuove tecnologie • Vuoi divertirti, ma possibilmente vuoi anche guadagnarci dei soldi :) <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  3. 3. Target <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  4. 4. Target <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  5. 5. Tool • Tool nativi (SDK) per ogni piattaforma: gratuiti e con subscription per la pubblicazione sullo store • Mercato fluido ed in espansione • Nuovi spazi per tool che • abbassino il Time To Market • siano Cross Platform: iPhone in primis, Android e poi a seguire tutti gli altri (eventualmente) <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  6. 6. iPhone • iOS (iPod/iPhone/iPad) • C, C++ o Objective C (OpenGL ES 1.1) • Framework di basso livello • Cocos2d, Cocos2dx, OOLong (3D) • Framework di alto livello • Game Salad, Corona <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  7. 7. Android • Android • C++, Java (OpenGL ES 1.1) • Framework di basso livello • Cocos2dx, Cocos2d-android, LibGDX, AndEngine • Framework di alto livello • Corona <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  8. 8. Hardware • L’Hardware è simile • OpenGL ES è il fattore comune • Android è più frammentato • Molte versioni dell’OS, capacità molto diverse dei dispositivi • Corona SDK ha recentemente annunciato di supportare solo dalla 2.1 in poi <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  9. 9. Scelta del target iOS ha la maggior parte del mercato applicativo Il rapporto con Android è circa 50:1 10.000.000 vs 200.000 per smartphone 4.000:1 su Tablet (dati 25/02/2011) 60.000 vs 16 <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  10. 10. Scelta del target • Android è un mercato emergente ma meno remunerativo • ma anche con meno concorrenza, e con la % più alta di applicazioni free • Se lo sforzo del porting è eccessivo, in questo momento potrebbe convenire realizzare due giochi per iPhone che lo stesso gioco su entrambe le piattaforme • Usare tool cross platform se possibile <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  11. 11. Scelta del target <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  12. 12. Scelta del tipo di gioco <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  13. 13. Quale tipo di gioco? • Molti giochi sono solo per specialisti di settore e hanno degli engine complicati • I Giochi per Mobile Indie Developer alle prime armi sono altri: • Puzzle, Action • Physics • Platform, RPG <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  14. 14. Un gioco di successo: parte 1 • Un gioco di successo su Mobile oggi: • Ha una grafica colorata e stilosa, oppure molto semplice e particolare • Un Gameplay specifico per il device (Giroscopio, Accelerometro, Touch, ecc.) • Non è troppo impegnativo: Casual Gaming e non Hardcore Gaming <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  15. 15. Un gioco di successo: parte 2 • Permette di giocare con gli altri sulla rete o perlomeno di condividere risultati, classifiche e simili (OpenFeint, GameCenter) • Ha dei livelli bilanciati e che vanno sbloccati man mano: quasi banali all’inizio, ma intriganti • Deve essere immediatamente giocabile: test dei 30 secondi <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  16. 16. Scelta del fw/linguaggio <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  17. 17. Programmare nativamente • Utilizzare il linguaggio nativo, senza aiuti e programmando direttamente in OpenGL è una strada lunga e perigliosa • Ovviamente i professionisti non fanno altro che utilizzare - magari dopo un porting - le loro librerie, tool ed engine preesistenti: una strada non percorribile, non siamo mica i fratelli Carmack <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  18. 18. Corona e Cocos2D • Corona • Lua, portabile e semplice, physics engine integrato, discretamente potente, time to market, qualche limite tecnico e mancanza, licenza commerciale • Cocos2d per iPhone • Objective C, libri e tutorial, standard de facto, open source, estremamente potente, 2 Physics Engine, versione 0.99.x (quasi 1.0) <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  19. 19. Corona e Cocos2D • La soluzione migliore - partendo da zero oggi - è usare Corona SDK • se e solo se le limitazioni di Corona permettono di realizzare il gioco • In caso di gioco non realizzabile con Corona o di gioco simile ad uno Starter Kit preesistente, Cocos2D • Più tempo, non portabile su Android, ma portabile su Mac App Store <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  20. 20. Corona e Cocos2D: un confronto Corona Cocos2D iPhone Serve un Mac Si (Beta per Windows) Si Android Si No Mac App Store No Si Apprendimento Semplicissimo Impegnativo Performance Discrete/Buone Eccellenti Velocità Sviluppo Eccellente Discreta/Buona Motore di Fisica Box3D Box3D/Chipmunk Comunità Buona Eccellente Tool 3rd party Buoni Eccellenti Maturità Discreta Ottima Costo Fee Annuo Open Source <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  21. 21. Cocos2D per iPhone <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  22. 22. Cocos2D: alcune features • Sprite ed Actions • Scrolling (anche con parallasse) • Scene e Transizioni • Effetti fisica con Box2D (C++) o ChipMunk (C) • (ma ci sono dei wrapper puri Objective C, SpaceManager) • Tile Maps (TMX) • Particle System <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  23. 23. Cocos2D • Objective C (ma si può usare Lua tramite Wax!) • C++ se si usa Box2D, C per Chipmunk gestione memoria con release/retain (la Garbage Collection su iPhone non c’è ancora) • linguaggio in parte hi-level ed in parte low-level • talvolta si deve ricorrere a chiamate OpenGL <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  24. 24. Cocos 2D iPhone <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  25. 25. Cocos 2D iPhone <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  26. 26. Cocos 2D Demo <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  27. 27. Scelta dei tool per Cocos2D <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  28. 28. Come e da dove partire • Giochi già fatti da cui partire (a pagamento) • Sapus Tongue, iPhone Game Kit, Starter kit vari • Uno fra PhotoShop/PixelMator/Gimp/ecc. • Tiled • ParticleDesigner • ZwopTex • Audacity <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  29. 29. Corona SDK <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  30. 30. Corona • Corona ha un approccio innovativo • LUA è un linguaggio di scripting molto utilizzato nel gaming (WoW, ma anche Adobe Lightroom). • LUA è un interprete molto veloce, scritto in C, nato per essere embedded, open source • Corona “semplicemente” implementa dei binding LUA per un motore di fisica, Box2D, ed alcune funzioni OpenGL <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  31. 31. Vantaggi di Corona • Un semplice reload nel Simulatore per far ripartire il gioco • Ciclo di sviluppo/test/deploy molto rapido • Semplice da imparare • Linguaggio funzionale, estremamente espressivo e potente (closures, ecc.) • Linguaggio molto ben documentato e disponibile su tutte le piattaforme <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  32. 32. Svantaggi di Corona • Se mancano dei binding per funzionalità di base non implementabili in Lua, si fa complicata • Ci sono ancora dei bug • Esempio: le funzionalità di Tiles (TMX) sono implementate da una libreria esterna (Lime, in beta) • su device ci sono problemi di performance per via della mancanza di culling nativo <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  33. 33. Svantaggi di Corona • Ci sono dei giochi non realizzabili con Corona • da capire il prima possibile per passare eventualmente a Cocos2D • La maturità dei tool a corredo non è (ancora) paragonabile a Cocos2D • C’è un fee annuale da pagare <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  34. 34. Corona e Lua <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  35. 35. Corona e Lua <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  36. 36. Uso di Tiled Maps con Lime • Lime è una libreria LUA per gestire mappe costruite con Tiled (TMX files) • Lime non solo carica e visualizza le mappe, ma può gestire le proprietà dei Tiles mappandole direttamente su oggetti del motore di Physics • I livelli e come gli oggetti agiscono nel mondo fisico sono dunque creati visualmente con Tiles, senza scrivere *una* riga di codice <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  37. 37. Uso di Tiled Maps con Lime <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  38. 38. Corona e Lua <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  39. 39. Corona Demo <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  40. 40. Scelta dei tool per Corona <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  41. 41. Come e da dove partire • Tiled • Lime • attenzione che al 05/03 ha ancora problemi di performance sui device! • Particle Candy • purtroppo Corona non è compatibile con Particle Designer • ZwopTex • Uno fra PhotoShop/PixelMator/Gimp/ecc. <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  42. 42. Mi serve un grafico??? e un musicista? <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  43. 43. La Grafica, un tasto delicato • Se si ha accesso ad un grafico, utilizzarlo :) • Sforzarsi in ogni caso di costruire la propria grafica • Si può proseguire nella programmazione del gioco con una grafica non professionale, anche per poi trasmettere meglio al grafico stesso cosa si vuole ottenere • L’icona è fondamentale: è l’elemento più visibile • L’icona da sola vale probabilmente il 50% delle vendite iniziali • Non avrete una seconda possibilità di fare una prima impressione! <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  44. 44. La Grafica, un tasto delicato • Realizzare un gioco che non ha bisogno di una grafica complicata e realizzarsela da soli • The Impossible Game, o i vari basati su Stick Figures • Giochi basati su mappe con tiles • Possibile reperire risorse free online <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  45. 45. Risorse free online • Risorse free: • http://reinerstileset.4players.de/ • http://tango.freedesktop.org • http://freesound.org <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  46. 46. Ok, ho finito il gioco, e ora? <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  47. 47. Pubblica il tuo gioco sull’App Store in pochi giorni • Sembra tutto finito. Ora si deve: • Giocare il gioco, guardare gli amici giocarlo, perfezionarlo: deve essere professionale • Submit all’App Store: e aspettare pazientemente • Cercare di ottenere il massimo numero di review: creare un video, mandarlo a riviste e blogger per recensirlo <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  48. 48. Risorse per Cocos2d <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  49. 49. Pubblica il tuo gioco sull’App Store in pochi giorni • http://www.cocos2d-iphone.org/ • http://www.learn-cocos2d.com • http://cocos2dbook.com/ • http://www.iphonegamekit.com/ • https://github.com/probablycorey/wax <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  50. 50. Risorse per Corona <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  51. 51. Pubblica il tuo gioco sull’App Store in pochi giorni • http://developer.anscamobile.com/ • http://www.lua.org/ <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011
  52. 52. Questions and Answers <ugo landini> - <ugo.landini@gmail.com> – <JUG ROMA>Saturday, March 5, 2011

×