Goblin Goblin The language
Sheriff Sheriff Builds these docs
Rust Rust Implements Goblin
General-purpose scripting β€’ Living-world primitives

Welcome to the Horde.

Goblin is a general-purpose scripting language for tools, generators, simulations, games, and living systems.

Use it like a normal scripting language. Then use the parts other languages leave to frameworks: transitions, overlays, ownership, links, exposure, grids, decisions, and swarmable work.

🧰
Tools
πŸ—ΊοΈ
Sims
🎲
Games
πŸ§ͺ
Systems

A scripting language with a reason to exist.

Goblin is not trying to replace every language. It is built for people who want one language for scripts, content pipelines, procedural generation, simulations, and game logic.

1

Write normal scripts

Build CLIs, process files, generate sites, automate projects, and glue tools together without pulling in a giant framework.

2

Model changing worlds

Goblin includes primitives for entities that change, relate, influence, own, perceive, target, decide, and exist in space.

3

Ship real projects

Goblin is already used to build Sheriff, a static documentation system. The language is meant to make things, not just describe them.

Use it for boring work.

Goblin is still a scripting language. Read files. Transform data. Generate output. Build tools that live inside your project instead of becoming a second project.

pages | collect_markdown_files("content") repeat pages as page render_markdown(page) xx

Use it for weird work.

Goblin also gives you language-level primitives for simulations and game systems: entities, transitions, overlays, ownership, links, exposure, grids, and decisions.

<>Kingdom | name: "name", power: .5, stability: .8 rome <> Kingdom | name: "Rome", power: .9 repeat 300 tick() xx

The Goblin stack

Goblin's core language stays small, but its object model is built for worlds that move.

↬

Transitions

Entities can become something else while keeping their identity and relationships intact.

⬚

Overlays

Model effects, statuses, languages, religions, diseases, enchantments, pressure, or influence without rewriting the host.

β›“

Links

Treat relationships as first-class: borders, trade, culture, distance, hostility, alliances, and computed connection scores.

βŒ‚

Ownership

Objects can contain, control, hold, lend, borrow, lose, and transfer other objects.

β—‰

Exposure

Decide what entities can perceive and target. Keep decisions bounded, local, and world-aware.

β–¦

Grids & Swarms

Place worlds on maps, generate regions, and mark independent work to run in parallel when the runtime can safely swarm it.

Install Goblin

Download Goblin v0.46.2 for Windows or Linux.

1

Download the release

Grab the Windows x64 zip or Linux x64 tar.gz from GitHub.

2

Verify the binary

goblin --version
3

Run a script

goblin run hello.gbln

Build tools. Build worlds.

Goblin is a language for people who want to make things that move, change, generate, and grow.