Ingeniería de producto y herramientas
RPGModder
RPGModder 2.0 convierte un flujo destructivo de modding en una transacción validada con journals, rollback, migración y un espacio de trabajo multiplataforma rediseñado.
Problema
La instalación manual corrompe el estado limpio del juego, dificulta razonar sobre conflictos y deja a los usuarios sin una ruta de reversión confiable.
Enfoque de ingeniería
- Crear un snapshot de recuperación y un journal transaccional antes de modificar el juego, restaurando automáticamente el estado anterior si falla la validación o el despliegue.
- Modelar sobrescrituras, merges estructurados de JSON y parches semánticos para que el área de Conflictos muestre participantes y resultados del orden de carga.
- Distribuir builds autocontenidos para Windows y Linux con integración nxm://, detección de Steam y Flatpak, lanzamiento mediante Proton y almacenamiento seguro de credenciales en Linux.
Resultado
- La versión 2.0 migra instalaciones anteriores de forma no destructiva y protege cada despliegue con validación, snapshots, journals y rollback automático.
- La publicación superó 42 pruebas automatizadas y verificó paquetes autocontenidos para Windows x64 y Linux x64, incluidos flujos tipo Steam Deck.
El problema más difícil
Hacer un gestor de mods lo bastante seguro para que un despliegue fallido nunca le cueste el juego al jugador.
Los mods sobrescriben archivos entre sí y hacen merge en JSON compartidos; un crash a mitad del despliegue deja un juego a medias, y pedir reinstalar destruye la configuración del usuario junto con la corrupción.
Crear un snapshot antes de tocar el juego, registrar cada escritura en un journal, validar antes de confirmar y revertir automáticamente ante cualquier fallo, de modo que el peor caso sea el estado anterior que funcionaba.
Cómo lo resolví
El rollback solo es confiable si el modelo de despliegue sabe qué hizo realmente cada mod. Las sobrescrituras de archivos, los merges estructurados de JSON y los parches semánticos se modelan como operaciones distintas, lo que permite al área de Conflictos mostrar quién gana una disputa de orden de carga y por qué, el mismo modelo que hace precisa la reversión.
La versión 2.0 debía proteger instalaciones creadas antes de que todo esto existiera, así que el migrador actualiza perfiles antiguos de forma no destructiva y los incorpora a la misma protección de snapshots y journals en lugar de pedir empezar de cero.
Tecnologías
- C#
- .NET
- Avalonia
- Transactional deployment
- JSON patching
- Nexus Mods API
- Steam
- Proton
- Secret Service