Programación de videoxogos 2D / 3D con LIBGDX
Sumario
- 1 Licenza do curso
- 2 UNIDADE 0: Coñecementos de partida, observacións sobre o material e explicación inicial
- 3 UNIDADE 1: Instalación JDK, Android SDK e framework LibGDX.
- 4 UNIDADE 2: Desenvolvemento de xogos 2D.
- 5 UNIDADE 3: Desenvolvemento de xogos 2D. AVANZADO.
- 6 UNIDADE 4: Desenvolvemento de xogos 3D.
- 7 UNIDADE 5: Desenvolvemento de xogos 3D Avanzado.
- 8 UNIDADE 6: Exemplos de xogos desenvolvidos.
- 9 ANEXO I: Clases útiles.
- 10 ANEXO II: Temas non explicados.
- 11 ANEXO III: Recursos
- 12 ANEXO IV: Artigos interesantes
- 13 ANEXO V: Bibliografía e titoriais
Licenza do curso
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:
- http://opengameart.org/content/alienspritesheet
- http://opengameart.org/content/basic-2d-car-collection
- http://opengameart.org/content/spaceship-2
- Gráficos: PlatForge project, art by Stafford McIntyre
- Gráficos: "Hard Vacuum" art by Daniel Cook (Lostgarden.com)
Música:
- http://dig.ccmixter.org/files/grapes/16626
- http://www.sonidosmp3gratis.com/download.php?sonido=claxon%20de%20coche
UNIDADE 0: Coñecementos de partida, observacións sobre o material e explicación inicial
- Coñecementos previos necesarios
- LIBGDX: qué é isto ?
- Exemplos de xogos
- Novas do framework LIBGDX
- Material vivo
UNIDADE 1: Instalación JDK, Android SDK e framework LibGDX.
- LibGDX: Obxectivos e escenarios da UNIDADE 1
- Punto de só lectura: Introdución a Android: Versións, APIS e SDK
- Instalación Android Studio (incluído o JDK)
- Instalación do framework LIBGDX
- Execución dos proxectos importados.'Ola mundo'
- Importación dos proxectos a outros computadores
- Versións do Framework Libgdx.Actualización dos proxectos
UNIDADE 2: Desenvolvemento de xogos 2D.
- Obxectivos e escenarios da UNIDADE 2
- Fases no desenvolvemento dun xogo
- Coñecendo a estrutura dos proxectos
- Analizando o proxecto común
- Preparando o 'esqueleto' do noso xogo
- A cámara 2D. Cámara ortográfica.
- Os gráficos.
- Movendo os gráficos. A lóxica do noso xogo.
- Modelo - Vista - Controlador
- Creando o mundo
- As interfaces para capturar eventos.
- As colisións.
- Cambiando de pantalla.
- Fontes.
- Música e efectos de son.
- Gardando datos.
- Empaquetado e distribución.
- Enlaces con seccións avanzadas non relacionadas.
UNIDADE 3: Desenvolvemento de xogos 2D. AVANZADO.
Esta sección non é obrigatoria facela. Está asociada ás diferentes seccións da parte 2D.
- Compás / Acelerómetro.
- Cargar os gráficos de forma conxunta: TextureAtlas.
- Carga dos recursos optimizada. Clase AssetManager.
- Animacións.
- Fontes.
- Vector dirección.
- Xestion de eventos: GestureListener.
- Touchpad (joystick).
- Mapas. Uso de tiled.
- Scene2D UI.
- Scene2D.
UNIDADE 4: Desenvolvemento de xogos 3D.
- Obxectivos e escenarios da UNIDADE 4
- Introdución
- Figuras 3D. Mesh
- A cámara en 3D
- Shader Program
- Animacións en 3D
- Modelos en 3D: Carga e deseño
- Colisións en 3D
- Empaquetado e distribución.
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.
- Bullet. Motor de físicas 3D.
- Librerías para facer xogos con comunicación cliente/servidor tcp/udp
- Brashmonkey: Interesante programa para facer animacións con uso de esqueletos.
- 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
- Motor de xogos 3D lixeiro para ser utilizado xunto có Blender
- Como enviar mensaxes Toast, Alert´s, amosar unha ListView de Android e invocar un Intent dende o proxecto Core.
- Guia coas diferentes fases polas que se debe pasar para crear un xogo en equipo
- Xerador de texturas de planetas en 3D e xerador dun ceo de estrelas: Posibilidade de aplicalo a Libgdx ?
ANEXO V: Bibliografía e titoriais
- LibGDX Tutorial Series
- Libro Libgdx cross platform game development cookbook
- Libro Libgdx game development essentials
- Libro 3ª Edicción Beginning Android Games (2017)
- 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.
-- Ángel D. Fernández González -- (2017).