Fleet Commander: Pacific
Me hice cargo de un juego de estrategia naval cuando el desarrollador anterior se marchó a mitad de proyecto. Desenredé una base de código sin documentar y construí encima el multijugador, la IA y las herramientas de diseño.

Situación
Fleet Commander: Pacific es un juego de mesa digital de combate naval en la Segunda Guerra Mundial, diseñado por Philippe Thibaut, el diseñador detrás de Europa Universalis. Por turnos, con resolución de cada turno en tiempo real.
El desarrollador anterior se había marchado a mitad de proyecto. Lo que quedaba era una base de código sin documentación, referencias rotas entre sistemas, UI y datos, y un .gitignore que había descartado sin avisar los archivos .meta de Unity. No se podía construir nada nuevo hasta arreglar eso.
Qué hice
Desenredar antes de construir. Devolví el proyecto a un estado en el que abría limpio, las referencias resolvían y la build era reproducible. Algunas decisiones de diseño previas no se podían deshacer, así que buena parte del trabajo consistió en elegir qué arreglar, qué rodear y qué publicar tal cual.
Después, construir, prácticamente como único programador. Mecánicas y sistemas nuevos. Herramientas de diseño para que Philippe ajustara barcos, estadísticas y escenarios sin esperarme. Oponentes de IA que dirigen flotas completas. Sonido y partículas. Corrección continua de bugs.
Multijugador con Mirror. Sincronización por turnos con un modelo de replicación en cliente, integración con Steam para la transferencia de archivos y una serie de problemas de serialización que rompían el guardado y la carga en red hasta que quedaron resueltos.
Resultado
- El juego salió en Steam con más de 40 barcos en juego, multijugador e IA funcionando.
- Herramientas de diseño que mantuvieron productivo al diseñador sin apoyo de programación.
- Una base de código que la siguiente persona podía abrir y entender.
Stack
Unity, C#, Mirror, Steamworks.