Scales - Weighing Puzzles on a Drawn Brass Balance, for GameMaker
A downloadable asset pack
Sit your player at a money-changer's counter and give them a weighing puzzle on a brass balance: find the false coin in a hoard in the fewest weighings, or weigh out an exact order with a box of weights. The counterfeiter answers every weighing, so a lucky guess never wins. Every coin, weight and pan is drawn by the package. Pure GML.
The twelve-coin puzzle is one of the oldest puzzles there is, and in most games it is a text box. Scales makes it a counter: the hoard laid out in a numbered tray, the coins moved onto the pans by click or key, the beam released and swinging until it settles, the ledger keeping every weighing, and at the end the false coin cut open to show the base metal under its face. A word chooses everything: the same phrase always makes the same hoard, the same mint and the same order.
// Create: open a puzzle at the counter
my_counter = scl_open({ puzzle: "counterfeit", difficulty: "normal", seed: "the bishop's hoard", key: "chapter2|hoard" });
// Step: run the counter; when the player leaves it, read the result
scl_step(my_counter);
if (scl_closed(my_counter)) { my_result = my_counter.result; scl_free(my_counter); my_counter = undefined; }
// Draw GUI: the counter is 816 x 624, drawn anywhere, at any scale
scl_draw(my_counter, 72, 8, 1);
What your players see
- The counterfeit: 3 to 13 coins, one false; told whether it is heavy or light on easy, not told on hard. Every puzzle allows exactly the fewest weighings that always suffice (proven by the solver), and the counterfeiter answers each weighing the worst way for the player, so the player needs a real method.
- The order: weigh out an exact amount of goods with one of five weight sets (ternary, doubling, apothecary's, spicer's, assayer's); a weight may go in either pan. The verdict seals the packet and shows the weights that made it.
- 90 coin designs (5 metals x 6 devices x 3 rims), each with a legend lettered round its rim and a name from its mint; bell weights stamped with their values; 8 kinds of goods heaped grain by grain.
- The walnut counter and baize, the balance with its beam on a damped swing, the pans on their chains, the numbered tray, the weight box, the mint card, the ledger, the brass plaques and two verdict plates are drawn too. Nothing is an image file.
Built to plug in
- Three calls:
scl_open,scl_step,scl_draw, then readcounter.result(solved, the wrong coin named, or left) and reward the player your own way. A solved puzzle remembers it was solved; save the records with your game. - Scripted input for tutorials or replays, optional sound hooks, and a solver hint (
scl_hint) that gives a weighing which keeps the puzzle winnable. - The puzzles are also callable on their own (pure GML, no drawing), and every drawing function is public.
- Opening the counter costs under a second (it draws everything once, supersampled: about 0.7 to 0.9 s on our shared test machine). The demo shows a "setting out the scales" frame first. After that a frame costs a handful of sprites.
- 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: the solver, both generators and every playout exact; 195 drawings with exactly the original's 40,951 fills, strokes and glyphs (one deliberate difference, the card's title box, applied to both).
- 13 whole puzzles played at the counter by scripted clicks and keys, every one of the 23 weighings replayed through the bare puzzle code with the same outcome.
- A blank project that installed the package the way you will and ran the Readme's own code, with ink counted on everything it drew.
- 204 adversarial calls against the 51 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 shaders, no extensions, no DLLs, no sprites. Import the .yymps, put rm_scl_demo first, press Play: THE MONEY-CHANGER, three hoards and three orders on the baize. Click a card to sit at the counter. Scales makes no sound of its own; hook your own in.
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
- Scales for RPG Maker MZ ($11.99): the original, run from an event.
- Taproom ($11.99): tavern board games against an opponent who thinks, every board drawn, for GameMaker.
- Derby ($12.99): a snail-racing betting minigame, every racer drawn, for GameMaker.
- Pastime ($19.99): a cabinet of minigames, each drawing its own board, 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.
| Published | 1 day ago |
| Status | Released |
| Category | Assets |
| Author | CSAF — Core Systems Asset Factory |
| Made with | GameMaker |
| Tags | balance, coins, GameMaker, gml, logic, Math, merchant, minigame, puzzle-game, sourcecode |
| Languages | English |
| AI Disclosure | AI Assisted, Code, Graphics, Text |
Purchase
In order to download this asset pack you must purchase it at or above the minimum price of $11.99 USD. You will get access to the following files:
Development log
- Scales is out for GameMaker1 day ago







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