Masque - Every Creature Carves Its Own Mask, for GameMaker
A downloadable asset pack
Every creature carves its own mask. Masque reads the enemy and character records you already wrote and carves each one a mask - lit, painted, worn, inlaid and broken in its own way - in pure GML. The player fills a rack with the masks of what they have met, and any mask can be shown full screen as a creature's true face, carving itself as you watch. No image files.
A mask pack ships five masks. A face pack ships a hundred faces, and your own creatures are not among them. With Masque a Bog Wight and a Cinder Drake do not just get different labels: they get a different face structure, a different crown growing out of the brow, a different pigment, a different inlay and a different amount of wear, and every one of those traces back to a field in your records. Rank is measured against YOUR roster, so rebalancing your game re-crowns it.
my_masque = mqs_masque_create(my_records, { factions: my_factions }); // Create
mqs_masque_meet(my_masque, "Bog Wight"); // when the player meets it
mqs_masque_update(my_masque, 3); // Step: carve under a 3 ms budget
mqs_rack_draw(my_masque, 0, 0, display_get_gui_width(), display_get_gui_height(), my_cursor); // Draw GUI
What your players see
- 10 face structures from each creature's own words: beast, humanoid, undead, spirit, construct, dragon, insect, aquatic, plant and fiend, each a different silhouette, relief, eye-holes and mouth.
- 12 crowns of standing, humblest to grandest: bare, brow ridge, twin horns, crest, fan, antler frame, plume, halo ring, tusks, crown of thorns, mane and sun disc.
- Banded paint in the element it fights with (fire, ice, thunder, water, earth, wind, light, darkness, and any element you add), laid as a layer with a lit edge that follows the planes and wears thin on the ridges.
- 6 house inlays down one side (gold wire, verdigris, iron rivets, shell, bone pins, lacquer thread), 5 ages from green to relic, and exactly one of 6 breaks: a broken horn, a face crack, a cord scar, a chipped jaw, a crack bound with iron staples, or a scorch.
- The rack: a wall of pegs the player fills, each mask hung by a knotted cord, and the reveal: one true face with an engraved brass placard naming it and its four readings.
How it decides
- Structure from its name and words, else the shape of its numbers. Crown from its rank, a percentile of its own kind in your roster.
- Pigment from what it strikes with, else the commonest element of its skills, else the element it resists hardest. A weakness is never read as an identity.
- House from its faction, else what it carries (a weapon outvotes armour). Age from rank and what it shrugs off.
- Every choice is read from the record or seeded from its key, so a creature's mask is the same mask on every machine and in every save. Any field can be overridden by hand.
Tested
- Igor package build clean on the shipped source, and proven able to fail.
- 1882 in-engine assertions on a real built exe: the reader checked field for field against the RPG Maker MZ original's for 56 demo records and 18 edge cases, the carve's geometry checked against it on a lattice for 28 masks, every mask asserted to put ink down, all 56 asserted different from each other, and every break, pigment and age asserted visible.
- 45 more in a blank project that installed the package the way you will and ran the Readme's own code.
- 188 adversarial calls against the documented functions with zero crashes.
Requirements
GameMaker 2024.14 or newer (built and tested against runtime 2024.14.4.268, VM). Pure GML: no extensions, no DLLs, no shaders, no sprites. Import the .yymps, open rm_mqs_demo, press Play: a rack of 56 pegs, a third filled; Space meets the next creature and its mask carves itself in front of you. A mask is carved pixel by pixel as a job spread over frames (measured on the VM: a fraction of a second per rack mask, a few seconds for a full-screen reveal), so carve them when a creature is first met and the rack is instant after that. Masque makes no sound.
One commercial licence, unlimited games, no attribution required. Everything the package draws in your game is yours to ship, including on your store page and in your trailers.
Paid, from the same studio
- Visage for RPG Maker MZ ($12.99): the original, carving masks from an MZ database.
- Effigy ($14.99): the faces of the PEOPLE in your game, generated, for GameMaker.
- Crest ($14.99): a heraldic crest for every house and faction, for GameMaker.
- Bivouac ($14.99): every enemy band stages its own ground, for GameMaker.
More GameMaker systems at csaf.itch.io.
AI disclosure: the code and the generated artwork in this package were produced with AI assistance. Every store image, the cover and the GIF were rendered by the product itself. Type: IM Fell DW Pica (SIL OFL 1.1) and Open Sans (Apache 2.0), notices included.
| Published | 1 day ago |
| Status | Released |
| Category | Assets |
| Author | CSAF — Core Systems Asset Factory |
| Made with | GameMaker |
| Tags | bestiary, carving, collectibles, collection, faces, GameMaker, gml, mask, masks, sourcecode |
| Languages | English |
| 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 $12.99 USD. You will get access to the following files:








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