Skip to content

Modules ​

ThicketScript comes with the pieces a game needs. They sit in layers, and you pick the ones you want:

ModuleWhat it isHow you get it
willowThe 2D display tree: sprites, text, tweens, cameras, particles, tilemaps.Built into thicket. List willow in systems.
willowuiUI widgets built on willow: buttons, lists, text input, windows, themes.A package, written in ThicketScript.
gamekitGame structure: entities, components, scenes, saves.A package, written in ThicketScript.

Under all of them is the engine core: windows, input, audio and rendering. You never import it directly.

Systems and packages ​

The difference matters only in thicket.json. In your code, every import looks the same.

  • A system is built into the thicket program. You list it in systems.
  • A package is ThicketScript source from a folder, a git repository or a zip. You list it in packages. See Packages.
json5
{
    entry: "app.tks",
    systems: ["willow", "bitmap"],
    packages: { willowui: "../willowui-tks" },
    window: { title: "My Game" },
}

Leave systems out and the project can use every system the host has.