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: 28/07/2020 07:54 by Santiago Faci