Saltar al contenido principal

Registro de cambios

Todos los cambios notables en Monster Capture Engine están documentados aquí.

v1.1.0 (2026-07-13)​

Esta versión agrega espacios construidos por el jugador (bases secretas y gimnasios propios del jugador), una Battle Tower efímera, co-presencia en vivo en las bases, y un gran avance para el Essentials Importer — comprobado con una importación real de un proyecto v21.1 completo. También incluye una oleada de endurecimiento previo al lanzamiento y trabajo de rendimiento.

Jugabilidad​

  • Battle Tower — Una nueva entrada del menú de pausa lanza una partida efímera de Battle Tower (EphemeralTowerLauncher): una escalera de desafío autocontenida que genera oponentes temporales y paga las ganancias directamente a la billetera del jugador. El flujo de batalla fue endurecido para oponentes anónimos/sin entrenador, de modo que las peleas de la torre se resuelvan de forma limpia.
  • Base secreta ("Mi Base") — Los jugadores pueden colocar, entrar y decorar su propio interior instanciado. El interior se construye a partir de una plantilla de escena poblada en tiempo de ejecución, y una capa de decoración (DecorCatalog con operaciones de agregar / eliminar / mover) persiste dentro del archivo de guardado.
  • Gimnasios de jugador ("Mi Gimnasio") — Los jugadores construyen un gimnasio totalmente personalizado: el equipo del líder, una sala decorada, diálogo personalizado y su propia medalla. Otros jugadores pueden desafiarlo.
  • Menú de pausa — Tres nuevas entradas conectan lo anterior al menú del juego: Battle Tower, Mi Base y Mi Gimnasio.

Online (Nakama)​

  • Multijugador de bases secretas — Los RPCs del servidor secret_base_save / secret_base_get / secret_base_list / secret_base_invite respaldan una colección persistente de bases con escrituras de concurrencia optimista y validación fail-closed del servidor. Los visitantes ven una instantánea incluso cuando el dueño está desconectado. Verificado contra un pentest adversarial — las escrituras falsificadas se rechazan.
  • Co-presencia en vivo en las bases — BaseSyncService usa una partida retransmitida (base:<ownerId>) para sincronizar la posición del visitante y los cambios de decoración (OP_DECOR_CHANGED) en tiempo real. Verificado de extremo a extremo con una prueba en vivo de dos clientes contra Nakama.
  • Desafío de gimnasio de jugador — Instantáneas de gimnasio del lado del servidor via gym_save / gym_get / gym_list, fail-closed, para que los retadores peleen contra el equipo real configurado por el dueño.
  • Validación de teletransporte con autoridad del servidor — mce_validate_teleport ahora valida la escena de destino contra el grafo de escenas y aplica un límite de tasa del lado del servidor, emparejado con una protección de movimiento anti-teletransporte del lado del cliente.

Importer (Pokemon Essentials v20 / v21 / v21.1)​

  • Importación de proyecto v21.1 completo comprobada — Una ejecución headless real completa contra un proyecto Essentials v21.1 completo convirtió 898 de 898 especies con cero errores (335 sobreescrituras de forma, 422 evoluciones vinculadas), creó 150 movimientos nuevos reutilizando 590 existentes, 72 habilidades, 315 objetos creados / 378 coincididos, y 20 entrenadores con rosters poblados. Consulte Docs/audit/2026-07-12-importer-v21.1-partial-run.md.
  • Materials de sprite de batalla — SpriteLinker ahora genera Materials de batalla para los monstruos importados. Antes de esta corrección, los monstruos importados eran invisibles en batalla. Los sprites coinciden por nombre interno, con arte por forma y variantes de género.
  • Cobertura más amplia de efectos de movimiento — El mapeo de FunctionCode a efecto se extendió en tres pasadas; los códigos no mapeados degradan con elegancia con una advertencia honesta en lugar de fallar en silencio.
  • Generación concreta de objetos — ItemConverter ahora produce ScriptableObjects Item reales de MCE en lugar de stubs coincididos por nombre.
  • Arnés de importación headless — EssentialsHeadlessImport.Run() controla todo el pipeline desde la CLI / batchmode.
  • Correcciones de integridad en la reconstrucción de la DB — Se corrigió el descubrimiento de assets que podía borrar Movimientos durante una reconstrucción, además de una ruta obsoleta posterior al rebranding; se agregaron sobreescrituras de forma y 15 nuevos métodos de evolución para v21.1.

