Diferencia entre revisiones de «Programación de videoxogos 2D / 3D con LIBGDX»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
(No se muestran 45 ediciones intermedias del mismo usuario)
Línea 39: Línea 39:
 
*http://opengameart.org/content/alienspritesheet
 
*http://opengameart.org/content/alienspritesheet
 
*http://opengameart.org/content/basic-2d-car-collection
 
*http://opengameart.org/content/basic-2d-car-collection
 +
*http://opengameart.org/content/spaceship-2
 +
::Gráficos: PlatForge project, art by Stafford McIntyre
 
*http://opengameart.org/content/consolidated-hard-vacuum-terrain-tilesets
 
*http://opengameart.org/content/consolidated-hard-vacuum-terrain-tilesets
 
::Gráficos: "Hard Vacuum" art by Daniel Cook (Lostgarden.com)
 
::Gráficos: "Hard Vacuum" art by Daniel Cook (Lostgarden.com)
Línea 59: Línea 61:
  
 
=='''UNIDADE 1: Instalación JDK, Android SDK e framework LibGDX.'''==
 
=='''UNIDADE 1: Instalación JDK, Android SDK e framework LibGDX.'''==
 +
 +
*[[LIBGDX_Tarefas_a_entregar_Unidade_1 | Tarefas UNIDADE 1]]
 +
  
 
*[[LibGDX: Obxectivos e escenarios da UNIDADE 1]]  
 
*[[LibGDX: Obxectivos e escenarios da UNIDADE 1]]  
Línea 68: Línea 73:
 
*[[LIBGDX_Actualización dos proxectos a outra versión do Framework | Versións do Framework Libgdx.Actualización dos proxectos]]
 
*[[LIBGDX_Actualización dos proxectos a outra versión do Framework | Versións do Framework Libgdx.Actualización dos proxectos]]
  
*[[LIBGDX_Tarefas_a_entregar_Unidade_1 | Tarefas Unidade 1]]
+
 
  
  
Línea 74: Línea 79:
  
 
=='''UNIDADE 2: Desenvolvemento de xogos 2D.'''==
 
=='''UNIDADE 2: Desenvolvemento de xogos 2D.'''==
----
+
 
 +
*[[LIBGDX_Tarefas_entregar_Unidade_2 | Tarefas UNIDADE 2]]
 +
 
 +
 
 
*[[LIBGDX_Obxectivos e escenarios da UNIDADE 2 | Obxectivos e escenarios da UNIDADE 2]]
 
*[[LIBGDX_Obxectivos e escenarios da UNIDADE 2 | Obxectivos e escenarios da UNIDADE 2]]
 
*[[LIBGDX_Fases no desenvolvemento dun xogo | Fases no desenvolvemento dun xogo]]
 
*[[LIBGDX_Fases no desenvolvemento dun xogo | Fases no desenvolvemento dun xogo]]
Línea 94: Línea 102:
 
*[[LIBGDX_Seccions avanzadas2D. | Enlaces con seccións avanzadas non relacionadas.]]
 
*[[LIBGDX_Seccions avanzadas2D. | Enlaces con seccións avanzadas non relacionadas.]]
  
<br />
+
 
 
*[[LIBGDX_Anexo tipos de datos | Anexo: Tipos de datos.]]
 
*[[LIBGDX_Anexo tipos de datos | Anexo: Tipos de datos.]]
 
*[[LIBGDX_Anexo Consellos de programacion | Anexo Consellos de programación.]]
 
*[[LIBGDX_Anexo Consellos de programacion | Anexo Consellos de programación.]]
Línea 125: Línea 133:
  
 
=='''UNIDADE 4: Desenvolvemento de xogos 3D.'''==
 
=='''UNIDADE 4: Desenvolvemento de xogos 3D.'''==
 +
 +
*[[LIBGDX_Tarefas_entregar_UD4 | Tarefas UNIDADE 4]]
 +
 +
  
 
*[[LIBGDX_Obxectivos e escenarios da UNIDADE 4 | Obxectivos e escenarios da UNIDADE 4]]
 
