Acerca de
Un Desarrollador.
Un Motor.
Warman es un RPG de accion hack-and-slash construido casi en su totalidad por una sola persona. Terreno propio, red propia, fisica propia, todo propio, porque las soluciones prefabricadas no encajaban con el juego que queria hacer.
El Juego
Warman empezo con una pregunta simple: que pasaria si un RPG de accion no tuviera nada mas que la accion? Sin historia que aguantar, sin NPCs con los que hablar, sin contenido de relleno. Solo combate, botin y la satisfaccion de ver a tu personaje hacerse mas fuerte.
El resultado es un juego donde creas un heroe, eliges un arma (que determina tu clase) y peleas a traves de mazmorras generadas proceduralmente en multiples biomas. Los objetos caen con modificadores aleatorios. Las habilidades se encadenan en procs de modificadores. El herrero te permite reforjar y mejorar tu equipo. Puedes jugar solo o traer hasta 7 amigos al cooperativo.
Warman se lanzo en Acceso Anticipado, paso por mas de 90 actualizaciones y alcanzo su version 1.0. La Actualizacion 2.0 siguio con una reescritura completa del multijugador, terreno, fisica y sistemas de modding. El editor es indie.io.
La Tecnologia
Warman funciona sobre Unity, pero la mayoria de los sistemas de gameplay son de desarrollo propio. El multijugador usa una simulacion lockstep determinista donde solo los inputs de los jugadores viajan por la red. El terreno es un sistema basado en cuadricula con atlas de texturas dinamicos, niveles de altura, acantilados, rampas y agua. El pathfinding funciona sobre una cuadricula A* 3D con conectividad de superficie BFS. Toda la fisica usa tests de interseccion de circulos propios, no el motor de fisica de Unity.
El sistema de modding esta integrado en la base. El juego base se carga como un escenario, el mismo formato que usan los mods personalizados. WarScript, un lenguaje de scripting propio, impulsa la logica de juego tanto para el juego base como para los mods. El editor de niveles, las herramientas de terreno y la publicacion en Workshop son parte del juego entregado.
Todo se serializa con un formato binario propio. Sin JSON, sin Protobuf. Los ticks de red, archivos de guardado, datos de sala y contenido de mods usan el mismo interfaz IBinarySerializable. Fue necesario para el lockstep determinista. Cada cliente debe producir salida identica byte a byte desde los mismos inputs.
La Filosofia
Cada decision de diseno en Warman vuelve a un principio: elimina todo lo que no sea gameplay. Si una funcion no mejora el combate, no profundiza los builds ni hace la progresion mas satisfactoria, no se envia. Esto se extiende a la tecnologia. Si el sistema integrado de Unity no encaja, construye uno propio que si lo haga. Si un modelo de red tiene demasiado overhead, elige uno que no lo tenga.
El blog de desarrollo documenta estas decisiones en detalle. Cada articulo cubre un sistema de la base de codigo real: como se diseno, que compromisos se hicieron y por que se eligieron enfoques mas simples sobre los complejos.