Configuración y empaquetado​

  • Gate de DOTween — Las assemblies del motor ahora están protegidas tras el define DOTWEEN, de modo que una importación limpia sin DOTween ya no falla con ~200 errores de compilación.
  • Exportación Lite vs Basic — Los dos niveles ahora se exportan de forma distinta; el splash obligatorio de OpenMon se incluye solo en Lite.

Calidad y rendimiento​

  • Endurecimiento previo al lanzamiento (Oleadas 1-4) — Se corrigió una fuga de AudioListener, BGM duplicado, un AudioSourcePool sin límite, un latch de teletransporte, la limpieza de estado de InputManager y las protecciones de MenuSelector.
  • De-LINQ de rutas calientes — Se eliminaron las asignaciones de LINQ por frame en el controlador de personaje.
  • Pulido — Inspector de MonsterEntry más limpio; se corrigió un error tipográfico de MajorVersion tras un shim serializado, de modo que los guardados existentes siguen cargándose.
  • Pruebas — Se agregó verificación de efectos de movimiento en monstruos importados reales y una prueba PlayMode en vivo de dos clientes contra Nakama.

También en esta versión — documentado el 2026-07-02, publicado después de v1.0.0:

Esta versión documenta funciones de online y herramientas que se lanzaron después de v1.0.0 pero que aún no estaban listadas en el registro de cambios. Todos los elementos están presentes en la base de código; esta entrada pone el registro de cambios en línea con los módulos del servidor bajo Assets/OpenMon/Online/Server~/nakama/ y las herramientas del editor.

Online — Economía​

  • Global Trade Station (GTS) — Tablero de comercio asíncrono "buscado-por-ofrecido" (economy/gts.ts). Los jugadores publican un monstruo ofrecido y la especie que quieren a cambio; el servidor empareja y liquida los intercambios.
  • Global Trade Link (GTL) — Sistema de listado/pujas estilo casa de subastas con un motor de emparejamiento dedicado (economy/gtl.ts + economy/gtl-engine.ts).
  • Economía protegida para desarrollo — Los RPCs de otorgamiento de moneda/objetos están protegidos tras MCE_DEV_MODE (economy/shop.ts + data/shop.ts). En la simulación de producción (el nodo compose nakama-prodsim) los RPCs de otorgamiento rechazan con dev_mode_disabled, verificado por pruebas E2E dedicadas.

Online — Batalla​

  • Captura con autoridad del servidor — La captura ahora se resuelve en el servidor mediante un contrato de RPC en lugar de resultados reportados por el cliente, cerrando la brecha anti-trampas para las capturas salvajes.
  • PvP con autoridad del servidor — La orquestación de partidas y la resolución de turnos se ejecutan del lado del servidor (battle/pvp-engine.ts), con emparejamiento y cobertura E2E completa.
  • Battle Tower / Incursiones — Progresión de múltiples batallas y encuentros cooperativos de incursión (battle/raid-engine.ts).

Online — Mundo y social​

  • Base secreta / Vivienda — Espacios instanciados propios del jugador con CRUD persistente (world/housing.ts).
  • Presencia y AOI — Presencia en tiempo real y filtrado por área de interés para la sincronización del mundo (world/presence.ts).
  • Comercio directo — Flujo de comercio directo jugador a jugador (social/trade.ts).

Online — Seguridad​

  • ACL anti-trampas de batalla — Aplicación de control de acceso en los RPCs de batalla, de modo que solo los participantes autorizados puedan controlar una partida, respaldado por validación de velocidad/inventario.

Herramientas del editor​

  • Import HD Original Dex (151) — la sección Cartridge del Hub (edición Studio) ejecuta el HDDexImporter para incorporar las 151 criaturas HD originales (frentes, dorsos, transparentes y seguidores de pixel art).

