Un sistema de composición de objetos para mundos reactivos: BOCS
Cuando empecé a crear Ashborne, un RPG narrativo centrado en texto, necesité algo más que una arquitectura de entidades tradicional. Buscaba un sistema que capturara emoción, comportamiento y consecuencia, algo que permitiera a personajes, objetos e incluso el mundo reaccionar y evolucionar. De esa necesidad nació BOCS, el Behaviour based Object Composition System, una filosofía de diseño que presento a continuación.
En esencia BOCS propone que los objetos del mundo se construyan a partir de Behaviours y que cada Behaviour implemente uno o más Modules que actúan como contratos funcionales semejantes a interfaces. Un BOCSObject contiene una lista mutable de Behaviours y métodos para gestionarlos. Esa lista mutable es clave porque permite añadir, quitar o reemplazar comportamientos en tiempo de ejecución, habilitando transformaciones narrativas y mecánicas que la herencia estática no puede ofrecer.
Ejemplos simples ilustran el poder del enfoque. Una espada ígnea puede perder su comportamiento OnUseApplyStatusEffectToTargetBehaviour si se sumerge en agua, dejando de aplicar quemaduras. Un casco con EquippableBehaviour puede equiparse sin aplicar efectos por defecto; luego el sistema busca dentro del casco todos los Behaviours que implementan IActOnEquip y ejecuta sus métodos OnEquip u OnUnequip para modificar estadísticas o aplicar estados. Todo ello sin crear un sinfín de subclases específicas por cada variación.
La interacción entre sistemas ocurre porque los sistemas consumen Behaviours por interfaz. Un sistema de combate simplemente solicita todas las implementaciones de un Module concreto y ejecuta sus llamadas. Esto hace que la lógica esté localizada en Behaviours especializados y reutilizables, facilitando el mantenimiento y la extensión del juego. Si quieres un objeto caótico que lo haga todo, solo agrégale una colección diversa de Behaviours.
BOCS aplica a mucho más que objetos. NPCs pueden crearse combinando DialogueBehaviour, InventoryBehaviour o incluso omitiendo HealthBehaviour para personajes no atacables. Un cofre puede ser destruible si tiene OpenCloseBehaviour y HealthBehaviour, o transformarse en una trampa si se sustituye InventoryBehaviour por OnOpenTriggerExplosionBehaviour. Un salón del trono puede albergar EnterBehaviour, OnEnterTriggerBattleBehaviour y OnEnterApplyStatusEffectBehaviour para crear una sala de jefe con efectos de estado al entrar.
Por qu motivo elegir BOCS frente a arquitecturas tradicionales Como alternativa a ECS u OOP, BOCS aborda problemas comunes en juegos narrativos y experiencias reactivas.
Rigor de la herencia en OOP En OOP puro las capacidades se heredan y extender funcionalidades obliga a modificar la jerarquía de clases. BOCS sustituye herencia por composición de comportamientos, permitiendo cambios dinámicos sin romper la base de código.
Granularidad y opacidad en ECS ECS ofrece rendimiento y escalabilidad, pero puede fragmentar la lógica y ser difícil de seguir para diseñadores y guionistas. BOCS conserva la composición de ECS pero la envuelve en un contexto conductual donde la intención es clara y accesible.
Acoplamiento entre sistemas Muchas implementaciones tradicionales acoplan sistemas entre si. BOCS mitiga esto con un Behaviour based Event Bus y un uso intensivo de interfaces que permite comunicación mediante mensajes y dependencias inyectadas, mejorando modularidad, pruebas y trabajo en equipo.
Emergencia y diseño sistémico Para favorecer la emergencia BOCS propone un estado mundial compartido, evaluadores condicionales y suscripciones de comportamiento. Cuando cambia el clima un WeatherBehaviour puede emitir OnWeatherChanged y todos los Behaviours que implementen IReactToWeather deciden cómo adaptarse, por ejemplo cerrando tiendas o cambiando rutas de los NPCs.
Prototipado y accesibilidad Separar la lógica en Behaviours hace más sencillo exponer configuración a diseñadores mediante JSON, YAML o herramientas de narrativa como Ink. Esto acelera iteraciones y reduce cuellos de botella en equipos pequeños.
Beneficios resumidos Runtime Flexibility Los Behaviours pueden añadirse, eliminarse o intercambiarse en medio de la partida. Modularity Casi cualquier objeto se compone mediante mix and match de Behaviours. Isolation Cada Behaviour posee su propio ciclo de vida reduciendo el acoplamiento. Emergent Systems La interacción entre Behaviours lleva a comportamientos emergentes de forma natural. Scalability Ideal para juegos y simulaciones que evolucionan con las decisiones del jugador.
BOCS no pretende sustituir a ECS cuando el objetivo prioritario es rendimiento masivo, sino reinterpretar la manera de estructurar el comportamiento para juegos que buscan expresión y reactividad narrativa.
En Q2BSTUDIO aplicamos este tipo de enfoques a proyectos reales. Somos una empresa de desarrollo de software y aplicaciones a medida con experiencia en inteligencia artificial, ciberseguridad y servicios cloud. Acompañamos a empresas desde la definición de producto hasta el despliegue en cloud y la automatización de procesos, creando soluciones de desarrollo de aplicaciones y software a medida adaptadas al dominio del cliente.
Nuestro equipo integra especialistas en inteligencia artificial y agentes IA capaces de aplicar modelos conversacionales y análisis predictivo a productos interactivos y juegos, además de ofrecer servicios de consultoría en ia para empresas y soluciones avanzadas de servicios inteligencia de negocio donde herramientas como power bi se integran para explotar datos y generar valor.
También cubrimos necesidades críticas de seguridad con auditorias, pruebas de penetracion y estrategia defensiva en ciberseguridad para proteger activos y contenidos del juego. Si tu solución requiere escalado en la nube trabajamos con servicios cloud aws y azure para desplegar entornos robustos y seguros que soporten sistemas reactivos y procesamiento en tiempo real.
Si te interesa explorar cómo una arquitectura basada en comportamiento puede transformar tu juego o aplicación, o si quieres desarrollar una plataforma con inteligencia artificial e integración en la nube, en Q2BSTUDIO podemos ayudarte a prototipar, implementar y escalar la solución adecuada. Conecta con nuestro equipo para hablar de diseño, agentes IA, power bi u otras necesidades tecnológicas y descubre cómo convertir ideas narrativas en sistemas vivos y robustos.
BOCS es una invitación a pensar en arquitectura como narrativa: el código no solo debe ejecutar reglas, tambien contar historias mediante comportamiento. Si construyes mundos que deben sentirse vivos, quizá sea hora de pensar en términos de comportamiento en lugar de solo datos. En Q2BSTUDIO combinamos esa visión con experiencia práctica en inteligencia artificial y desarrollo a medida para llevar tus proyectos al siguiente nivel.
Comentarios