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.

MV + MZfamilias de motor
42pruebas automatizadas
Win + Linuxbuilds autocontenidos

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

El desafío

Hacer un gestor de mods lo bastante seguro para que un despliegue fallido nunca le cueste el juego al jugador.

La restricción

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.

La salida

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

Siguiente caso de estudio

Mina native mod menu

Un menú de configuración de mods para Mina the Hollower ensamblado con las propias clases de menú del juego: una página de ajustes genuinamente nativa para cada mod instalado.