Create RPGs, visual novels and strategy games with YAML and assets. No programming required.

Gozen is a no-code toolkit for making 2D RPGs, visual novels and strategy games with YAML and assets. Start with a playable template, edit its dialogue and rules, then check and play it. No Go code or compiler is required for this workflow. YAML and terminal commands are the interface; there is no visual editor. Go and Ebitengine power the engine behind it.

The name: Ebitengine is named after ebiten (海老天), shrimp tempura. In Japan, an ebiten gozen (御膳) is a set meal on one tray: shrimp tempura with soba, small side dishes, and a sweet such as dango. Gozen is that tray for Ebitengine: the engine served with everything a game needs. The name also starts with Go.

RPG: Go ZenNovel: After the Pass
Campaign: Five Banners (play in browser)Monster collection: Go Zen (play in browser)
Management: Harbor app team

Create your first game #

Install Gozen, then create a playable template:

gozen new my-game --template rpg
gozen check my-game
gozen run my-game

Choose novel or campaign for a different starting point. Follow Getting started to edit your game, or play the showcase games in your browser.

On Linux the window needs a graphics environment; see Install.

Screens #

All from Go Zen at 1920x1080.

ConversationPainted scene
Town mapFirst-person dungeon
BattleCut-in
ShopSkill tree
the shop’s goods
Title
the title screen

Novel games #

ui.message: novel makes a visual novel. All from After the Pass, the novel sample, at 1920x1080 (Novel games).

Roll back (Q, wheel)Skip to the line not read (N)
Two languagesStaging (stand, effect)
Event picture with its line
Brenna’s ending: a picture of her cheering at the bar, with the line under it

Phone apps #

phone shows a phone over the scene, upright or on its side, in a story or any other game (A phone on the screen). All from the office sample. Authors write history and fixed replies in YAML; flags reveal contacts, messages and posts. Read-only apps need no reply handling.

Home → contacts → chat → homeRead history → send a reply → reveal new information
Chat: a picture, times and a clipFeed: scrolled, a clip post, likes
Video on its side: footageChat: a dance practice clip (a puppet)
Page: a shop site with a picture gridPage: a bank transfer to confirm
Lock screen: notices arrivingLock screen: an incoming call answered
Page: a sign-in approvalFeed: a timeline of text posts
Banner: a push notification over a scenePage: a supporter site with locked posts
Page: a contact to add with a QR code

Games inside the phone (Gozen 0.23.0). The phone opens standalone Gozen games and returns to the host when they close. Each game has its own app icon, state and saves. Authors choose bundled games or optional downloads from a pinned catalog; players choose when to install or update. These captures show two small neutral games running inside the office sample. See the authoring recipe for package, browser and replay limits. The public catalog includes Counter, a small example game. To offer your own game, submit it for review with its source, release package, custom icon and licenses. Submission does not automatically approve or publish a game.

Counter in portraitTrail in landscape

Management workspaces #

Workspace, call, calendar and timeline screens with a day flow (schema 10) make a management game. From the office sample (examples/office); the YAML is in workspace recipes.

Standup: busts, meters, dots, signs, burnupPeople: press for a peek
six team cards with busts, progress meters, status dots and a burnup chart
Hand out work by dragging (or with keys)Tickets, dependencies and a carousel
A message asks for a decisionVideo call
Screen sharingFirst-visit guide
Elena shares the booking form in the call
Calendar with scheduled eventsPlan timeline
the sprint calendar with the review and the demothe sprint plan with five activities
Character gridGlass panels
the character book in a gridtwo overlapping glass panels over the office

Campaigns #

regions, factions and campaign (schema version 5) make a war of regions over turns, with generals, orders and clashes of armies. From Five Banners, the campaign sample.

The war mapA clash of armies
the picture map of the land with the regions in the owners’ colours, the band with the week, the window of a region and the generals

Monster collection #

Monsters ask to join after a battle, wait at the ranch, and two raised monsters, one male and one female, are bred into a new one at Yorn’s altar, in the manner of Dragon Quest Monsters (schema version 6). The monster book opens a page as the party meets each monster and shows how to breed it, two generations up. The recipe is Collect, raise and breed monsters.

A monster asks to joinBreeding at Yorn’s altar
The monster bookThe family tree, two generations up
the Succubus page of the monster bookthe Succubus family tree with its parents and grandparents

Battles #

Enemies can change form at an HP threshold, combine with allies, change pictures as HP falls, and move with a puppet portrait. Go Zen shows the Tollkeeper’s second form, Drip Slimes gathering into King Slime, and a moving Succubus face with a soft sway region (schema version 7).

TransformMerge
Pictures by HPMotion and sway

See the battle recipes.

Multi-level maps #

Playtesting #

Start the game with --dev and these keys work while you play.

F5: edit the YAML, the line changes in placeF9: a note with the screen and the state
F7: win rates of the battles hereF8 State: flip a flag, step a number
win rates by troopflag.thanked_hedda and chose.toast in the development panel
F8 Flags: what each event sets and readsF8 Scenes: jump to an event
the flags each event sets and reads
F8 Command: run a line of YAMLF8 Frames: ticks, frames, the slowest Update and Draw
the frame meter over the tavern
F6: the character bookTab: the relationship chart (Z focuses a face)
Wren’s page in the character book: her picture, fields, introduction and how she sees the others

More on each key in the edit–play loop.

gozen check, gozen sim battle, gozen sim dive and the notes of F9 are in the edit–play loop.

Where to go #

Features #

Limitations #

Install #

go install github.com/nao1215/gozen/cmd/gozen@latest

The install page lists the graphics libraries for each OS.