Lesson 01 · conlang

Three generation levels

Learn to choose how much of a language you pin, and how much you let the generator sample. One decision, three concrete outcomes.

Why this matters: a conlang can be a quick exploration or a designed artifact. The Spec is the dial. If you know which level you are writing, you stop pinning fields by accident and start getting the language you intended.

The one idea

A Spec is partial by design. Every omitted field is sampled from the generator's defaults. The same Spec plus seed produces the same model, so a small Spec is still reproducible. You choose a level by choosing what to pin. See the Spec reference.

Three levels at a glance

LevelYou pinYou get
1 · Minimal Name and seed Everything sampled; useful for exploration
2 · Partial Inventory, templates, word count Controlled sound and size; fresh vocabulary
3 · Rich Sounds, words, grammar, discourse, semantics Designed output with little left to chance

What we generated

All three runs used the same command and all linted clean:

conlang generate --spec <level>.yaml --out <level>.json --strict
RunLexemesWordsSignature trait
Minimal2491,466Large sampled inventory
Partial139584Latin inventory, ergative
Rich101184IPA, postnominal, discourse, model

Rich is smaller because its concept list was pinned to twelve items. The dial is specification, not word count.

Choose the level

Retrieval check

Which level pins only the name and seed?

Second check

Which level declares predicate extensions for evaluation?

Do it once

  1. Open out/language-levels/spec/level-2-partial.yaml.
  2. Change word_count from 60 to 20.
  3. Regenerate with --strict and compare the lexeme count.
  4. Ask: did you change the sound system or only the size?

Expected: the inventory and templates stay put; the lexicon shrinks. That is the difference between pinning and sampling.

Primary source: read the Spec reference before your next language. It is the ground truth for what each key pins.

Ask your teacher: if a generated language feels wrong, ask which field to pin next. That is usually faster than rewriting the whole Spec.

Reference: Three generation levels cheat sheet.