Tier 3 — optional systems for tooling, scale, and engine integration. Not required for basic event generation.
Memory adapter by default. Enable persistent template storage:
const generator = new RPGEventGenerator({ enableDatabase: true });
await generator.storeTemplateInDatabase(customTemplate);
const tpl = await generator.getTemplateFromDatabase('template_id');
const results = await generator.searchTemplatesInDatabase({ type: 'combat' });
Database init is fire-and-forget in the constructor for the memory adapter. Custom adapters may be async.
// Parallel (worker threads, falls back to sequential)
const events = await generator.generateEventsParallel(100, context, 4);
// Batched (memory-friendly)
const batched = generator.generateEventsBatched(1000, context, 50);
Build scripts dump templates for game engines:
npm run export:unity
npm run export:godot
npm run export:unreal
These produce template files — not runtime plugins.
Experimental optional layer:
const generator = new RPGEventGenerator({
aiEnhancement: {
provider: 'openai',
apiKey: process.env.OPENAI_API_KEY
}
});
Failures are swallowed silently; core output is used as fallback. Not recommended for jam games (requires API key + network).
generator.addNPC({ id: 'blacksmith', name: 'Brun', /* ... */ });
generator.updateRelationship('blacksmith', 'player', 10, 'helped');
Works best with enableRelationships and enableModifiers both on.
generator.advanceDay();
generator.getCurrentTime(); // season, day, etc.
Seasonal context can feed environmental modifiers when not overridden by player context.
npm run economy:list
npm run economy:stats
Theme/content pack management for maintainers.
| Need | Use |
|---|---|
| Lore bible for your game | World Building |
| 10k+ custom templates | Database |
| CI content pipeline | Export scripts + economy tools |
| LLM-polished prose | AI enhancement (experimental) |