A full-featured, in-memory database/ORM library for GameMaker (GML). Built around structured data, flexible querying, and reactive data flow.
Important
This project is archived due to the author no longer using GameMaker and has no plans for further development.
Warning
All JSDocs in the src/types folder are initially written by AI. It may be inaccurate or outdated compared to the website's documentation. So, please don't use them if you, your team, or your project does not support AI-generated content.
-
Models & Schemas
Schema-backed data storage with typed columns, constraints (
PRIMARY_KEY,UNIQUE,OPTIONAL), custom validators, and default values, or go fully schemaless for rapid prototyping. -
Catalogs
Organize multiple models into a single database, with aware relations between models in the same catalog.
-
Relations & Joins
Connect your data using directional or mutual relations, with full support for advanced joins (
INNER,LEFT,RIGHT,FULL,CROSS), resolved lazily at the data level. -
Powerful Queries
Query by index, primary key, column value, or custom function, with operators, wildcards, preprocessors, column aliases, and result transformations built in.
-
Pipelines
Chainable, lazy data transformation pipelines (
filter,map,reduce,group_by,sort, and more) with cursor-based step control and configurable caching strategies. -
Reactivity
Keep your UI and game state perfectly synchronized using
Computed,Watcher, andDerivedbindings, NimbusDB's standout, Redis-inspired reactive system. -
Transactions
Buffered transaction contexts with full commit, rollback, and replay capabilities for atomic, consistent operations.
-
Import / Export & Backup
Seamless data migration with built-in support for
CSV,JSON,JSONL, andNDBINformats, plus catalog-level backup and restore for snapshot-based persistence.
For more information, please refer to the official documentation.
-
Clone the repository
git clone https://github.com/undervolta/NimbusDB.git
-
Install dependencies
cd NimbusDB # change to NimbusDB directory bun install # install dependencies
-
Make changes in
./srcdirectory -
Run scripts
bun run generate # code generator bun run pack # pack scripts and other related files
NimbusDB is free and open-source. It's licensed under the MIT License.