Notas​

  • El contrato completo de RPC de online está documentado en Assets/OpenMon/Online/Server~/nakama/CONTRACT.md.
  • Todos los elementos del menú del editor ahora viven bajo el menú Tools > MCE > … (antes MCE > …).

v1.0.0 (2026-03-29)​

El lanzamiento público inicial de MCE como un paquete plug-and-play de Unity.

Funciones nuevas​

  • Editor de mapas (Scene View) -- Superposición de pintado de casillas inspirada en RPG Maker XP integrada en el Scene View de Unity. Se autoactiva en escenas de mapa. Soporta autotiles (con vistas previas animadas), casillas regulares, pestañas de capa, herramientas Lápiz/Borrador, superposición de cuadrícula y atajos de teclado.
  • Botón de configuración de un clic -- La pestaña Welcome del Hub ahora muestra un botón de Setup VERDE/ROJO que autoconfigura el proyecto en un solo clic, incluyendo la autoimportación de TMP Essentials.
  • Paleta de comandos -- Presione Ctrl+Shift+M para abrir la Paleta de comandos de MCE para acceso rápido a todas las herramientas y funciones.
  • Tri-Inspector (físico) -- Tri-Inspector ahora se incluye como un paquete físico (sin dependencia UPM). Elimina conflictos de versión y funciona de fábrica en archivos .unitypackage exportados.
  • PackageExportValidator -- Validación extrema para exportaciones .unitypackage. Verifica todos los assets requeridos, definiciones de assembly, dependencias y estructuras de carpeta antes de exportar.
  • defineConstraints en assemblies -- Todas las definiciones de assembly del editor ahora usan defineConstraints para evitar que el código del editor se compile en builds del player. Elimina errores de build por referencias solo del editor.

Arquitectura​

  • Sistema de SKU de 4 niveles -- Niveles Lite, Basic, Pro y Source con separación adecuada de assemblies y defineConstraints.
  • Limpieza de definiciones de assembly -- Todos los archivos .asmdef tienen referencias correctas, sin dependencias circulares y con restricciones de plataforma adecuadas.
  • Rebind de GUID de Zenject -- Se resolvieron más de 200 errores de scripts faltantes por la migración de namespace de Zenject. Todas las referencias de escena y prefab restauradas.

Pruebas​

  • Más de 2,169 pruebas pasando en todas las assemblies de prueba (EditMode NUnit + Jest Unit + Jest E2E).
  • Procedimiento de gate de pruebas documentado y aplicado para la validación previa al push.

Importer​

  • Essentials Importer -- Pipeline de importación de Pokemon Essentials v20/v21/v21.1 para mapas, tilesets, eventos, autotiles, personajes y sprites de seguidor.
  • AutotileBaker -- Convierte el formato de autotile de RPG Maker a Rule Tiles de Unity.
  • TileDataPopulator -- Puebla los datos de colisión y encuentro de casillas a partir de los archivos de mapa de Essentials.

Online (opcional)​

  • Capa MMORPG de Nakama -- 18 servicios: Auth, WorldSync, Battle, Social, Economy, LiveOps, AntiCheat, Persistence, y más.
  • Emparejamiento PvP, comercio, gremios, vivienda -- Conjunto completo de funciones online para juegos multijugador de captura de monstruos.

Herramientas del editor​

  • OpenMon Hub -- Panel central con pestañas Welcome, Tools, Database Browser y Settings.
  • Type Chart Editor -- Editor visual para tablas de efectividad de tipos.
  • Database Browser -- Explore y busque en todas las bases de datos de monstruos, movimientos, objetos y habilidades.
  • SpriteSheet Slicer -- Rebanado automatizado de spritesheets de personajes y seguidores.

Correcciones de errores​

  • Se corrigió el temblor de movimiento del seguidor en las transiciones diagonales de cuadrícula.
  • Se corrigieron errores de binding de Zenject al importar el paquete en un proyecto nuevo.
  • Se corrigió que PackageDependencyInstaller parcheara manifest.json como texto para evitar problemas de bloqueo del PackageManager.
  • Se corrigieron los niveles de exportación a los que les faltaban archivos de Zenject, Resources y csc.rsp.