Kefka's Discworld MUD ...Stuff

Singing Songs


This idea is for a method of writing and performing songs. A player writes a song in a fashion vaguely similar to writing a play for the Dysk or a witch's trick, and it can then be performed by any player. Music skills are used.

Creating a New Song

A player first obtains a "song sheet" - essentially, a special piece of paper which can have a song written on it, much like a blank script used for script writing. The first step is to define the song and its associated meta-data. Here's what I had in mind:

Song Title
(pretty simple - a string with a maximum length. 100 characters, perhaps?)

(also a string with a max length, as this allows for pseudonyms and band names)

(how difficult the song is to perform, chosen from a list of values - see below)

The difficulty of a song determines the and bonuses required to perform the song properly. The difficulty is chosen from a range of predefined values (e.g. beginner, easy, medium, advanced, hard, expert, master) which map out to different bonus requirements. To make this more interesting, the range of difficulties you can choose from could be limited by the creator's bonus in either or - so somebody with a low bonus in those skills would only be able to write songs beginner or easy songs.

The difficulty of a song has no impact on the content of the song. It doesn't impose restrictions on lyric length or anything like that - just the bonuses needed to perform it properly.

I don't see a reason to prevent people from changing any of the meta-data before the song is finalised (see end of next section).

Writing Song Lyrics

Once a song has been defined, the lyrics need to be written. This is done one line at a time using a command ("add"). The command asks you to specify not only the lyrics, but an indication of how they should be performed - the "delivery".

The best matching delivery is chosen from a list of adjectives. Behind the scenes, each adjective is actually a group of adverbs covering a range of success and failure in delivering that line. For example if "fast" was chosen for the delivery, the pool of adverbs could be "slowly, casually, quickly, rapidly". When performing a song, one of these adverbs is used based on a skill check. If no delivery is specified, a default adjective/adverb set is used. Adjectives should cover a wide range of deliveries - fast, slow, high, low, soulful, cheerful, happy, sad, energetic, comical...

In addition to lyrics, the artist can add movement cues into a song - "poses". This are essentially an emote that the performer will do - jumping about, waving their arms - whatever is appropriate. Heck, you can use it to sing and act out "Itsy Bitsy Spider" if you like. A skill check will determine if you do the pose correctly. Failing the skill check will make you either ignore the pose, or do one of a set of predefined "fail poses" - standing around awkwardly, stumbling, looking out of place...

Lyrics and poses are added until the song is complete. The ability to edit or delete lines is of course needed - I'm sure the methods used to write scripts will work just as well here.

Once a song is complete, a command to finalise it would be nice. This could perhaps involve submitting the song to the Musician's Guild office for approval, which would be in character and be a good place to implement a check for inappropriate language. This could also be used to publish multiple copies of the song, and add it to an index of approved songs, etc.

Performing a Song

To perform a song, a player needs a copy of the finalised/published song (perhaps the author could use a special "practise" command to test their song before finalising it). They then use a "sing" or "perform" command to sing the song from the sheet.

This will make the player perform the song, line by line, until the end - unless they run out of GP or type "stop". Each line will involve a (lyrics) or (poses) skill check at the difficulty of the song. It would perhaps be more interesting if the difficulty fluctuates by 10-15% higher or lower with each line, just to help bridge the bonus requirements between levels more smoothly, rather than making them use strict defined values.

Each lyric or pose is delivered with a 2 second or so pause, and takes some craft GP - 5 or 10, perhaps? If you don't have the GP, you "realise you don't have the breath to continue singing" and stop.

Depending on the skill check result, an appropriate adverb is used, and the lyrics themselves may get "umms", "ahhs" or "errs" added to them. Like so...

Bob sings <delivery adverb>: <lyrics>

//good result
Bob sings happily: I'm not even angry, I'm being so sincere right now.

//bad result
Bob sings nervously: I'm not even, umm, angry, I'm being so sincere, err, right now.

The umming and ahhing would be inserted via some simple string parsing, and could also be extended to replace words with umms, ahhs, errs and "something".

Poses are simpler, with a successful skill check making you do the pose, and a failed one making you either ignore it or do a "fail pose"...

Bob <pose>

//good result
Bob jumps on the spot, waving his arms madly.

//bad result
Bob stands around looking awkward.

That's about it for the basic idea, really. Obviously, each line of the song presents a chance to TM or - if that sounds like too many chances, remember how many chances you get to do so during combat.



This system allows people to write, share and perform songs. In the future, it could possibly be extended to support whole bands, with poses being written for different parts/instruments, and multiple people getting together to perform it. But for the moment, just singing songs would be a great ability.