A downloadable asset pack

Buy Now$19.99 USD or more

A crafting system normally ships as logic plus a folder of icons — and the icons are the part that never fits your game. Athanor has no icons. Every reagent, every recipe seal and every result vessel is generated line-work, drawn from primitives at runtime by the product itself. No PNG, no atlas, no sprite anywhere in the package.

Athanor is a complete synthesis subsystem in pure GML: reagents, recipes, multiset matching, a discovery book that keeps its secrets, seals composed from their own constituents, and a transmutation-circle animation that draws itself from the recipe's seal.

144 reagent glyphs, zero sprites

24 hand-authored motif families — herb, dew, ore, ember, crystal, bone, aether, quicksilver, umbra and fifteen more — each drawn by one renderer in six tinctures: 144 distinct glyphs that recolour from data, scale from a 16 px inventory row to a 460 px ritual circle without pixelating, and stay on-palette with the rest of your game because the palette is fourteen numbers you can edit.

Every recipe composes its own seal

This is the part nobody ships. A recipe's seal is built from its constituents: the ring divides into one wedge per reagent, each reagent's own glyph strokes into its wedge, and the union figure at the centre — a polygram whose vertex count derives from which families combined — ignites over the whole. 276 pairwise combinations before triples even start, and every one produces a different picture. Register a recipe and its art exists, with no artist in the loop.

The distribution is measured, not hoped: the union derivation is guarded by a 30% dominance floor, so no one figure swamps the book. (The first derivation failed that floor — 64% of all pairs landed on the same triangle — which is exactly why the floor exists.)

The circle draws itself

Transmutation is an animation the product generates: the ring sweeps in, wedge lines divide it, constituent marks stroke into place, the polygram ignites, and the transmuted vessel resolves at the heart. It is the demo's money shot and it is one function callath_draw_seal(seal, x, y, size, tincture, alpha, t) with t from 0 to 1.

A recipe book that keeps its secrets

Three discovery states, drawn three ways: known recipes show their name and full seal, glimpsed ones surface as a dimmed rumour, unknown ones are a grey cipher. Discovery is monotonic — the book never forgets — and the whole state saves and loads with a versioned schema keyed by order-insensitive seal keys, so ["herb","dew"] and ["dew","herb"] are the same knowledge.

20 result vessel families

What a synthesis produces is drawn by the same stroke DSL as everything else: phials, flasks, talismans, keys, lanterns, mirrors, censers, idols. All generated, all tintable, all extendable by writing data rather than art.

Built to be read

  • Pure GML. No native extension, no DLL, no dependency — nothing to break on a runtime update.
  • The core is engine-free. athanor_core makes zero engine calls: seal composition, union figures, discovery and multiset matching are plain functions you can read and test in isolation.
  • Deterministic. No random() anywhere in the core. Two runs are identical; replays and lockstep cannot desync on cosmetics.
  • Blend state is saved and restored around every public draw. Nothing you draw afterwards washes out.
  • Namespaced. Everything is ath_ / __ath_. GML's global namespace is flat; nothing here collides with your project.
  • A runnable 5-page demo room ships beside the library — the reagent shelf, the atelier, the transmutation, the seal gallery and the vessels, each one keypress away.

The API, in four lines

atelier = ath_starter_atelier();                     // Create - 12 starter recipes included
ath_atelier_step(atelier);                           // Step - advances the reveal
ath_atelier_attempt(atelier, ["herb", "dew"]);       // try a synthesis (multiset match)
ath_draw_seal(r.seal, x, y, 300, tint, 1, atelier.anim_t);   // Draw - anywhere

What's in the download

  • Athanor.yymps — import via Tools › Import Local Package
  • Athanor/ — the full raw project: readable, commented GML with a documented header block on every public script
  • Readme_for_Users.md — quick start, recipe registration, extending the motif tables
  • MIT license

Part of the CSAF GameMaker catalogue: Meridian (constellation skill trees), Trove (inventory), Kinetic UI (interface motion), Beacon (procedural energy effects), Loom (secondary animation) and Pliant (sprite bending).

Purchase

Buy Now$19.99 USD or more

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

Athanor_GameMaker.zip 517 kB

Development log