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 8 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 103: Línea 105:
 
*[[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 143: Línea 147:
 
*[[LIBGDX_Colisions3D | Colisións en 3D]]
 
*[[LIBGDX_Colisions3D | Colisións en 3D]]
 
*[[LIBGDX_Empaquetado_distribución. | Empaquetado e distribución.]]
 
*[[LIBGDX_Empaquetado_distribución. | Empaquetado e distribución.]]
 +
  
  
Línea 159: Línea 164:
  
  
 +
 +
 +
<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.]]
 
*[[LIBGDX_EXEMPLOS DE XOGOS 3D | EXEMPLOS DE XOGOS 3D.]]
 +
 +
 +
  
 
<br>
 
<br>
 +
 +
  
 
=='''ANEXO I: Clases útiles.'''==
 
=='''ANEXO I: Clases útiles.'''==
Línea 168: 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 177: Línea 198:
 
*[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]
 
*[https://github.com/EsotericSoftware/kryonet Librerías para facer xogos con comunicación cliente/servidor tcp/udp]
Línea 182: Línea 204:
 
:*[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 III: RECURSOS'''==
+
<br>
 +
 
 +
=='''ANEXO III: Recursos'''==
  
 
* MUSICA-AUDIOS:  
 
* MUSICA-AUDIOS:  
Línea 209: Línea 236:
 
* Editor para Stage UI
 
* Editor para Stage UI
 
::* https://github.com/cobolfoo/gdx-skineditor
 
::* https://github.com/cobolfoo/gdx-skineditor
 +
 +
 +
 +
 +
<br>
  
 
=='''ANEXO IV: Artigos interesantes'''==
 
=='''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]
 
*[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]
Línea 219: Línea 252:
  
  
 
+
<br>
 
 
  
 
=='''ANEXO V: Bibliografía e titoriais'''==
 
=='''ANEXO V: Bibliografía e titoriais'''==
Línea 236: Línea 268:
  
  
'''Nota:''' Nos libros fixádevos no ano de publicación por se hai ediccións máis actualizadas.
+
'''Nota:''' Nos libros fixádevos no ano de publicación por se hai edicións máis actualizadas.
  
  
Línea 247: 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).