World Database¶
TaleNode includes a world-building database for cataloging items, locations, lore entries, and other game world entities. Use it to organize your game's universe alongside your dialogue trees.
Overview¶
World entities are standalone data records that describe things in your game world — weapons, cities, historical events, important characters, or any custom category. Each entity has a name, category, description, tags, and key-value properties.
Managing Entities¶
Open the World DB panel via View > World Database in the menu bar. The panel appears as a dockable tab.
Category Filter¶
Use the Filter dropdown at the top to show only entities of a specific category, or select All to see everything.
Adding an Entity¶
Click + Add Entity to create a new entity. It starts as an Item by default.
| Field | Type | Description |
|---|---|---|
| Name | String | Entity name (e.g., "Iron Sword", "Riverwood") |
| Category | Enum | Item, Location, Lore, or Character |
| Description | String | Detailed description or lore text |
| Tags | List | Comma-separated tags for filtering |
| Properties | Key-Value | Custom properties (e.g., damage = 15, population = 500) |
Editing an Entity¶
Each entity has a collapsible section in the World DB panel:
- Name: Click to edit the entity name
- Category: Use the dropdown to change the category
- Description: Click to edit the multiline description
- Properties: Each property is a key-value pair. Click either field to edit
Adding Properties¶
Click + Property within an entity to add a new key-value property. Properties are freeform — use them for whatever metadata your game needs:
damage = 15weight = 2.5rarity = legendaryregion = Northern Mountains
Removing Entities and Properties¶
- Click X next to a property to remove it
- Click Delete Entity at the bottom of an entity's section to remove the entire entity
Categories¶
| Category | Use Case |
|---|---|
| Item | Weapons, armor, consumables, quest items, key items |
| Location | Cities, dungeons, points of interest, shops |
| Lore | Historical events, legends, in-world books, notes |
| Character | NPCs, factions, organizations (separate from dialogue characters) |
Export¶
World entities are included in the JSON export:
{
"world_entities": [
{
"name": "Iron Sword",
"category": "Item",
"description": "A basic iron sword.",
"tags": ["weapon", "starter"],
"properties": [
{ "key": "damage", "value": "15" },
{ "key": "weight", "value": "2.5" }
]
},
{
"name": "Riverwood",
"category": "Location",
"description": "A small village by the river.",
"properties": [
{ "key": "population", "value": "50" },
{ "key": "region", "value": "Whiterun Hold" }
]
}
]
}
The world_entities array is omitted when no entities are defined. The description, tags, and properties fields are omitted when empty.
Runtime Integration¶
Your game engine should:
- Load the
world_entitiesarray at startup - Index entities by name or category for quick lookup
- Use properties to populate UI (item stats, location descriptions, etc.)
- Reference entity names from dialogue text or Event node actions
Tips¶
Tip
Use tags to create cross-cutting categories. An entity can be both a "quest_item" and a "weapon", making it easy to filter in your game's inventory UI.
Tip
Properties are string-based. Parse numeric values in your game engine as needed (e.g., parseInt("15") for damage).
Tip
Use the Category filter to focus on one type at a time when your database grows large.