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