*[[LIBGDX_Obxectivos e escenarios da UNIDADE 4 | Obxectivos e escenarios da UNIDADE 4]]
Línea 155: Línea 167:
  
 
<br>
 
<br>
 +
 +
=='''UNIDADE 6: Exemplos de xogos desenvolvidos.'''==
 +
 +
*[[LIBGDX_EXEMPLOS DE XOGOS 2D | EXEMPLOS DE XOGOS 2D.]]
 +
*[[LIBGDX_EXEMPLOS DE XOGOS 3D | EXEMPLOS DE XOGOS 3D.]]
 +
 +
 +
 +
 +
<br>
 +
 +
  
 
=='''ANEXO I: Clases útiles.'''==
 
=='''ANEXO I: Clases útiles.'''==
Línea 161: Línea 185:
 
*[https://github.com/xoppa/world/blob/master/src/com/xoppa/android/misc/RadialSprite.java Clase RadialSprite]: Permite debuxar unha parte dunha TextureRegion indicando un ángulo (por exemplo no caso de utilizar un progressbar circular).
 
*[https://github.com/xoppa/world/blob/master/src/com/xoppa/android/misc/RadialSprite.java Clase RadialSprite]: Permite debuxar unha parte dunha TextureRegion indicando un ángulo (por exemplo no caso de utilizar un progressbar circular).
  
 +
 +
 +
 +
<br>
  
 
=='''ANEXO II: Temas non explicados.'''==
 
=='''ANEXO II: Temas non explicados.'''==
Línea 166: Línea 194:
 
*[[LIBGDX_gdx_utils | GDX UTILS.]]
 
*[[LIBGDX_gdx_utils | GDX UTILS.]]
  
*[https://github.com/libgdx/libgdx/wiki/2d-particle-effects Editor de Partículas.]
+
*[https://github.com/libgdx/libgdx/wiki/2d-particle-effects Editor de Partículas 2D.]
 +
*[https://github.com/libgdx/libgdx/wiki/3D-Particle-Effects Editor de Partículas 3D.]
 
*[https://github.com/libgdx/libgdx/wiki/Box2d Box2D. Motor de físicas 2D.]
 
*[https://github.com/libgdx/libgdx/wiki/Box2d Box2D. Motor de físicas 2D.]
 
*[https://github.com/libgdx/box2dlights Box2D Light.]
 
*[https://github.com/libgdx/box2dlights Box2D Light.]
 +
::* [http://box2d.org/manual.pdf Manual Box2D]
 
*[https://github.com/libgdx/libgdx/wiki/Bullet-physics Bullet. Motor de físicas 3D.]
 
*[https://github.com/libgdx/libgdx/wiki/Bullet-physics Bullet. Motor de físicas 3D.]
 +
*[https://github.com/EsotericSoftware/kryonet Librerías para facer xogos con comunicación cliente/servidor tcp/udp]
 
*[http://www.brashmonkey.com/index.htm Brashmonkey]: Interesante programa para facer animacións con uso de esqueletos.
 
*[http://www.brashmonkey.com/index.htm Brashmonkey]: Interesante programa para facer animacións con uso de esqueletos.
 
:*[https://github.com/Trixt0r/spriter Librerías Java para facer uso do programa anterior.]
 
:*[https://github.com/Trixt0r/spriter Librerías Java para facer uso do programa anterior.]
 
*[http://overlap2d.com/ Overlap2D]: Editor que permite integrar nunha escena animacións, gráficos, efectos de partícula, luces e físicas e exportalo para utilizalo no noso xogo.
 
*[http://overlap2d.com/ Overlap2D]: Editor que permite integrar nunha escena animacións, gráficos, efectos de partícula, luces e físicas e exportalo para utilizalo no noso xogo.
*[https://github.com/libgdx/libgdx/wiki/Memory-management Manexo de memoria:] Indica como utilizar un pool para xestionar correctamente a memoria, coma nos casos de utilizar dinamicamente un número indeterminado de personaxes ou obxectos (como inimigos e balas, por exemplo).
+
*[https://github.com/libgdx/libgdx/wiki/Memory-management Manexo de memoria:]: Indica como utilizar un pool para xestionar correctamente a memoria, coma nos casos de utilizar dinamicamente un número indeterminado de personaxes ou obxectos (como inimigos e balas, por exemplo).
 +
*[https://github.com/junkdog/artemis-odb/wiki/About Framework Artemis-odb]: Framework baseado en Sistemas de Entidades para desenvolver xogos.
 +
*[https://github.com/Trixt0r/spriter Librería Java para animación de sprites]:  Usada para facer animacións de gráficos.
 +
*[https://github.com/ndee85/coa_tools Addon para Blender]: Addon que se integra xunto có [https://www.blender.org/ programa Blender] e permite facer animacións de gráficos 2D.  
  
=='''ANEXO IV: Artigos interesantes.'''==
+
<br>
  
 +
=='''ANEXO III: Recursos'''==
 +
 +
* MUSICA-AUDIOS:
 +
 +
::* http://www.freesound.org/
 +
::* http://www.openmusicarchive.org/
 +
::* http://www.indiegamemusic.com/
 +
::* http://dig.ccmixter.org/
 +
 +
 +
* GRAFICOS:
 +
::* http://opengameart.org/
 +
::* http://kenney.nl/
 +
::* http://lunar.lostgarden.com/labels/free%20game%20graphics.html
 +
::* http://www.gameart2d.com/
 +
::* http://tf3dm.com/
 +
::* http://search.creativecommons.org/?lang=es
 +
::* http://www.turbosquid.com: Modelos 3D de pago.
 +
 +
 +
* Libgdx Tools (inclúe Editor de Partículas, Hiero, Fbx-Conv,...)
 +
::* https://libgdx.badlogicgames.com/tools.html
 +
 +
* Editor para Stage UI
 +
::* https://github.com/cobolfoo/gdx-skineditor
 +
 +
 +
 +
 +
<br>
 +
 +
=='''ANEXO IV: Artigos interesantes'''==
 +
 +
*[https://github.com/GoranM/bdx/wiki Motor de xogos 3D lixeiro para ser utilizado xunto có Blender]
 
*[https://code.google.com/p/libgdx-users/wiki/IntegratingAndroidNativeUiElements3TierProjectSetup Como enviar mensaxes Toast, Alert´s, amosar unha ListView de Android e invocar un Intent dende o proxecto Core].
 
*[https://code.google.com/p/libgdx-users/wiki/IntegratingAndroidNativeUiElements3TierProjectSetup Como enviar mensaxes Toast, Alert´s, amosar unha ListView de Android e invocar un Intent dende o proxecto Core].
 +
*[http://www.slideshare.net/mariozechner5/libgdx-jam-survival-guide?ref=http://itch.io/jam/libgdxjam Guia coas diferentes fases polas que se debe pasar para crear un xogo en equipo]
 +
*[https://www.reddit.com/r/gamedev/comments/3ys4vg/a_month_ago_i_released_a_free_space_skybox/?utm_content=buffer0be37&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer Xerador de texturas de planetas en 3D e xerador dun ceo de estrelas]: Posibilidade de aplicalo a Libgdx ?
 +
 +
 +
 +
 +
<br>
 +
 +
=='''ANEXO V: Bibliografía e titoriais'''==
 +
 +
 +
*[http://www.gamefromscratch.com/page/LibGDX-Tutorial-series.aspx LibGDX Tutorial Series]
 +
*[https://www.packtpub.com/game-development/libgdx-cross-platform-game-development-cookbook Libro Libgdx cross platform game development cookbook]
 +
*[https://www.packtpub.com/game-development/libgdx-game-development-essentials Libro Libgdx game development essentials]
 +
*[http://www.amazon.com/Beginning-Android-Games-Third-Robert/dp/1484204735/ref=sr_1_4?s=books&ie=UTF8&qid=1452968922&sr=1-4&keywords=mario+zechner Libro 3ª Edicción Beginning Android Games (2017)]
 +
*[http://www.amazon.com/Beginning-Android-Development-Zechner-Paperback/dp/B00IGYNNAQ/ref=sr_1_17?s=books&ie=UTF8&qid=1452969035&sr=1-17&keywords=mario+zechner Libro Edicción 2011 Beginning Android 4 Games Development (Beginning Apress)]
 +
 +
 +
 +
 +
 +
 +
'''Nota:''' Nos libros fixádevos no ano de publicación por se hai edicións máis actualizadas.
 +
  
  
Línea 187: Línea 279:
  
  
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2015).
+
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2017).

Revisión actual del 15:25 8 feb 2017

Xogos Libgdx Presentacion 1.png
LIBGDX



Licenza do curso


88x31.png


Este manual de Curso Platega: Desenvolvemento de xogos 2D/3D Multiplataforma (Windows, Linux, Max OS X, Android (+2.2),...) é creado e editado por Ángel D. Fernández González baixo a licenza Creative Commons 3.0:

  • Copiar, distribuír e comunicar publicamente a obra, sempre mencionando ós autores.
  • Uso non comercial.
  • Compartir as modificacións baixo a mesma licenza.

Para calquera outro tipo de uso non contemplado na licenza anterior consulte ó autor: Ángel D. Fernández González.



Neste curso non só imos aprender a manexar o framework LIBGDX, tamén imos aprender un modo de desenrolar xogos.

Dado que o tema é moi extenso, trátase de abrir un abano das posibilidades que nos ofrece o uso do framework Libgdx.

O seu seguimento será realizado a través da plataforma PLATEGA da Consellería de Cultura, Educación e Ordenación Universitaria da Xunta de Galicia.


Cada unha das partes do curso comeza indicando os obxectivos que persegue, así como, o escenario necesario para levalo a cabo.


Os gráficos utilizados e a música foron obtidos de:

Gráficos:

Gráficos: PlatForge project, art by Stafford McIntyre
Gráficos: "Hard Vacuum" art by Daniel Cook (Lostgarden.com)

Música:

UNIDADE 0: Coñecementos de partida, observacións sobre o material e explicación inicial



UNIDADE 1: Instalación JDK, Android SDK e framework LibGDX.





UNIDADE 2: Desenvolvemento de xogos 2D.






UNIDADE 3: Desenvolvemento de xogos 2D. AVANZADO.

Esta sección non é obrigatoria facela. Está asociada ás diferentes seccións da parte 2D.




UNIDADE 4: Desenvolvemento de xogos 3D.





UNIDADE 5: Desenvolvemento de xogos 3D Avanzado.

Esta sección non é obrigatoria facela.
Explicado o uso da nova API 3D. É necesario ter lido a Unidade 4.




UNIDADE 6: Exemplos de xogos desenvolvidos.





ANEXO I: Clases útiles.

  • Clase Sprite: Clase que incorpora todo o necesario para gardar información dun personaxe do xogo: Textura, posición, tamaño, cor. Incorpora métodos para escalar, mover e rotar a textura así como para debuxala.
  • Clase RadialSprite: Permite debuxar unha parte dunha TextureRegion indicando un ángulo (por exemplo no caso de utilizar un progressbar circular).




ANEXO II: Temas non explicados.

  • Overlap2D: Editor que permite integrar nunha escena animacións, gráficos, efectos de partícula, luces e físicas e exportalo para utilizalo no noso xogo.
  • Manexo de memoria:: Indica como utilizar un pool para xestionar correctamente a memoria, coma nos casos de utilizar dinamicamente un número indeterminado de personaxes ou obxectos (como inimigos e balas, por exemplo).
  • Framework Artemis-odb: Framework baseado en Sistemas de Entidades para desenvolver xogos.
  • Librería Java para animación de sprites: Usada para facer animacións de gráficos.
  • Addon para Blender: Addon que se integra xunto có programa Blender e permite facer animacións de gráficos 2D.


ANEXO III: Recursos

  • MUSICA-AUDIOS:


  • GRAFICOS:


  • Libgdx Tools (inclúe Editor de Partículas, Hiero, Fbx-Conv,...)
  • Editor para Stage UI




ANEXO IV: Artigos interesantes




ANEXO V: Bibliografía e titoriais




Nota: Nos libros fixádevos no ano de publicación por se hai edicións máis actualizadas.







-- Ángel D. Fernández González -- (2017).