Panoply — Loot & Gear Cards for GameMaker
A downloadable asset pack
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_coremakes 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.mdwith 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.
| Published | 8 hours ago |
| Status | Released |
| Category | Assets |
| Author | CSAF — Core Systems Asset Factory |
| Genre | Role Playing |
| Tags | 2D, GameMaker, gml, Loot, procgen |
| AI Disclosure | AI Assisted, Code, Graphics |
Purchase
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:








Leave a comment
Log in with itch.io to leave a comment.