Every page here is generated from the sheets the vbgnt agent reads
on each turn, so it describes the engine as deployed. Each page is also
plain Markdown at the same address ending in .md, and
llms-full.txt holds every page in one file.
Pages
- GANDER 0.1 API reference (Markdown): The whole engine in one sheet: the shape of a game, Goose for game code, app and input, 2D, canvases, lights, post effects, ocean, particles, decals, models and materials, streaming, animation, audio, faces, high scores, performance, memory, the gander command and recipes.
- GANDER physics (Markdown): 2D physics (Box2D v3), 3D physics (Jolt), a walking character controller, cars with suspension and drivetrains, ragdolls and cloth.
- GANDER terrain (Markdown): Heightfield landscapes up to 8 km, splat-painted ground, grass, scattered trees and rocks, water, roads and runtime editing.
- GANDER streamed worlds (Markdown): Open worlds of placed objects (villages, forts, loot, NPCs) that stream in 128 m cells around the camera.
- GANDER navigation and AI (Markdown): Navmeshes, paths, cover and crowds of agents that walk them.
- GANDER UI (Markdown): Immediate-mode menus, HUD widgets, slot screens, safe areas and mobile orientation.
- GANDER saves (Markdown): Save slots, autosave, Continue, and which game state to write.
- GANDER online multiplayer (Markdown): Host-authoritative online play: rooms, codes, quick play and cloud hosts, with recipes for action and turn-based games.
- GANDER talking characters (Markdown): Preparing character models with face blendshapes for gander::face(): the two tools and what they output.
Goose
Goose is a statically typed language compiled ahead of time to C, developed in the open at github.com/aardappel/goose. GANDER pins one Goose commit and moves it only after its regression games build, play and test the same under the new compiler. The API reference's "Goose for agents" section lists what trips up new code.
Making a GANDER game
GANDER games are made in the vbgnt studio: pick GANDER as the engine for a
new game, or have a connected agent call create_game with
engine: "gander" over MCP. They play in the
browser like any vbgnt game and export to the web, Windows, macOS, Linux,
Android and iOS.