fernandopaniagua /
GalacticWarVectorGame
Prototipo de engine y prueba de concepto para el desarrollo de videojuegos tipo "vector game" de Atari. Desarrollado en Java.
Loading repository data…
Sergio-S-A / repository
Prototipo de videojuego 2D isométrico desarrollado enteramente en Java puro (JDK 21). El objetivo principal del proyecto es demostrar la implementación de una Arquitectura Hexagonal sólida y un motor gráfico propio sin librerías externas.
Lenguaje: Java
Licencia: GPL v3
Resumen: Prototipo de videojuego 2D isométrico desarrollado enteramente en Java puro (JDK 21). El objetivo principal del proyecto es demostrar la implementación de una Arquitectura Hexagonal sólida y un motor gráfico propio sin librerías externas.
Nota de desarrollo: Aunque el título es Dragon's Rise, esta versión prototipo utiliza un avatar de lobo para las pruebas de mecánicas y animación.
src
├── core
│ ├── config # Configuración global
│ ├── loop # Game Loop principal
│ ├── math # Vectores y utilidades matemáticas
│ ├── memory # Gestión de memoria (Object Pools)
│ └── physics # Motor de física (Newtonian)
├── features
│ ├── entities # Actores del juego (Player, NPCs)
│ ├── gamestates # Estados (Menu, Level)
│ ├── tile # Sistema de mapas y tiles
│ ├── ui # Interfaz de usuario
│ ├── view # Sistema de fijación de Cámara sobre el jugador
│ └── world # Sistema de renderizado mundial
├── launcher # Punto de entrada (Main)
└── platform
└── desktop # Implementaciones específicas de escritorio
El proyecto sigue una Arquitectura Hexagonal, organizando el código en capas concéntricas:
GameEntity, GameState). No tiene dependencias externas.PlayerController, IsometricTileRenderer).WordlRendererState, DesktopInputAdapter, PlayerRenderer).GameStateManager (Gestión única del estado global del juego).Vector2dPool (Reutilización de objetos vectoriales para optimizar memoria).ButtonBuilder, LabelBuilder (Construcción fluida de componentes de UI).GameState (Permite cambiar el comportamiento del juego según el estado actual: MainMenuState, CrystalCaveLevel).PhysicsSystem (Permite intercambiar implementaciones de física, ej. NewtonianPhysics).SpriteRepository, TileRepository (Abstracción del acceso a datos y assets).DesktopInputAdapter (Adapta los eventos de teclado de AWT a la interfaz de dominio InputController).GameLoop (Patrón fundamental para el ciclo de actualización y renderizado).El punto de entrada principal es la clase launcher.GameLauncher.
Desde terminal:
# Compilar
javac -d out -sourcepath src src/launcher/GameLauncher.java
# Ejecutar
java -cp out launcher.GameLauncher
| Acción | Teclas |
|---|---|
| Mover Norte | W o ↑ |
| Mover Sur | S o ↓ |
| Mover Este | D o → |
| Mover Oeste | A o ← |
| Atacar | SPACE |
Este proyecto se distribuye bajo los términos especificados en el archivo LICENSE.
Selected from shared topics, language and repository description—not editorial ratings.
fernandopaniagua /
Prototipo de engine y prueba de concepto para el desarrollo de videojuegos tipo "vector game" de Atari. Desarrollado en Java.
necoian /
Se diseña prototipo de Videojuego en Java y se realiza sus tests correspondientes, Parcial de Ingeniería en Software (ULP)