Skip to content
Toto (C.A) edited this page Aug 1, 2025 · 6 revisions

Bienvenido a la Wiki de Systemall

Systemall es una librería potente y flexible para Game Maker, diseñada para agilizar la creación de videojuegos del género JRPG. Su filosofía central es una estricta separación entre datos y lógica, permitiendo a los desarrolladores y diseñadores construir, modificar y balancear sistemas de juego complejos con máxima eficiencia.

Esta wiki sirve como la documentación completa para entender, utilizar y extender la librería.

Principios Fundamentales

Para usar Systemall de manera efectiva, es importante entender sus tres conceptos clave:

  1. Arquitectura Orientada a Datos: El comportamiento y las propiedades de casi todos los elementos del juego (objetos, enemigos, habilidades, etc.) no se definen en el código, sino en archivos de datos JSON. Esto permite realizar cambios de balance y añadir contenido de forma rápida y segura.
  2. Plantillas e Instancias: El sistema distingue entre Plantillas (los "moldes" definidos en JSON que se cargan al inicio) e Instancias (los objetos "vivos" que existen en el juego, creados a partir de una plantilla). Esto asegura una gestión de memoria eficiente y una clara separación entre la definición de un objeto y su estado actual en el juego.
  3. Lógica Basada en Eventos: La comunicación entre los diferentes módulos del sistema (combate, inventario, UI) se realiza a través de un sistema de eventos y un broadcast global. Esto desacopla la lógica, haciendo que el código sea más limpio, modular y fácil de mantener.

Módulos del Sistema

La librería está dividida en varios subsistemas interconectados. Cada uno tiene su propia página de documentación detallada:

  • Módulo Core: Contiene los componentes base de la librería, como Mall y MallIterator
  • Módulo Broadcast y Mensajes: Herramientas de comunicación interna de Systemall.
  • Módulo Components: Contiene los templates de Stats, Slots y States usados por PartyEntity
  • Módulo Party: Gestiona todo lo relacionado con las entidades, incluyendo Stats, Slots, States y los PartyGroup.
  • Módulo Pocket: Administra los objetos (PocketItem) y los inventarios (PocketBag).
  • Módulo Dark: Define la lógica de las habilidades, con Commands (comandos) y Effects (efectos).
  • Módulo Wate: Orquesta los encuentros de batalla y el flujo del combate.
  • Módulo AI: Permite crear comportamientos de inteligencia artificial modulares y reutilizables.

Guía de Inicio Rápido

Para empezar a usar Systemall en tu proyecto, sigue estos pasos:

  1. Importa la Librería: Añade todos los scripts de Systemall a tu proyecto de Game Maker.
  2. Crea tus Archivos de Datos: Organiza tus archivos .json en una carpeta (ej: data) y crea un archivo master_database.json para listarlos.
  3. Define tus Funciones de Evento: Crea los scripts GML para los eventos que necesites (ej: function EVT_Stat_LevelUp_Generic() {}).
  4. Inicializa el Sistema: En el evento Create de un objeto controlador persistente, ejecuta:
// Carga todos los datos desde los archivos JSON`
mall_init("data/master_database.json");
  1. ¡Crea tus Instancias!: Ya puedes empezar a crear los elementos de tu juego:
// Crear una instancia del héroe "JON" a nivel 1
var jon_instance = party_entity_create_instance("JON", 1);

// Iniciar una batalla
wate_start_battle("ENCOUNTER_FOREST_01", player_group);

Referencias

Clone this wiki locally