Frameworks Para Desarrollode Videojuegos para Móviles                   Dani Nebot                    WWW.ADWE.ES
PRESENTACIÓNProgramador         y          @daniinebot en
www.lostiemposcambian.com/blog
DESARROLLO DE VIDEOJUEGOSUno de los proyectos másseductores para todoprogramador...... y también más difícil
¿QUÉ ENTENDEMOS POR DESARROLLO DE          VIDEOJUEGOS?
VIDEOJUEGOS PARA MOBILEDos características del dispositivo lo diferencianespecialmente de otras plataformas:    ●   RENDIM...
RENDIMIENTO EN MOBILE:             GAME LOOPEn esencia, todo videojuego es un bucle infinito
RENDIMIENTO EN MOBILECon recursos limitados debemos:  ● Mantener un FRAME RATE estable  ● Limitar uso CPU (consumo batería)
USER INPUT TOUCH MULTITOUCH & GESTURES ACCELEROMETER
USER INPUT: TOUCHTOUCH PHASES: Began, Ended, Moved, Stationary
USER INPUT:
USER INPUT: ACCELEROMETER AccelerationX, AccelerationY, AccelerationZ
HABLEMOS (POR FIN) DE FRAMEWORKSGoogleamos "Frameworks videogames mobile" y...http://en.wikipedia.org/wiki/List_of_game_en...
FRAMEWORKS: ¿CUÁL?
FRAMEWORKS: ¿CUÁL?● "Nativo" vs Multiplataforma● Lenguaje de Programación/Entorno de Trabajo● ¡Cuidado con proyectos aband...
FRAMEWORKS: 3 FLAVORS● Juan Palomo● Game Frameworks (low-level)● Game Engines (high-level)
JUAN PALOMO
JUAN PALOMO...no significa rehacerlo todo desde   0Librerías para desarrollo de videojuegos:         box2d física y colisi...
LIBRERÍAS PARA JUAN PALOMOCompendio de librerías Open-Source paradesarrollo de Videojuegos (en C++)http://www.ebonyfortres...
GAME ENGINESOfrecen abstracciones de muy alto nivel para tareascomunes en programación de videojuegosEl objetivo es ayudar...
GAME ENGINES COMERCIALESEntornos cerrados con licencias de pago anuales:                                           Constru...
GAME ENGINES DEMO: Construct2Caso extremo: ¡no tenemos ni que programar!
GAME ENGINES DEMO: Construct2    http://www.youtube.com/watchv=5RlSmkSbleI
GAME ENGINES
GAME ENGINES: DESVENTAJASNos obligan a cambiar nuestra Metodología deTrabajo:● Nos imponen un lenguaje de programación o  ...
GAME FRAMEWORKSEl objetivo es ofrecernos una ESTRUCTURA y unaserie de HERRAMIENTAS para asistir en lacreación de videojuegos
GAME FRAMEWORKS NATIVOS● Sparrow (Objective-C)● AndEngine (Java)
STARLINGActionScript 3.0 (Flash y AIR): Multiplataforma(excepto Windows Phone)Además: NATIVE EXTENSIONS C++para lo que AIR...
STARLINGTecnología Punta (FlashPlayer 11.4, AIR 3.3)● Nos facilita acceso a aceleración gráfica por   hardware (GPU)● Blit...
STARLINGComunidad muy activa: Starling Extensions● GUI - FeathersUI● Sistemas de Partículas● Skeletal Animation - DragonBo...
DEMO STARLINGhttp://www.lostiemposcambian.com/blog/as3/introduccion-a-starling-videojuegos-mobile-en-flash/
HTML5 + JS (+ PHONEGAP)Hay muchísimos frameworks HTML5 + JS paradesarrollo de videojuegos  ● Impact  ● Akihabara  ● Crafty...
HTML5 + JS (+ PHONEGAP)Hablo de PhoneGap porque es bastante completo:http://phonegap.com/about/featurePero existen otras s...
HTML5 + JS (+ PHONEGAP)● Problemas de Rendimiento: HTML5 is not  there... yet● Entorno de Programación no pensado para  de...
LIMEJSUtiliza la Closure Library deLo más parecido a JS Orientado a ObjetosNos proporciona mecanismos para simular:      ●...
LIMEJSEl desarrollo se basa en una Línea de Tiempo quecorre continuamente, un Stage principal (elDirector) con múltiples S...
LIMEJSAdemás nos ofrece:● Abstracción Canvas/DOM/(WebGL)● Integración con Box2D (física, colisiones)● Abstracción eventos ...
DEMOS LIMEJSROUND BALL (Juego Ejemplo)http://www.limejs.com/static/roundball/index.html
DEMOS LIMEJS       VOODOO FRIENDShttp://www.youtube.com/watch?v=oplWbftRloU
RECURSOS PARA DESARROLLO DE            VIDEOJUEGOS● html5gamedevs.com (aglutinador de artículos)● emanueleferonato.com (de...
RECURSOS PARA DESARROLLO DE             VIDEOJUEGOS (y 2)● gamasutra.com/blogs - Industria del videojuego● gamedev.stackex...
... Y FIN
Upcoming SlideShare
Loading in …5
×

Frameworks para el desarrollo de juegos para dispositivo móviles

7,578 views

Published on

Conferencia relizada en ADWE Alicante por Daniel Nebot (@daniinebot) en el espacio CAMON sobre diferentes Frameworks para el desarrollo de juegos para dispositivo móviles

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

No Downloads
Views
Total views
7,578
On SlideShare
0
From Embeds
0
Number of Embeds
1,835
Actions
Shares
0
Downloads
89
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • Aunque soy programador, aviso ya de que en esta charla no vamos a ver NI UNA LÍNEA DE CÓDIGO
  • www.lostiemposcambian.com/blog
  • Comentar complejidad desarrollo completo videojuego: matemáticas (trigonometría,colisiones) física mecánica Inteligencia Artifical GUI
  • Nos vamos a centrar en las tres flechas de abajo (aunque algunos frameworks nos ayudan mucho con la TEMIDA flecha roja) RELEASE: distribución y venta
  • Vamos a hablar de "MOBILE" en lúgar de móvil ya que los tablets son dispositivos FUNDAMENTALES en el mercado actual de los videojuegos y no son móviles, aunque llevan los mismos Sistemas Operativos y por tanto se programan igual olada de tablets "low cost" nuevo kindle fire, nueva tablet samsung galaxy note 2 IPAD MINI
  • Como todo programador sabe, un bucle infinito no es bueno :P Cuantas más operaciones ejecutemos dentro de nuestro bucle infinito, Más recursos consumiremos!!
  • Por supuesto, estas dos cosas son casi opuestas!! FRAME RATE estable: Hay que cuidar la experiencia de usuario, no hay nada peor que juegos que se ralentizan al haber muchos elementos en pantalla, o peor se saltan frames al no poder mantener el frame rate (lags y saltos) CPU muy poco potente: en dispositivos mobilie es FUNDAMENTAL utilizar técnicas de aceleración por GPU de los gráficos (BLITTING, spritesheets etc)
  • Final de la intro a características de los videojuegos mobile. Pasamos al meollo de la cuestión, los frameworks!!
  • http://en.wikipedia.org/wiki/List_of_game_engines http://mobilegameengines.com/
  • recomiendo nuestro lenguaje favorito... pero no nos cerremos a aprender nuevos!!! entorno de trabajo: lo principal WIN / MAC / LINUX Tendremos en cuenta que nos faciliten el acceso a técnicas para resolver los dos problemas específicos del mobile que hemos comentado antes: falta de potencia de CPU y el INPUT de usuario particular que presenta el mobile Comentar el danger of cool things por ejemplo: motores JS que emulan la displaylist de flash he perdido ya la cuenta de los que he visto... en cuanto te metes un poco a investigar... buff el último era un blog ruso cuya ultima entrada era 2010
  • No hay acuerdo en la comunidad de Game devs sobre qué es un framework y qué es un engine. Por eso hago la distinción entre la nomenclatura de Framework y Engine refiriéndome a un Framework como low level y un engine como un framework high level, que voy a usar en toda la presentación
  • http://www.ebonyfortress.co.uk/blog/free-game-development-libraries/
  • licencias INDIE
  • http://www.youtube.com/watch?feature=player_embedded&v=5RlSmkSbleI
  • Sparrow (Objective-C) AndEngine (Java)
  • Comentar que Flash gracias a sus conceptos de LINEA DE TIEMPO y la display list es una herramienta bastante buena para desarrollo de videojuegos!
  • http://www.codeandweb.com/texturepacker
  • http://feathersui.com/ http://onebyonedesign.com/flash/particleeditor/ http://akdcl.sinaapp.com/example.html#e=0
  • http://www.lostiemposcambian.com/blog/as3/introduccion-a-starling-videojuegos-mobile-en-flash/
  • Impact Akihabara Crafty Melon (lista no exhaustiva)
  • http://phonegap.com/about/feature otras soluciones para pasar de JS a APP (DE PAGO) http://ludei.com/tech/cocoonjs http://www.mosync.com/ http://www.appcelerator.com/platform/titanium-sdk
  • rendimiento: 15fps en el ipad3... todavía no es suficiente! (para cierto tipo de juegos quizás!) Confiemos en la ley de Moore :D Hablar sobre la importancia de la POO en programación de videojuegos Vamos a ver un framework JS que me ha gustado mucho (y en seguida sabréis por qué ;)
  • http://limejs.com https://developers.google.com/closure/library/
  • juego bolas: (enseñar en mobile) http://www.limejs.com/static/roundball/index.html
  • http://www.youtube.com/watch?v=oplWbftRloU Chrome Store Video voodoo friends
  • http://www.emanueleferonato.com/ http://www.wildbunny.co.uk/blog/ http://www.html5gamedevs.com/
  • http://www.mangatutorials.com/forum/showthread.php?742-The-Ultimate-Indie-Game-Developer-Resource-List http://gamasutra.com/blogs/
  • Preguntas?
  • Frameworks para el desarrollo de juegos para dispositivo móviles

    1. 1. Frameworks Para Desarrollode Videojuegos para Móviles Dani Nebot WWW.ADWE.ES
    2. 2. PRESENTACIÓNProgramador y @daniinebot en
    3. 3. www.lostiemposcambian.com/blog
    4. 4. DESARROLLO DE VIDEOJUEGOSUno de los proyectos másseductores para todoprogramador...... y también más difícil
    5. 5. ¿QUÉ ENTENDEMOS POR DESARROLLO DE VIDEOJUEGOS?
    6. 6. VIDEOJUEGOS PARA MOBILEDos características del dispositivo lo diferencianespecialmente de otras plataformas: ● RENDIMIENTO ● INPUT
    7. 7. RENDIMIENTO EN MOBILE: GAME LOOPEn esencia, todo videojuego es un bucle infinito
    8. 8. RENDIMIENTO EN MOBILECon recursos limitados debemos: ● Mantener un FRAME RATE estable ● Limitar uso CPU (consumo batería)
    9. 9. USER INPUT TOUCH MULTITOUCH & GESTURES ACCELEROMETER
    10. 10. USER INPUT: TOUCHTOUCH PHASES: Began, Ended, Moved, Stationary
    11. 11. USER INPUT:
    12. 12. USER INPUT: ACCELEROMETER AccelerationX, AccelerationY, AccelerationZ
    13. 13. HABLEMOS (POR FIN) DE FRAMEWORKSGoogleamos "Frameworks videogames mobile" y...http://en.wikipedia.org/wiki/List_of_game_engineshttp://mobilegameengines.com/
    14. 14. FRAMEWORKS: ¿CUÁL?
    15. 15. FRAMEWORKS: ¿CUÁL?● "Nativo" vs Multiplataforma● Lenguaje de Programación/Entorno de Trabajo● ¡Cuidado con proyectos abandonados! "Danger of cool things"
    16. 16. FRAMEWORKS: 3 FLAVORS● Juan Palomo● Game Frameworks (low-level)● Game Engines (high-level)
    17. 17. JUAN PALOMO
    18. 18. JUAN PALOMO...no significa rehacerlo todo desde 0Librerías para desarrollo de videojuegos: box2d física y colisiones, gráficos 3D,Inteligencia Artificial, Matemáticas, Networking...
    19. 19. LIBRERÍAS PARA JUAN PALOMOCompendio de librerías Open-Source paradesarrollo de Videojuegos (en C++)http://www.ebonyfortress.co.uk/blog/free-game-development-libraries/la mayoría tiene ports a otros lenguajes...¡o nos las portamos nosotros!
    20. 20. GAME ENGINESOfrecen abstracciones de muy alto nivel para tareascomunes en programación de videojuegosEl objetivo es ayudar al programador facilitando elPROTOTIPADO y acelerando el DESARROLLOdel videojuegoLa mayoría son MULTIPLATAFORMA
    21. 21. GAME ENGINES COMERCIALESEntornos cerrados con licencias de pago anuales: Construct2
    22. 22. GAME ENGINES DEMO: Construct2Caso extremo: ¡no tenemos ni que programar!
    23. 23. GAME ENGINES DEMO: Construct2 http://www.youtube.com/watchv=5RlSmkSbleI
    24. 24. GAME ENGINES
    25. 25. GAME ENGINES: DESVENTAJASNos obligan a cambiar nuestra Metodología deTrabajo:● Nos imponen un lenguaje de programación o una plataforma propia (el CÓMO)● Nos restringen en QUÉ se puede hacer
    26. 26. GAME FRAMEWORKSEl objetivo es ofrecernos una ESTRUCTURA y unaserie de HERRAMIENTAS para asistir en lacreación de videojuegos
    27. 27. GAME FRAMEWORKS NATIVOS● Sparrow (Objective-C)● AndEngine (Java)
    28. 28. STARLINGActionScript 3.0 (Flash y AIR): Multiplataforma(excepto Windows Phone)Además: NATIVE EXTENSIONS C++para lo que AIR no llega
    29. 29. STARLINGTecnología Punta (FlashPlayer 11.4, AIR 3.3)● Nos facilita acceso a aceleración gráfica por hardware (GPU)● Blitting mediante SpriteAtlas● Multitouch
    30. 30. STARLINGComunidad muy activa: Starling Extensions● GUI - FeathersUI● Sistemas de Partículas● Skeletal Animation - DragonBones● ...y más
    31. 31. DEMO STARLINGhttp://www.lostiemposcambian.com/blog/as3/introduccion-a-starling-videojuegos-mobile-en-flash/
    32. 32. HTML5 + JS (+ PHONEGAP)Hay muchísimos frameworks HTML5 + JS paradesarrollo de videojuegos ● Impact ● Akihabara ● Crafty ● Melon ● ...
    33. 33. HTML5 + JS (+ PHONEGAP)Hablo de PhoneGap porque es bastante completo:http://phonegap.com/about/featurePero existen otras soluciones: ● http://ludei.com/tech/cocoonjs ● http://www.mosync.com/ ● http://www.appcelerator.com/platform/titanium-sdk
    34. 34. HTML5 + JS (+ PHONEGAP)● Problemas de Rendimiento: HTML5 is not there... yet● Entorno de Programación no pensado para desarrollo de videojuegos, sino páginas web● Ventaja: Adaptación fácil desde el mundo web :)
    35. 35. LIMEJSUtiliza la Closure Library deLo más parecido a JS Orientado a ObjetosNos proporciona mecanismos para simular: ● Namespaces ● Herencia ● Eventos
    36. 36. LIMEJSEl desarrollo se basa en una Línea de Tiempo quecorre continuamente, un Stage principal (elDirector) con múltiples Scenes cada una con susCapas (Layers)Este esquema se adapta MUY BIEN a laprogramación de videojuegos
    37. 37. LIMEJSAdemás nos ofrece:● Abstracción Canvas/DOM/(WebGL)● Integración con Box2D (física, colisiones)● Abstracción eventos Touch● Motor de Tweens
    38. 38. DEMOS LIMEJSROUND BALL (Juego Ejemplo)http://www.limejs.com/static/roundball/index.html
    39. 39. DEMOS LIMEJS VOODOO FRIENDShttp://www.youtube.com/watch?v=oplWbftRloU
    40. 40. RECURSOS PARA DESARROLLO DE VIDEOJUEGOS● html5gamedevs.com (aglutinador de artículos)● emanueleferonato.com (desarrollo de juegos)● wildbunny.co.uk (matemáticas para juegos)
    41. 41. RECURSOS PARA DESARROLLO DE VIDEOJUEGOS (y 2)● gamasutra.com/blogs - Industria del videojuego● gamedev.stackexchange.com - Q&A● http://www.mangatutorials.com/forum/showthread.php?742-The-Ultimate- Indie-Game-Developer-Resource-List TEH ULTIMATE INDIE GAME DEVELOPER RESOURCE LIST!1!!
    42. 42. ... Y FIN

    ×