Skip to content
A game relation database, goal planner, and route finder.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Discworld: A goal planner, route finder, and game relation database

Discworld is composed of two core components: Twoflower and Mapp.

Twoflower is the core component: it exposes a generic game relation database (GameDB) and implements a goal planner (using a depth-first search) and route finder (using A*). The GameDB could be used to map relationships, such as the XP rewarded for an action, the resources required to make an item, and so on. You're really limited only by how well you can model these relationships in a graph.

Mapp is a component that exposes the GameDB to Lua. It provides an interface to create resources, define their relationships, and so on in a text-based format. This means that a GameDB can be constructed from Lua code, which is great for source control! For an example of Mapp in action, see ItsyScape's ItsyScape.GameDB module and the corresponding construction script in Resources/Game/DB/Init.lua

Copyright & License

Copyright Aaron Bolyard aka [bk]door.maus

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at

You can’t perform that action at this time.