Bracket - Shop Signs Composed from What the Shop Sells, for GameMaker
A downloadable asset pack
Every shop, inn and guild in your GameMaker town hangs its own sign, composed from what the shop actually sells: a wrought-iron bracket, a shaped and painted board, a trade mark, the shop's name in carved or gilt capitals, rings and chain, and weathering that follows how prosperous the street is. Nothing is an image file. Change the stock and the sign re-composes. Pure GML.
A town whose shops all hang the same sign, or none, reads as a set. Bracket reads a shop the way a player would: a smithy full of blades gets a sword over an anvil, a cellar of ales gets a tankard on a swallow-tailed banner, rooms sold by the night get a ward key. The richer shops on your own price ladder get grander iron, and a poor district's signs lose their paint, rust at the rings and split at a corner.
// Create: a shop is a struct you build from your own data
my_shop = { name: "The Gilded Tankard", prosperity: 3,
goods: [{ kind: "item", name: "Amber Ale", price: 90 }, { kind: "item", name: "Spiced Mead", price: 260 }] };
my_sign = brk_profile(my_shop); // tavern, its board, bracket, colours, weathering
// Draw: bakes once (2x, filtered down), then draws the cached sprite
brk_draw_sign_sprite(my_sign, 64, 40, 150);
What your players see
- 12 trades read from the goods (smith, armourer, apothecary, herbalist, jeweller, scribe, baker, tavern, inn, tailor, fishmonger, farrier), each with its own trade mark drawn as one silhouette.
- 10 board outlines (heater, oval, lozenge, hanging, arch, swallow-tailed banner, keyhole, barrel end, tankard cut, scroll end), chosen by how long the name is, 8 bracket forms from a plain hook to a crowned scroll with a diagonal brace, chosen by where the shop stands on your prices, and 6 colour schemes.
- Lettering fitted to the board: the name tracked and sized to the solid board at its height (never across a notch), on an arc where the board asks for it, gilt on paint or carved into bare oak with its relief solved for contrast.
- Weathering 0 to 4: paint thins over the grain, corners wear back, the gilt goes off, rust bleeds from the rings, a corner splits and a chain link goes.
- 28,800 forms before the name is lettered. The demo town's 48 shops resolve to 48 different signs.
Built to plug in
- A shop is a struct: name, prosperity 0 to 4, and goods with kind, name and price (optionally item type, equipment slot, your own type name and effects). Any of device, board, bracket, scheme, weathering or trade can be set by hand, and the hand always wins.
- Signs bake to sprites at twice the size and filter down, cached by every field the picture depends on, and
brk_preparebakes a street under a time budget. Baking is GML drawing, so it is not instant: on our shared test machine a 150 px sign took 0.25 to 0.37 s, a 96 px one about 0.19 s. Bake a town's signs while it loads; once baked, a sign is onedraw_sprite. - Also: the oak name plaque that goes under a sign, a lintel band to head your shop screen, the Signwright's Yard (every sign on oak rails, the grid solved so they hang as large as the frame allows), the dusk street of the Close Look, and every trade mark on its own.
- Raw, readable source with a header on every public function.
Tested
- Igor package build clean on the shipped source, and proven able to fail.
- In-engine assertions on a real built exe, held to our RPG Maker MZ original run in Node: 62 sign profiles field for field, 247 sign geometries point for point, and 215 drawings with exactly the original's 30,889 fills, strokes, clips and glyphs.
- A blank project that installed the package the way you will and ran the Readme's own code, with ink counted on every sign it drew.
- 88 adversarial calls against the 22 documented functions with zero crashes.
Requirements
GameMaker 2024.14 or newer (built and tested against runtime 2024.14.4.268, VM, Windows). Pure GML: no extensions, no DLLs, no shaders, no sprites. Import the .yymps, open rm_brk_demo, press Play: THE HIGH STREET, a dusk street of timber-framed shop fronts. LEFT and RIGHT walk it, UP and DOWN change district, ENTER takes the Close Look, Y opens the Yard, R restocks a shop and W turns the district poorer. Bracket makes no sound.
One commercial licence, unlimited games, no attribution required. Every sign the package draws in your game is yours to ship, including on your store page and in your trailers.
Paid, from the same studio
- Bracket for RPG Maker MZ ($12.99): the original, reading the Shop Processing command already in your events.
- Borough ($14.99): a settlement whose every building composes its own facade from the town's state, for GameMaker - the street for Bracket's signs to hang on.
- Crest ($14.99): factions and reputation with composed heraldry, for GameMaker.
- Hallmark ($12.99): maker's marks struck from whatever your loot system rolled, for GameMaker.
More GameMaker systems at csaf.itch.io.
AI disclosure: the code, the cover illustration and the interface text in this package were produced with AI assistance. Every store image and the GIF were rendered by the product itself. Type: Cinzel and Alegreya (SIL OFL 1.1), notices included.
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:
Development log
- Bracket is out for GameMaker3 days ago






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