Programación de VideoXogos 2D / 3D
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/consolidated-hard-vacuum-terrain-tilesets
- 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, Eclipse, 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 JDK
- Instalación ADT Bundle
- Instalación do GWT Plugin
- Instalación do framework LIBGDX
- Execución dos proxectos importados.'Ola mundo'
- Importación dos proxectos a outros computadores
- Creación dun proxecto base
- 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.
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.
- Editor de Partículas.
- Box2D. Motor de físicas 2D.
- Box2D Light.
- Bullet. Motor de físicas 3D.
- 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).