A downloadable asset pack

Buy Now$12.99 USD or more

Your branching story already has a shape. Branchwork draws it. It records what the player reached, which ways they took and which endings they earned, then draws that as a chart: a struck plate for every scene, notched corners where a choice was made, inked connectors that run gold where the player walked and dashed where a road is known but untaken, and fog over everything they have never seen.

And every ending earns its own mark. A medallion composed from the route that reached it: the field and rim take one of eight palettes hashed from the route, the device is a star whose points come from the ending's motif and whose depth and twist come from its family, the ring encodes how long the road was and how much of it was choice, and one orbiting mark is struck into the field for every decision on the way. Two players who reach the same ending by different roads earn different marks. One twenty-two node sample story yields 48 distinct marks, and the package draws all 48 on request.

Three lines to integrate. Describe your story once as plain structs, call bwk_reach wherever your game already knows the player moved, and call bwk_chart_draw in a Draw GUI event. That is the whole thing.

  • Three chart styles - brass, ink and night - each with its own board, plate metal, connector colour and current-node glow
  • Jump back to any earlier decision: Branchwork holds the jump point, your own save system does the restoring, so it works with any save format you already have
  • New Game plus: clear the run, keep every node ever reached and every mark ever earned, so the chart fills in across playthroughs instead of resetting with them
  • Every route enumerated - bwk_routes gives you every distinct road through the story, which is what a completion screen is made of
  • Nothing throws. A duplicate id or a link from a node that does not exist is kept out and reported, so a half-written story still runs. Every public function refuses bad input rather than crashing inside your draw event
  • Save and load the record as JSON; an old save loads into an edited story instead of crashing on it
  • A playable demo room, and its whole bottom bar - the endings tally, the choice plates, the key caps - is drawn from the package's own plate and emblem code, so it doubles as a worked example

Pure GML. No extension, no shader, no sprite, no surface kept, no globals. Everything is namespaced bwk_, macros included, so nothing can collide with your own code. Raw readable source with a header block on every public script.

Tested, and the receipts are the numbers below. Built and run on GameMaker runtime 2024.14.4.268: 43 in-engine assertions green; the package imported into a blank project and driven by the Readme's own quickstart for 45 more; 188 adversarial calls against every documented function with zero crashes; and all 51 claims the Readme makes checked against the shipped source.

AI disclosure: code and graphics are AI-written. Every plate, connector, fog puff and medallion on this page was drawn by the package's own GML - there is no raster art in it.

Purchase

Buy Now$12.99 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $12.99 USD. You will get access to the following files:

Branchwork_GameMaker.zip 550 kB

Development log