Instalacion y Ejecucion - vykymoon/rpg-character-creator GitHub Wiki
Requisitos
- Java 17 (JDK)
- Maven 3.x
- Conexión a internet la primera vez (Maven descarga JavaFX, Gson y Java-WebSocket)
Clonar el repositorio
git clone https://github.com/vykymoon/rpg-character-creator.git
cd rpg-character-creator
git checkout mejoras-ui # rama con el modo LAN y los cambios de interfaz
Comandos de ejecución
| Qué quieres ejecutar | Comando |
|---|---|
| Aplicación completa (galería + wizard + botones LAN) | mvn clean javafx:run |
| Cliente gráfico LAN directo (sin pasar por la galería) | mvn compile javafx:run@game |
| Servidor LAN sin interfaz | mvn compile exec:java@server |
| Cliente LAN de consola (para pruebas) | mvn compile exec:java@client -Dexec.args="ws://localhost:8887 p1" |
La clase principal de la aplicación es com.proyecto.rpg.ui.MainApp (propiedad mainClass del pom.xml).
Directorio de trabajo
Ejecuta siempre los comandos desde la raíz del proyecto. El archivo de personajes se guarda en una ruta relativa al directorio de trabajo:
src/main/resources/data/characters.json
Si se ejecuta desde otra carpeta, la aplicación creará un characters.json nuevo y vacío en esa ubicación.
Estructura del proyecto
rpg-character-creator/
├── pom.xml
├── README.md Entrega del Corte 1 (problema, SOLID, patrones, UML)
├── CAMBIOS.md Resumen de cambios sobre main
├── UML.png Diagrama de clases
├── ui-mejoras.patch Parche con las mejoras de interfaz
└── src/main
├── java/com/proyecto/rpg/
│ ├── ui/ Controladores JavaFX, GameApp, loaders de sprites
│ ├── model/ Character, Race, CharacterClass, Skill, Outfit, CatalogRestriction
│ ├── builder/ CharacterBuilder
│ ├── prototype/ CharacterPrototype
│ ├── singleton/ CatalogManager
│ ├── factory/ Race/Class/Skill/Outfit factories + JsonCatalogLoader
│ ├── dao/ CharacterDAO + CharacterDAOJson
│ ├── game/ Modo un jugador (mapa, jugador, comandos, input)
│ ├── domain/ Dominio del modo LAN
│ ├── application/ GameSessionService (LAN)
│ └── adapters/ GameServer / GameClient (LAN)
└── resources/
├── data/ races, classes, skills, outfits (.json) y characters.json
├── fxml/ Pantallas
├── css/ retro-theme.css
├── fonts/ PressStart2P
├── sounds/ open_detail.wav
└── sprites/ avatars/, map/, battle/ y sprites de vestuario
Problemas frecuentes
| Síntoma | Causa probable | Solución |
|---|---|---|
No se encontró el catálogo '/data/races.json' |
Los recursos no se copiaron a target/classes |
mvn clean compile y volver a ejecutar |
JSON inválido en '/data/...' |
Error de sintaxis en un catálogo | Validar el JSON editado (ver Catálogo de Datos JSON) |
| La galería aparece vacía tras ejecutar desde otra carpeta | characters.json relativo al directorio de trabajo |
Ejecutar desde la raíz del proyecto |
| El modo LAN dice "No hay personajes guardados" | No existe characters.json |
Crear un personaje con el wizard primero |