A downloadable asset pack

Buy Now$9.99 USD or more

A loot system normally ships as logic plus a folder of icons — and the icons are the part that never fits your game, because affixes are combinatorial and static art cannot cover them. Panoply has no icons. Every rolled item gets a generated item card — base silhouette, material palette, affix glyphs, rarity treatment — drawn from primitives at runtime by the product itself. A PNG pack cannot draw a card for an item that was just rolled. Panoply can. No PNG, no atlas, no sprite anywhere in the package.

Panoply is a complete loot & gear subsystem in pure GML: deterministic seeded rolls, weighted rarities, duplicate-free affix picks, computed stats, set detection — and a card renderer that turns every roll into a picture.

900 variants before affixes even start

30 hand-authored base forms — 12 weapons, 10 armour pieces, 8 trinkets — × 6 material palettes × 5 rarity treatments, all drawn by one renderer. Materials apply by role (edge, body, detail, glow), so iron reads cold, gilt reads royal and umbral reads like a threat — and adding a seventh material is fourteen numbers, not an art order. Register your own base form with a dozen lines of stroke data and it rolls, renders and titles like everything shipped.

The card draws itself

The demo's money shot is one function call: the plate fades in, the silhouette strokes on, the material floods, affix glyphs stamp onto the rail one at a time, and the rarity ignites — corner flares for rare, orbiting motes for epic, a full ring aura and crown for mythic. pan_draw_card(plan, tables, x, y, height, time, alpha, t) with t from 0 to 1. Pass 1 for the finished card; drive it from the forge state for the drop reveal.

40 affix families, one glyph each

Every affix carries a hand-authored mark — Keen's honed chevron, Freezing's snow asterisk, Eternal's figure-eight — kept to 1–3 strokes so it stays legible at the 20 px track scale where it lives. A buyer reads an item at a glance, and an affix you register gets its glyph on every card it rolls onto, automatically.

The roll is the save format

No random() anywhere: the roll is xorshift32 over the item's seed, so the same seed is the same item and the same card on every machine, every session. An item persists as { seed, version } — a save cannot bloat and cannot rot. Measured over 20,000 seeded rolls: every rarity tier lands within 1.5 percentage points of its weight, no affix exceeds 4.71% of rolls, and no item ever carries a duplicate affix.

Stats and sets underneath the picture

Bases carry stat blocks, rarities multiply them, affixes add wired mods — 24 of the 40 families ship wired as the pattern to copy, and pan_item_stats returns the final block. Sets name their pieces, bind them to a material, and pan_loadout_sets reports which bonus tiers your equipped items have met. Three example sets ship, from the iron Bulwark of the March to the umbral Gloaming Regalia.

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. panoply_core makes zero engine calls: the corpus, the roll, card composition, stats and sets are plain functions — mirrored by 39 assertions that run against the exact shipped tables.
  • Blend state is saved and restored around every public draw — colour, alpha, blend mode and text alignment. Your lighting will not break because a card was drawn.
  • Namespaced. Everything is pan_ / __pan_ / PAN_. GML's global namespace is flat; nothing here collides with your project.
  • A runnable 5-page demo room ships beside the library — the armory wall, the forge, the affix corpus, the rarity row and the sets, each one keypress away.

The API, in five lines

registry = pan_starter_registry();               // Create
forge    = pan_forge_create();
pan_forge_roll(forge, registry, 12345);          // any integer seed
pan_forge_step(forge);                           // Step
pan_draw_card(forge.plan, pan_tables(registry),  // Draw GUI
              x, y, 430, t, 1, forge.anim_t);

What you get

  • Panoply.yymps — import in one step (Tools → Import Local Package)
  • The full project with raw, readable, documented GML — four scripts, the demo object and room
  • Readme_for_Users.md with quick start, content registration and the save-compatibility contract

Works with GameMaker 2024.x (legacy runtime). Pure GML — every platform GameMaker exports to.


Goes with: Panoply decides what the loot is — keep Trove for the inventory it fills, Meridian for the skill tree it feeds, and Athanor for the bench that makes it.

Purchase

Buy Now$9.99 USD or more

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

Panoply_GameMaker.zip 533 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.