¡Bienvenido a Brother Quest! Este es un proyecto de RPG de acción en 2D creado puramente con Java. Explora mapas, enfréntate a hordas de enemigos y sobrevive a combates épicos usando mecánicas avanzadas y un motor creado desde cero.
- ⚔️ Combate fluido: Ataca, esquiva y lanza habilidades mágicas.
- 👾 Variedad de enemigos: Desde clásicos slimes y hongos escurridizos, hasta esqueletos de élite con inteligencia artificial de persecución.
- 👹 Batalla de Jefes: Enfréntate al temible NightBorne, ¡y prepárate para el futuro jefe del mundo 1, el Demonio Slime!
- 🎨 Arte Pixelado: Animaciones cuadro por cuadro y gestión de cámara dinámica.
- ⚙️ Físicas y mecánicas: Sistema de saltos con físicas y mecánicas de evasión al puro estilo Dark Souls.
¡No necesitas instalar Java ni compilar código!
- Ve a la sección de Releases (a la derecha de esta página).
- Descarga el archivo
.zip. - Descomprímelo en tu PC y haz doble clic en
Juego.exe.
| Tecla | Acción |
|---|---|
| W, A, S, D | Moverse |
| J | Atacar |
| K / Espacio | Escudo / Saltar (Físicas incluidas) |
| R | Roll (Rueda para esquivar con animación incluida) |
| Q - E | Cambiar slot de pociones |
| F | Consumir pociones |
| 1, 2, 3 | Cargar barra de energía / Habilidades (Hab. 1 lista) |
| F2 | Skip Intro (¡Salta a la acción de una vez!) |
| F3 | Modo Desarrollador (Ver hitboxes y debug de IA) |
El juego no utiliza motores de terceros (como Unity o Godot). Está construido sobre un motor personalizado en Java 2D usando librerías nativas (java.awt y javax.swing). Esto garantiza un control absoluto sobre el rendimiento y las físicas.
- Game Loop (Bucle Principal): Implementado con
Runnabley unThreaddedicado para asegurar 60 FPS constantes. Utiliza un cálculo de Delta Time para que las físicas de salto y movimiento sean independientes de los fotogramas. - Sistema de Entidades: El jugador, los enemigos (Slimes, Esqueletos) y los proyectiles heredan de una clase base común. Comparten lógicas de colisión mediante intersección de rectángulos (
Rectanglehitboxes) y gestión de animaciones por frames. - Gestión de Estados (State Machine): Interfaz fluida que cambia entre el Menú, el Juego en sí y las pantallas de pausa/tutorial sin recargar recursos innecesarios.
- Renderizado y Cámara: Uso intensivo de
Graphics2Dpara dibujar el mapa basado en Tiles (cuadrículas) y un sistema de cámara dinámica que rastrea las coordenadas del jugador en mapas más grandes que la resolución de la pantalla.
Para abrir, modificar o compilar el código fuente:
- Lenguaje: Java JDK 25.
- IDE Recomendado: IntelliJ IDEA o Eclipse.
- Librerías externas: Ninguna. ¡100% Core Java!
-
Clona el repositorio en tu máquina local:
git clone [https://github.com/CrisIsDeveloping/Brother-Quest---A-Java-2D-RPG.git](https://github.com/CrisIsDeveloping/Brother-Quest---A-Java-2D-RPG.git)
-
Abre tu IDE e importa la carpeta como un proyecto existente.
-
Ve a la configuración de estructura del proyecto (Project Structure) y asegúrate de que el SDK esté asignado a Java 25.
-
Localiza tu clase Main dentro de la carpeta src y ejecuta el proyecto.
🤝 Cómo Contribuir ¡Toda ayuda es bienvenida! Si tienes ideas para nuevos enemigos, mecánicas o mejoras en el código:
-
Haz un Fork de este repositorio.
-
Crea una rama con tu nueva característica (git checkout -b feature/NuevaMagia).
-
Sube tus cambios (git commit -m 'Añadido nuevo hechizo de fuego').
-
Haz push a la rama (git push origin feature/NuevaMagia).
-
Abre un Pull Request para revisar los cambios e integrarlos.
- Menú in-game para el tutorial de controles.
- Nuevos objetos consumibles para el botón F.
- Finalizar el desarrollo de las habilidades 2 y 3 del caballero.
- Implementar la épica batalla contra el Demonio Slime.
- Crear mundo 2, mundo 3
- Implementar sonidos, soundtracks
- Ajustar dificultad, PVE justo
- Agregar NPC, abre una tienda para comprar armaduras, espadas, pociones
- Nuevas cinematicas, con lore del juego, al terminar mundo 1... etc
