A downloadable asset pack

Get this asset pack and 215 more for $1,945.94 USD
View bundle
Buy Now
On Sale!
30% Off
$19.99 $13.99 USD or more

Eight minigames for GameMaker, and not one of them ships a picture. Every trace, pad, wedge, pip, wall, pin, cup, segment and cut piece you see is computed from a seed at run time. There is no sprite in this package, no spritesheet, no atlas and no texture page.

The eight rooms

  • Circuit - a routed network. Manhattan traces on two layers, vias at the corners, annular pads with real drill holes, DIP bodies with an orientation notch, a hatched ground pour, silkscreen designators. Open the gates, avoid the ICE, get the signal to the sink.
  • Darts - the number ring itself is searched, not the standard sequence and not a shuffle. Alternating sisal beds, a brass spider, doubles and trebles, an upright number ring on a turned surround. 301 down, bust rule, double to finish.
  • Dice - the face design is generated. Pips are placed on a generated lattice in mirror pairs, so a face is point-symmetric by construction and no two boards carve the same set. Napped felt, mitred rails, drilled pips with a lit rim.
  • Maze - walls, corridors, and a route found by a search that shares nothing with the carver. Perfect or braided, any size.
  • Range - a gallery in perspective. Lanes converging to a vanishing point, target faces with generated ring progressions, distance posts, bunting. Plates fall when you hit the bull.
  • Wheel - the prize ring arranged under a wheel-maker's two rules: no two equal values adjacent, and the jackpot flanked by the two meanest segments. Gilt rim, pegs, lamps, a turned hub, a leather flapper that ticks.
  • Bagatelle - the pin field, and then the cup values are measured from it. 240 sample balls are dropped through the finished field and each cup is priced by how rarely it is reached.
  • Tangram - a silhouette, then its own dissection. Every figure is cut into its own piece set, so every board is solvable by construction and no two share a piece set.

Why the boards are the product

A minigame framework is a utility. What is sold here is the cabinet: eight games that each generate their own board, in one housing, under one palette layer that re-colours all of them across twelve themes without a single hard-coded colour anywhere in a room.

Forty boards from forty seeds, all structurally distinct. That is not a marketing sentence - the in-engine suite generates eight rooms across five seeds each and requires all forty structural fingerprints to differ, every build. The dartboard's searched ring is judged against a random baseline measured in the same run (searched 197.4 against random 139.6), because a search that does not beat chance is a shuffle with extra steps.

Compatibility

GameMaker 2024.14 LTS runtime, built and tested on runtime-2024.14.4.268. Pure GML - no extensions, no DLLs, no shaders, no included files. Namespaced to pas_ throughout, so nothing here can collide with your own code. No absolute paths and no hardcoded room or layer indices: every board draws into a rect you give it, so it works on a surface, in the GUI layer, or straight into a room. The demo object and demo room are optional - delete both and every generator still works.

The contract, five functions per room

Every room implements the same five, so adding a ninth is five functions and one line:

pas_<room>_board(seed, opts)              // pure data. No drawing, no engine calls.
pas_<room>_draw(board, x, y, w, h, pal)   // draws that struct and ONLY reads it
pas_<room>_step(board, input)             // advances play; returns a result string
pas_<room>_label(board)                   // the cabinet label for this board
pas_<room>_aspect(board)                  // the shape of cell this board wants

_board and _step are pure over their arguments - no engine handles, no data structures, no globals - so the same seed gives the same board on every machine and every run, and a board is one integer rather than a blob.

What has been verified

689 assertions run in-engine on an Igor-built executable, every build, plus 68 in a blank project built only from the shipped package and 588 more across 410 adversarial attacks. They cover every room's structural invariants: a maze is solvable and its walls agree with themselves, a circuit is reachable with its gates open, every generated die face is point-symmetric and carries its own value in pips, every tangram piece is convex and the pieces sum to the whole figure, every wheel keeps both maker rules.

Every image on this page was rendered by Pastime itself, through a real build of the package - the same public draw functions your game calls. Said honestly: the suite computes points and numbers, so it cannot see a fill rule, a draw order or a picture. Each of these sheets was also opened and looked at, which found six defects the assertions were silent about.

Licence

One developer, unlimited games, commercial or free. Everything the package draws is yours with no attribution and no revenue share. You may not resell or redistribute the package itself. Full terms ship in the download.

Written with AI assistance, disclosed truthfully in the tags above.

Also from CSAF, for GameMaker

Facet — card games is the card layer next to this cabinet: Facet generates card faces, frames and backs, Pastime generates a board for each of its minigames.

Horologe — mechanisms · Barrage — bullet patterns · Dossier — investigation · Lexicon — invented writing · Forage — foraging · Adversary — multi-phase bosses · Chitin — insects · Raiment — characters and clothing

Purchase

Get this asset pack and 215 more for $1,945.94 USD
View bundle
Buy Now
On Sale!
30% Off
$19.99 $13.99 USD or more

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

Pastime_GameMaker.zip 692 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.