A downloadable asset pack

Get this asset pack and 7 more for $78.32 USD
View bundle
Buy Now
On Sale!
30% Off
$12.99 $9.09 USD or more

Every song your player learns becomes an engraved plate they collect - and the plate plays what it shows.

A learnable-songs system for bards, ocarinas, shanties and spells. Give it a song id and a tradition; it composes the melody, engraves it as real notation on aged paper, and synthesises it into GameMaker audio buffers. No image files and no audio files ship: a song that does not exist until your player finds it still has a score and a sound.

my_book = sng_book_create();
sng_book_learn(my_book, "millers-daughter", "folk", "The Miller's Daughter");
sng_book_learn(my_book, "hours-of-ash", "chant");
my_songbook = sng_songbook_create(my_book);
// Step:     sng_songbook_step(my_songbook, up, down, play, stop);
// Draw GUI: sng_songbook_draw(my_songbook, 0, 0, display_get_gui_width(), display_get_gui_height());

What it gives you

  • Ten traditions, ten kinds of page - Plainchant, Courtly Air, Reel, Muster Call, Lament, Fae Round, Hymnal, Shanty, Incantation, Work Song - each with its own melodic construction, mode, metre, paper, ink, page frame, instrument and tempo.
  • Five notation systems - square neumes with sung syllables, white mensural notation, modern staves, a percussion grid over a charted horn call, and a spiral stave that comes back round.
  • Real engraving. One letter per scale degree and a real key signature, stems that flip at the middle line, beams that slope with the melody and never cross a barline, ledger lines, dotted notes, flags. A musician can read it.
  • It plays. sng_play starts a song in under 20 ms and streams the rest; the playhead lights each notehead as it sounds. Nine synthesised instruments.
  • A songbook screen - desk, index of sheets, the selected plate and its playhead - plus a one-call plate sprite for anywhere else in your game, generated titles, WAV export and a tiny save format.

Measured, not estimated

  • 4,886 of 4,886 notes identical to our Song Sheets for RPG Maker MZ across 300 songs, all ten traditions and three tonics: the same id is the same melody in both engines.
  • 159 of 159 notes in tune: every note of ten synthesised songs, found in the audio by a pitch tracker and compared with the note the plate shows, within 25 cents. No clipping, no dead air.
  • Forty songs engrave as forty different pictures, and every two plates of one tradition differ by more than a one-note edit would.

Tested

  • Igor package build clean on the shipped source, and proven able to fail on it.
  • 157 in-engine assertions on a real built exe.
  • 18 more in a blank project that installed the package the way you will and ran the Readme's quickstart, asserting that each screen actually draws.
  • 164 adversarial calls - undefined, negative, huge and wrong-typed arguments against all 41 documented functions - with zero crashes.

Requirements

GameMaker 2024.14 or newer (built and tested against runtime 2024.14.4.268). Pure GML: no extensions, no DLLs, no shaders. Import the .yymps, open rm_sng_demo, press Play.

One commercial licence, unlimited games, no attribution required. The plates and melodies it makes are yours to ship, in the game and on your store page.

Also from this studio: Song Sheets for RPG Maker MZ - the same songs for MZ projects - and 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 except the cover illustration was rendered by the product itself. The audio is procedural synthesis written in GML - no generative audio model and no audio files. Fonts: IM Fell DW Pica (SIL OFL 1.1) and Open Sans (Apache-2.0), notices included.

Purchase

Get this asset pack and 7 more for $78.32 USD
View bundle
Buy Now
On Sale!
30% Off
$12.99 $9.09 USD or more

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

SongSheets_GameMaker.zip 1.3 MB

Development log

Leave a comment

Log in with itch.io to leave a comment.