Skip to content

v3.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 19:37
· 2 commits to main since this release

3.1 turns mojulo toward games: a sentence becomes a playable game in a named genre, with its own world, its own
people and its own look, played in the browser, shipped as a desktop app or exported to an engine. The detailed
log behind this summary, theme by theme, is CHANGELOG-3.1.md.

Upgrading from 3.0

  • Update the Claude plugin. It runs npx -y mojulo@3.1.0; an unpinned npx -y mojulo moves to 3.1.0 once it
    is npm latest. mojulo-ui 3.1.0 is the matching dashboard. No new Node requirement and no new dependency.
  • Retired from the tool list, still callable by name, so a plan step, script or skill that names one keeps
    working:
    • the office wing: apps, runtime daemons, the contextmap, mcp-orbit, triggers and primitive binding
      (pack_runtime, pack_connected_services; see RETIRED_PACKS in lib/mcp/packs.js);
    • game projects (create_game_project and its siblings): a game's home is its gameworld, through design_game;
    • create_shoot_plan and update_shoot_plan: a shoot plan is forge_motion({ shoot }).
  • The dashboard is view-only. The copy-prompt buttons and the in-page edits (folders, gallery, stash) are gone;
    /apps, /mcp-skills, /map and /graph are removed, and /maker redirects home. Sign-in and Settings stay.
  • Stored rows that render differently (the exceptions to byte-identical re-render):
    • Heroes get a structured midsection by default; core: 'streamlined' restores the 3.0 body byte for byte.
    • Houses, stores, restaurants and malls were the mirror image of their plans in the World and every export;
      they are now built the way the plan reads. House floors are muted. SVG stills were mirrored too and are now
      right-handed.
    • The default animals' silhouettes and proportions are retuned; a minted animal redraws on its next read.
  • The recipe book ships inside the package. MOJULO_RECIPE_BOOK and the separate mojulo-recipe-book repo are
    deprecated: a clone still loads and warns at boot, until 4.0. MOJULO_BUNDLED_BOOK=off detaches the bundled book.
  • Every recipe records the mojulo version that minted it and that last edited it.

Games

  • The doors. design_game makes a game: quick: { goal } for a genre in one call, compose: { prompt } for a
    whole gameworld from a sentence, or the full gameworld (world bible, character book, levels). create_game
    audits it; export_game ships it.
  • Genres (quick.goal):
    • Fighting game: a side-view one-on-one fighter, local two-player, on 3D arena stages; every fighter is a
      character the character loop designs.
    • RPG battles: turn-based fights, a party of up to four switchable classes against groups of foes, with
      battle effects.
    • Arena shooter: deathmatch and team deathmatch against bots, first person or over the shoulder; the arena is
      made from words and one dial runs from realistic to stylized. Also a cover shooter along a trail.
    • Racing: a kart racer on a loop against rival drivers, and supercars on the grid (any paint, liveries, race
      moods, night driving). A true-scale divided freeway is the first piece of a driving world.
    • Flight: a flight sim (fly the ring gates and land), and air combat or a space shooter (shoot with a
      craft), on one flight model; craft are assembled from a shelf of aircraft and spacecraft parts.
    • Also: reach, collect, survive, avoid, sneak (guards and sightlines), rhythm, defend (tower defence), puzzle
      (block pushing) and farm.
  • Levels and places. Buildings and room kits play as levels (a house, a store, a school, a crypt); a city is
    planned on a board and played as levels; towns, fixed-camera walkmesh scenes, and chapters of the same world over
    time.
  • What a game carries: stats, inventory and shops, front menus, a cover and credits, scenes and two characters
    talking, a story bound to its world, weather, destruction, beams and explosions, and a soundtrack scored per level
    with action sounds.
  • Where it plays. A browser shell runs title, levels and result. export_game({ target: 'desktop' }) packs it
    as a desktop app with one seam for a store (Steam, GOG, Epic); mojulo ships no store SDK and uploads nothing.
    The Godot pack carries the event bus, combat and looks, and is the most complete engine translation.
  • What can be made next. The cosmos cube describes a game as six facets, and its sweep measures what the builder
    can and cannot make yet (docs/tool-surface/hillclimb.md).

Characters

  • create_character (as: 'hero' | 'creature' | 'animal') is the first door; update_character revises any
    part.
  • Each game's own people. The Egocube rolls a cast from a game's setting and era: modern and future gear,
    mascots that walk as well as drive, and a palette that keeps its world's era.
  • The look. An anime hero can be drawn painterly, with a painted face that animates. A stylism solver works
    silhouette, then value, then detail. Clothes fit the body, armour and creature apparel read as what they are,
    hair grows as locks, and light is painted onto the surface. Each character is drawn for its target screen.
  • Motion. Showcase poses, ready stances, strikes, sitting and rising, vaults and carrying on the hero door, and
    a walk calibrated against measured human gait.
  • Animals. Sea creatures, insects and other arthropods that move, behaviours said once and done per species,
    and an encyclopedia entry per species.

Worlds and the look

  • The geocube is a level's look as data. The color theorist solves its palette from what the world is
    for (land, sky, HUD and cover from one solve), and vertex contrast lights the whole world.
  • Stage kits in the sixth-gen manner: an isekai meadow, bamboo and sakura groves, a research lab and night, with
    live grass, wind, fire and water.
  • Historic cultures as walkable historic worlds from cited records, with period music and people: Sumer,
    Hellenistic Lindos, Qin Xianyang, Pompeii and Giza. Later eras through the same historic solver.
  • Buildings. The interior kind furnishes one room of a house; houses gain finishes and composed or true-size
    furniture; a structure book documents a house, store, restaurant, mall or school.

Making things

  • Solids. The fabricator resolves a part's job from a shelf of standard parts and sizes it; measure_solid
    reads strength (bending, tension, print infill); mechanisms move with mass and friction; the scad kind gains a
    pinned library for threads, gears and text, and warns where they used to fail silently. Exploded views and teardowns.
  • Asset receipts. sign_asset and verify_asset sign an exported file with a per-install creator key.
  • Audio, film and diagrams. Orchestral strings and brass, a robot-rock style card; a world's shoot plan and a
    Blender film pack from forge_motion; flow charts lay themselves out.

The agent's surface

  • One door per intent. A new capability is an argument and a routing card on the tool that owns its intent,
    not a new listed tool. A pack opens to a menu; create_sketch and cook list routing only and read their manuals
    on demand. A routing eval with a held-out set measures where requests land.
  • Model tiering. An agent task names how much judgment it needs (ride, fill, judge, design), never a
    model.
  • Self-description. Mojulo describes itself by what it makes: things to Play, Print, Read, Hear and Observe.

For contributors

  • Test tiers: test:critical is quick again, the game and world suites that walk levels in headless Chrome are
    test:e2e, and range sweeps are *.deep.test.js. A test picks one case per procedure, never a whole catalog.