apuntes:libgdx
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| apuntes:libgdx [28/07/2020 07:54] – [Práctica 2.1] Santiago Faci | apuntes:libgdx [07/03/2024 22:39] (current) – [Juegos de ejemplo] Santiago Faci | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Desarrollo de videojuegos con libGDX ====== | ====== Desarrollo de videojuegos con libGDX ====== | ||
| + | |||
| + | {{ libgdx-logo.png? | ||
| ===== ¿Qué es libGDX ===== | ===== ¿Qué es libGDX ===== | ||
| Line 19: | Line 21: | ||
| {{ youtube> | {{ youtube> | ||
| \\ | \\ | ||
| + | Actualmente incluso cuenta con una [[https:// | ||
| ==== Algunos conceptos de videojuegos ==== | ==== Algunos conceptos de videojuegos ==== | ||
| Line 842: | Line 844: | ||
| ===== Hello World! ===== | ===== Hello World! ===== | ||
| - | En [[https://github.com/libgdx/ | + | Antes de comenzar, necesitaremos lanzar el //starter// que hay disponible en la web de libGDX donde además se explica cómo configurarlo en su guía [[https://libgdx.com/wiki/ |
| + | |||
| + | En [[https://libgdx.com/wiki/|la Wiki oficial de libGDX]] existe una guía muy interesante sobre cómo realizar un primer videojuego con este framework, se llama [[https://libgdx.com/wiki/start/a-simple-game|A simple game]] y es una sencilla aplicación que muestra muy bien cómo empezar a trabajar con este motor. Conviene echarle un vistazo puesto que sienta las bases de cómo trabajar con los aspectos más básicos de libGDX. | ||
| Para este curso, sobre el ejemplo básico he preparado 3 versiones más de ese primer juego utilizando estructuras más complejas para mostrar algunos conceptos más avanzados que se pueden utilizar en videojuegos más complejos: | Para este curso, sobre el ejemplo básico he preparado 3 versiones más de ese primer juego utilizando estructuras más complejas para mostrar algunos conceptos más avanzados que se pueden utilizar en videojuegos más complejos: | ||
| Line 1852: | Line 1856: | ||
| </ | </ | ||
| - | Se puede encontrar un driver para SQLite y Java en la web del proyecto [[https:// | + | Se puede encontrar un driver para SQLite y Java en la web del proyecto [[https:// |
| ===== Empaquetar el videojuego ===== | ===== Empaquetar el videojuego ===== | ||
| Actualmente, | Actualmente, | ||
| - | lo más cómodo es [[https://github.com/libgdx/libgdx/wiki/ | + | lo más cómodo es [[https://libgdx.com/wiki/deployment/deploying-your-application|empaquetar el videojuego utilizando Gradle]] |
| ---- | ---- | ||
| - | ===== Ejercicios ===== | ||
| - | {{ ejercicio.png? | ||
| - | |||
| - | - | ||
| - | |||
| - | ---- | ||
| ===== Proyectos de ejemplo ===== | ===== Proyectos de ejemplo ===== | ||
| Line 1880: | Line 1878: | ||
| ==== Juegos de ejemplo ==== | ==== Juegos de ejemplo ==== | ||
| + | |||
| + | * [[https:// | ||
| < | < | ||
| - | {{jumper2dx.png? | + | {{jumper2dx.png? |
| < | < | ||
| - | * [[https:// | + | * [[https:// |
| < | < | ||
| - | {{jfighter2dx.png? | + | {{jfighter2dx.png? |
| < | < | ||
| - | * [[https:// | + | * [[https:// |
| < | < | ||
| - | {{jbombermanx.png? | + | {{jbombermanx.png? |
| < | < | ||
| - | * [[https:// | + | * [[https:// |
| < | < | ||
| - | {{arkanoidx.png? | + | {{arkanoidx.png? |
| < | < | ||
| - | * [[https:// | + | * [[https:// |
| < | < | ||
| - | {{minijumper2dx.png? | + | {{minijumper2dx.png? |
| < | < | ||
| - | |||
| - | * [[https:// | ||
| - | |||
| - | ===== Práctica 2.1 ===== | ||
| - | |||
| - | === Objetivos === | ||
| - | |||
| - | Desarrollo de un videojuego 2D | ||
| - | |||
| - | === Enunciado === | ||
| - | |||
| - | Se debe desarrollar un videojuego 2D que cumpla con los requisitos descritos a continuación. La temática del juego será elección del alumno. Se podrán usar tanto elementos gráficos como de audio que no hayan sido creados por uno mismo. | ||
| - | |||
| - | Será requisito indispensable que el juego se programe siguiendo el paradigma de Programación Orientada a Objetos. | ||
| - | |||
| - | === Requisitos (1 pto cada uno) === | ||
| - | |||
| - | * El videojuego debe contar con un personaje principal que el jugador podrá manejar y debe tener un inicio, un final y un objetivo claro. Hay que preparar al menos dos niveles de juego claramente diferenciados. | ||
| - | * El videojuego mostrará información en pantalla al usuario (puntuación, | ||
| - | * Utilizar menús para iniciar/ | ||
| - | * El juego dispondrá de características de sonido y animaciones en todos los caracteres con movimiento. | ||
| - | * El juego dispondrá de NPCs (Non-Playable Characters) (al menos 3 diferentes) que deberán interactuar con el personaje del jugador. | ||
| - | |||
| - | === Otras funcionalidades (1 pto cada una) === | ||
| - | |||
| - | * Subir el videojuego, como repositorio, | ||
| - | * Al finalizar la partida se almacenará la puntuación del jugador (con su nombre) y se mostrará el top 10 puntuaciones. | ||
| - | * Añadir algún tipo de Inteligencia Artificial a algún NPC del juego. | ||
| - | * Es posible mostrar/ | ||
| - | * Añadir dos niveles más al juego | ||
| - | * Añadir opciones de multijugador (al menos dos jugadores) local o en red. | ||
| - | * Añadir dos nuevos tipos de NPCs (al menos otros 3). | ||
| - | * Crear un generador de niveles (utilizando TiledMaps o cualquier otro tipo de fichero de entrada) de forma que sea posible incorporar niveles nuevos para el juego de forma sencilla sin necesidad de tocar el código. | ||
| - | * Guardar y cargar partidas para continuar donde se dejó. | ||
| - | * Modificar el comportamiento o características del jugador durante el juego (más energía, más vidas, mejor armamento, más velocidad, . . .) de forma permanente o temporal (// | ||
| - | * El usuario podrá escoger entre diferentes personajes del juego (al menos 3) con características diferentes. | ||
| - | * Trasladar el juego a más de una plataforma (PC, móvil, web, . . .). | ||
| ---- | ---- | ||
| - | (c) 2016-2020 Santiago Faci | + | (c) 2016-2023 Santiago Faci |
apuntes/libgdx.1595922848.txt.gz · Last modified: by Santiago Faci
