A downloadable asset pack

Buy Now$14.99 USD or more

Colophon is a save system whose save screen is drawn from the saves. It writes versioned save slots - with an autosave, migrations for when your save format changes, and loads that refuse a damaged file by name - and it draws every slot as a printed leaf composed from the run that slot holds.

So a save list stops being rows of text and becomes a shelf of different objects: the save from the harbour on a deckle-edged sheet, the late-game save in a beaded binding with a dog-eared corner, the fighter's run sealed with crossed swords and the hoarder's with a stack of coins.

Six readings of one save

  • Device - what the run has been: fighting, walking, hoarding, levelling or reading. 15 devices, five families of three marks that mature as the run goes on
  • Paper - where it was saved: a village prints on laid paper, a crypt on vellum, a harbour on deckle. 8 papers
  • Binding - how far into the game: 6 tiers, from a hairline rule to a beaded, cornered border
  • Wear - how long it has been played: toning, foxing, a fold, a dog-ear. 5 states
  • House - every leaf of one game shares an ink scheme chosen from its title. 5 houses
  • Register - a printer's mark along the foot for each member of the party

The family is read from which RATE your run is most remarkable on against a typical run, never from totals, so two playthroughs read differently and one playthrough changes as it goes. The in-engine suite sweeps 4,800 runs and requires every family to win a real share.

Made to drop into a game

// save
var _summary = { seconds: play_seconds, battles: battles_won, steps: steps_taken,
                 level: hero_level, place: room_title, party: ["Rook", "Wren"] };
clp_save(1, my_game_data, _summary);
// load
var _data = clp_load(1);   // or undefined, with global.clp_error saying why
// draw the save screen
for (var _i = 0; _i < 6; _i++) {
    var _info = clp_slot_info(_i);
    var _spec = clp_leaf_spec(is_struct(_info) ? _info.summary : undefined, _i, "My Game");
    clp_draw_leaf(_spec, 40 + _i * 200, 60, 180);
}
  • Versioned saves: raise your data version and register a migration; older saves are upgraded step by step on load, and a save from a NEWER build of your game is refused rather than half-read
  • Named refusals: empty, damaged, not a Colophon save, written for another slot, newer version - every refused load says which in global.clp_error and changes nothing
  • Two detail levels: below 250 px a leaf prints its level, place and playtime larger and drops the fine print, so a save screen of small cards stays readable
  • A runnable demo room: choose a slot, play an hour of a sample run, save it and watch the leaf change

Tested, not just compiled

The in-engine suite reported 126 of 126 assertions on the shipped build - the classifier's reach, every wear, binding and device state, save and load round trips, every refusal, migrations, the leaf's layout contract at three sizes, and every device drawing real ink. The package was imported into a blank GameMaker project and used the way the Readme documents it (12 of 12 checks), 104 hostile calls against its documented API crashed nothing, and every function the Readme names was checked against the package (27 of 27).

Compatibility

  • GameMaker 2024.14 or later; built and tested on runtime 2024.14.4.268 (not tested on GMRT)
  • Pure GML: no extension, no shader, no sprite. Everything is namespaced clp_, CLP_ and global.clp_
  • Two Open Sans font resources (Apache-2.0, notice included) set every printed word
  • You get the .yymps package, the full readable project, the Readme and the licence

Also from CSAF

Put today's date on the save with Almanac, a calendar that prints its own pages. Colophon is also available for RPG Maker MZ as Colophon.

AI disclosure: the code and the generated artwork of this package were written with AI assistance. It contains no audio.

Purchase

Buy Now$14.99 USD or more

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

Colophon_GameMaker.zip 550 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.