Hoja de Ruta de Desarrollo
Lo que Viene a Warman
Warman esta evolucionando de un RPG de accion hack-and-slash a una plataforma de modding completa. Esta hoja de ruta presenta el trabajo a nivel de motor, las nuevas APIs y el contenido que hara posible que los modders construyan juegos de defensa de torres, arenas de heroes, exploracion de mazmorras y generos completamente nuevos dentro del motor de Warman.
Fase 1
Cimientos
Todo lo demas depende de estos cambios. La Fase 1 reestructura como se cargan los mods, como funcionan los guardados, como fluyen los lobbies y como llegan los datos de mods a los clientes. Son cambios profundos del motor que desbloquean todas las fases futuras.
Desacoplar Carga de Mods del Arranque
Actualmente, el juego espera que todo el contenido este presente al arrancar. Este cambio hace que el menu principal funcione sin ningun mod cargado. NetworkAssets e ItemDatabase permanecen vacios hasta que un mod se carga explicitamente, lo que significa que el motor puede alojar juegos completamente diferentes sin reiniciarse.
Almacen de Guardado Clave-Valor
Un nuevo sistema de guardado construido alrededor de pares clave-valor en lugar de estructuras de datos fijas. Los mods definen sus propias claves de guardado, y el progreso del jugador se almacena por mod en lugar de globalmente. Esto reemplaza el formato rigido PlayerSaveData y permite a cada mod persistir los datos que necesite: puntuaciones de defensa de torres, inventarios de mazmorras, clasificaciones de arena o cualquier otra cosa.
Flujo de Lobby en 4 Fases
El lobby multijugador se esta expandiendo de una simple pantalla de preparacion a un flujo de cuatro fases: Lobby (los jugadores se conectan y configuran), Seleccion de Heroe (cada jugador elige o crea un heroe para el mod), Iniciando (el mod carga e inicializa) y Jugando (el juego comienza). Los mods pueden definir si los jugadores eligen entre heroes existentes, crean personajes nuevos o saltan la seleccion de heroe completamente.
Protocolo de Transferencia de Mods
Cuando un cliente se une a una partida, el host le transmite los datos del mod usando un protocolo de transferencia por bloques que funciona a maxima velocidad durante la fase de lobby, sin estar limitado a la tasa de ticks de simulacion. Combinado con cache de mods (omitir transferencia si el cliente ya tiene la misma version del mod), esto hace que unirse a partidas con mods sea rapido y fluido.
Fase 2
API Central de WarScript
El motor ya tiene sistemas para timers, eventos, generacion de unidades, sonido y control de camara, pero estan bloqueados dentro de C# e inaccesibles para modders. La Fase 2 expone estos sistemas a WarScript, dando a los creadores de mods los bloques de construccion para scriptear cualquier modo de juego.
API de Timers
Timers deterministas que se ejecutan dentro del bucle de ticks lockstep, manteniendose perfectamente sincronizados en multijugador. Extiende el soporte existente de corrutinas y yield de WarScript, permitiendo a los modders escribir eventos temporizados, tiempos de recarga y efectos periodicos con codigo limpio estilo async.
Hooks de Eventos
Callbacks de WarScript para eventos centrales del juego: cuando una unidad muere, recibe dano, entra en una region, aparece, cuando se envia un mensaje de chat o cuando comienza el juego. Los modulos de eventos de C# ya existen. Este trabajo los vincula a funciones de WarScript para que los modders puedan reaccionar a todo lo que sucede en el mundo del juego.
Creacion y Eliminacion de Unidades
Genera unidades en cualquier posicion con un propietario, matalas, eliminalas o reposicionarlas, todo desde WarScript. Construida sobre los sistemas existentes EnemySpawner y EnemyManager, esta API es la base para torres de defensa, invocaciones de arena, enemigos de mazmorra y cualquier otro contenido creado dinamicamente.
API de Edificios y Spawners
Crea edificios generando unidades no moviles con colisionadores de pathfinding. Cuando se coloca un edificio, bloquea la cuadricula de navegacion. Cuando se destruye, la cuadricula se actualiza y las unidades pueden pasar de nuevo. Esto usa el tipo de unidad Spawner existente y AstarModifier, sin necesidad de nuevos sistemas del motor, solo acceso desde WarScript.
APIs de Sonido y Camara
Reproduce sonidos, reproduce sonidos en posiciones del mundo, activa pistas de musica, todo desde script. Mueve la camara, agitala, establece limites. Estas pequenas APIs completan el kit de herramientas central y permiten a los modders controlar la experiencia completa del jugador.
Hooks de Guardado y Carga
Hooks de WarScript que se disparan cuando un heroe se guarda, carga o crea. Conectados al nuevo almacen de guardado clave-valor, permiten a los mods persistir el progreso del jugador entre sesiones: estadisticas de personaje, mejoras desbloqueadas, objetos recolectados o cualquier dato personalizado que el mod defina.
Fase 3
Funciones del Motor
Nuevos sistemas a nivel de motor que desbloquean generos de juego especificos. No pueden falsificarse en script: requieren cambios en la simulacion central, redes y capas de UI.
Matriz de Alianzas
Un sistema de facciones N-vias completo que reemplaza la comprobacion binaria actual de aliado/enemigo. Una matriz que cada sistema consulta (resolucion de dano, objetivos de IA, objetivos de habilidades, filtrado de auras, colision de proyectiles) para determinar relaciones entre jugadores. Esto permite modos todos-contra-todos, basados en equipos y de alianzas cambiantes donde la diplomacia puede cambiar a mitad de partida.
Soporte para 16 Jugadores
Expandir la simulacion lockstep de 8 a 16 slots de input de jugador. Esto toca el formato central de SimulationTick y cada sistema que lee inputs de jugador, pero el cambio es directo. Dieciseis jugadores abre la puerta a partidas de equipos mas grandes, hero line wars con muchos carriles y experiencias cooperativas mas amplias.
Hechizos Canalizados
Soporte nativo adecuado para habilidades canalizadas. Un hechizo canalizado bloquea al lanzador en su sitio, ejecuta un callback cada frame, muestra una barra de lanzamiento en la UI y puede configurarse para cancelarse al moverse, cancelarse al recibir dano o ser interrumpido por otras habilidades. Esto es critico para hechizos de curacion progresiva, ataques de carga y mecanicas de ritual que muchos modos de juego personalizados necesitan.
Menu de Interaccion de Unidades Scripteable
Cuando un jugador interactua con un edificio o unidad, el juego puede mostrar un menu de opciones definido por script. Cada opcion es una etiqueta conectada a una funcion de WarScript: "Mejorar a Nivel 2", "Vender", "Establecer Punto de Reunion", "Investigar Habilidad". Asi es como los jugadores gestionaran edificios en defensa de torres, tiendas en mazmorras y cualquier otra interaccion basada en unidades.
Puntos de Aparicion Personalizados
Los mods pueden asignar ubicaciones de aparicion por jugador o por faccion. Un registro de puntos de aparicion se rellena por WarScript durante la fase de arranque, asi que cada modo de juego controla exactamente donde aparecen los jugadores al iniciar el juego o al respawnear.
Sistema de Victoria y Derrota
Estados de fin de partida a nivel de motor impulsados por WarScript. Un mod llama victoria o derrota sobre un jugador, el motor muestra una pantalla de resultado, detiene la simulacion y permite volver al lobby o menu principal. Limpio, estandarizado y esencial para cualquier modo de juego competitivo.
Colores de Jugador y Asignacion de Equipos
Colores visuales de jugador y agrupacion de equipos para presets de alianza. Los equipos pueden configurarse a traves de WarScript y automaticamente establecen las relaciones de alianza correctas entre jugadores, haciendo que la configuracion de modos basados en equipos sea rapida y consistente.
Fase 4
Extensiones de UI
Nuevos sistemas de UI controlados completamente desde WarScript. Dan a los modders las herramientas visuales para construir experiencias de juego pulidas y competitivas con feedback en tiempo real.
Tabla de Clasificacion y Multiboard
Una tabla controlada por WarScript renderizada en pantalla con columnas y filas ordenables. Actualizada cada tick, puede mostrar muertes, bajas, oro, recursos o cualquier estadistica personalizada. El motor maneja el diseno y renderizado; el mod solo establece los datos.
Visualizacion de Timer
Un timer de cuenta atras o cuenta arriba a nivel de HUD. Esencial para juegos de oleadas, timers de rondas, fases de preparacion y cualquier modo de juego con presion de tiempo. Los modders establecen la duracion y el motor maneja la visualizacion.
Cuadros de Dialogo Personalizados
Dialogos modales con botones definidos por script, cada uno conectado a un callback de WarScript. Usados para seleccion de rol al inicio del juego, sistemas de votacion, confirmaciones, menus de tienda y cualquier momento donde el juego necesite que el jugador tome una decision.
Texto Flotante y Texto en Pantalla
Activa texto flotante en cualquier posicion del mundo (numeros de dano, "+50 Oro", mensajes de estado) o fija texto persistente en coordenadas de pantalla para contadores de oleadas, indicadores de ronda y elementos de HUD personalizados. El sistema de popups ya existe en el motor; esto le da a WarScript control total sobre el.
Fase 5
Contenido y Librerias Estandar
Con el motor y las APIs en su lugar, la Fase 5 entrega librerias WarScript reutilizables que resuelven patrones comunes de modding, migra el juego base a los nuevos sistemas y entrega mods de ejemplo que prueban la plataforma y ensenan a los modders con el ejemplo.
Librerias Estandar
Siete librerias WarScript reutilizables se envian con el motor para que los modders no tengan que reinventar sistemas comunes. Estan completamente probadas, documentadas y disenadas para trabajar juntas.
lib/waves.ws
Sistema configurable de oleadas con puntos de aparicion, seguimiento de caminos, composicion de enemigos por oleada, retrasos entre oleadas y callbacks para finalizacion de oleada y limpieza total.
lib/income.ws
Sistema de ingresos periodicos con intervalos configurables, cantidades base, tasas de interes sobre el oro actual y anulaciones de ingresos por jugador.
lib/lives.ws
Sistema de vidas compartido o por jugador. Rastrea la perdida de vidas, activa callbacks al perder una vida y ser eliminado, y se integra con el sistema de victoria/derrota.
lib/teams.ws
Ayudantes de configuracion de equipos que configuran automaticamente alianzas, colores de jugador y regiones de aparicion. Define equipos con nombre y jugadores asignados y la libreria maneja el resto.
lib/scoreboard.ws
Tabla de puntuacion con seguimiento automatico de muertes, bajas y columnas personalizadas. Ordenable, auto-actualizada y conectada a la UI de tabla de clasificacion.
lib/building.ws
Ayudantes de colocacion de edificios con comprobacion de costes, cadenas de mejora, reembolsos de venta, menus de interaccion auto-generados y asignacion de habilidades para estructuras de auto-ataque.
lib/rounds.ws
Gestion de rondas y fases. Define fases con nombre, duraciones y callbacks. Soporta fases en bucle para ciclos de preparacion-combate-compras.
Migracion del Juego Base
El juego base "Warman" se migra al nuevo almacen de guardado clave-valor y hooks de WarScript. Los campos de guardado existentes se convierten en entradas clave-valor, y una migracion unica convierte los guardados antiguos al nuevo formato. Esto demuestra que el motor puede ejecutar su propio juego como un mod, la validacion definitiva de la plataforma.
Paso de Compilacion y Empaquetado de Dependencias
El Editor de Warman gana un paso de compilacion que valida scripts, comprueba referencias de assets, empaqueta dependencias y produce un archivo .wm final listo para distribucion. Esto detecta errores antes de publicar y asegura que los mods sean autocontenidos.
Mods de Ejemplo
Cuatro mods de referencia que demuestran un genero diferente cada uno y sirven como material de aprendizaje para modders.
Defensa de Torres
Cooperativo 1-4 jugadores. Colocacion de edificios, oleadas, ingresos, vidas y tabla de clasificacion. Usa lib/waves, lib/income, lib/lives, lib/building y lib/scoreboard.
Arena de Heroes
2-8 jugadores. Combate todos contra todos o por equipos con la matriz de alianzas, respawn, seguimiento de muertes, tabla de puntuacion y sistema de rondas. Usa lib/teams, lib/scoreboard y lib/rounds.
Exploracion de Mazmorras
Cooperativo 1-4 jugadores con guardados persistentes. Exploracion multi-sala, spawners de enemigos, botin, tiendas y progresion de heroe usando el almacen de guardado clave-valor.
Hero Line Wars
2-4 jugadores. Carriles por jugador, ingresos, envio de unidades, vidas, puntos de aparicion personalizados y tabla de clasificacion. Usa lib/income, lib/lives y lib/scoreboard.
Confirmado No Planeado
Estas funciones han sido evaluadas e intencionalmente excluidas. Algunas se resuelven con sistemas existentes, y otras se aplazan para mantener el alcance enfocado.
Grupos de Control de Unidades
El control exclusivo del heroe es una decision de diseno central. Todas las demas unidades y edificios son gestionados por IA. Esto mantiene el gameplay centrado en la accion en lugar del micromanagement.
Niebla de Guerra
La camara esta fija en el heroe del jugador sin paneo libre. No hay ventaja de maphack que ganar, asi que la niebla de guerra anade complejidad sin beneficio. Aplazado indefinidamente.
Colas de Entrenamiento de Unidades
Los edificios usan el sistema de habilidades existente para generar unidades. Un edificio puede tener habilidades que crean unidades con tiempo de recarga, sin necesidad de una UI dedicada de cola de entrenamiento.
Matriz de Tipos de Dano Compleja
Los tres tipos de dano (Fisico, Magico, Puro) se mantienen simples. WarScript puede superponer modificadores de dano personalizados para mods que quieran mas profundidad.
Efectos Climaticos
El clima cosmetico es de baja prioridad. Los modders pueden lograr efectos de lluvia, nieve y niebla usando decoraciones de particulas colocadas en el editor.
Unirse a Mitad de Partida y Espectador
No planeado para la plataforma de modding inicial. El soporte de reconexion y el modo espectador son funciones futuras separadas que pueden llegar despues de que se entregue la hoja de ruta principal.
Empieza a Moddear Hoy
Mientras las funciones de la hoja de ruta estan en desarrollo, el Warman Editor and WarScript ya estan disponibles. Construye mapas, crea misiones y empieza a scriptear ahora mismo.