PlaneShift
Gameplay => Wish list => Topic started by: Aramara Meibi on August 17, 2011, 09:33:59 pm
-
In light of new instruments being added to the game (even if just as art for now) has got me thinking about how music is actually going to be implemented. In the delirium of sleep deprivation late last night, I had this idea I'd now like to bring forth.
Currently Instrument Playing is listed under Various Skills. That's great. It should be a trainable skill, and should work as such:
-Through an introductory quest, a player gains a song book and their first instrument. A simple instrument such as a drum should work great as a beginner instrument.
-As a player progresses with their Instrument Playing Skill, they gain the ability to play more intricate instruments (lutes, flutes, whatever) as well as gaining new songs in their songbook.
-To use the Instrument Playing Skill, a player must have their songbook in Mind, and their instrument equipped. The player will use a command such as /play [songname], the songname coming from a list in their songbook.
-Each song in the songbook will have an effect within a certain radius from the player. Effects can be such things as buffs for allies, and debuffs for mobs. Whether or not the buff effect lasts the length of the song or longer can be left for debate.
-Reasonably, a player can only play one song at a time. So they have to wait for the song to end before they can use the /play command again.
I think that about covers it. If the dev team has already been working in a different direction entirely, that's great, but I haven't seen a single hint as to what that direction is.
-
All I'll say is a google summer of code project is getting near being finished. ;)
-
Id like to add to that.
But first I have to say the Buff idea is a very good one, I know back in medevial days, ranging from roman, to later medievals..Various armies would have bards, that would play their music during war, to inspire the troops to fight on, or some such thing. So the buff idea would be a good idea to compensate for that.
Back to my addition, It will be exciting at first, for everyone to be able to play the music, that the music department implements..However After a couple months hardly anyone will really want to play anymore...To make music popular forever, you would need to implement the creation of custom music.
Doing so you would need to record, every note, that each of the instruments can play. To create the Custom music, you could use some command like /play custom, This would bring up a page, with all the notes that the equip instrument has, You can then click a note, and it plays the note clicked, now in this menu, you are not playing music, but rather recording it, with this there should be a button to start or stop recording, and also to save and name the song. This way you can practice what you want to record before you record it. To record the song, you would start the recording, and play the notes at the speed and order the song would go. Now it would be hard to click notes in the speed you want it, so Im thinking you should be able to assighn the notes to keys on a keyboard, [note that the notes would only play, while in this menu, if you hit the key assigned] So anyone with any keyboard skill [and memory] should be able to make a song.
I understand this is very complicated, and would take a,long time to be implemented if accepted, if this idea IS accepted, I wouldnt reccomend stopping an update allowing music, to wait for this to finish. What Im saying is if the preset songs, are finished they should be put to the game right away..
-
it's already finished it needs merging and testing.
-
I remember in this one game i played for like... 4 days called mabinogi (im as confused as you are for pronunciation) where you could write your own music, but the system was too complicated for anyone but experts to do.
-
I wonder if there would be a way to make writing OOC music impossible?Because there would always be some smartypant copypasting the Smells Like Teen Spirit notes to powerlevelup.
-
Take note that the skill name is Instrument Playing, which, IMO, does not involve writing music. That's a whole different skill altogether.
-
I know.Still music writing is essential for Instrument Playing to exist.
-
It appears to me that allowing music input from the players could cross copyright issues. My feeling is that one should be able to learn approved IC music for different instruments. It would be very cool if they could be played in unison by a group of musicians. Hopefully the admin would be open to songs donated to the game under the atomic blue license should any players wish to create new IC pieces.
- Nova
-
I dont really think if people 'created' music ooc'ly from actual bands would be a copyright issue, it is neither being used to earn money, or to advertize the game, and on top of that, how many people play the game tthat would take that to court? 0
-
I dont really think if people 'created' music ooc'ly from actual bands would be a copyright issue, it is neither being used to earn money, or to advertize the game, and on top of that, how many people play the game tthat would take that to court? 0
It is my guess that the owners of the atomic blue license would simply not want to go down that road regardless of the pros and cons. For that reason it is my suggestion that we simply don't go there.
- Nova
-
you can't play sampled music it's more like midi and a simplified version at it so it has the same issues of books and sketches. (obviously for the simplicity of it it will never be accepted as in game music as is for background music. The maximum level of acceptability is like a book or a sketch being in the library)
-
If it was in a song book (that you could write in and then put in the 'mind slot'), could it be programmed to write in the book a code that played back music?
For Example:
Key = C Major [choose from many different keys, some instruments might be different from others]
Tempo = 120 [rate at which the music plays back]
8N.7N.5N.6N.8N.8N.8N-8N_7N.7N.7N_8N.8N.8N-8N_
That would play the first line of 'Mary Had a Little Lamb.' Here's how it works:
-The numbers would define the range- say the instrument had eight notes, 8N would be the highest note, 1N the lowest.
-'N' would equal one note at the tempo given.
- The '.' (period) would define a break in the note without a rest, and the '_' would define a rest at the tempo provided.
-finally, two notes can be tied together 8N-8N with a '-' (hyphen) to make a note twice the length of the tempo provided.
it's already finished it needs merging and testing.
As Weltall says though, it's already done- but this is how I would do it myself...
-
it's already done, so.... logically there's no point in discussion or modification.
-
Just becuase its done, doesnt mean it wont be constantly used, and morphed to peoples likeing, or disliking. thats what they do with everything in planeshift.
-
How about being able to specialize in a specific instrument?...as a future idea perhaps.
-
I think its best not to make skills for different instruments, while that would fall well into realism it would be at the cost of enjoyment which I think is a bit ludicrous. Besides, one can easily roleplay a person who only knows one instrument simply by virtue of using only one instrument.
Personally I would hope that if players wrote songs for PS the dev's will leave the door open to submissions into Planeshift. And seeing as I cannot code I will leave my contributions on this at that. Although the note scenario sounds higly complicated in my head merely by virtue of the language of notes. Dynamic changes and sincopation and polyrhythmics can require some badass notation. So it might end badly.
-
Another idea, if someone has time to implement it. Currently music is using some PS XML notation. It could be useful to write some convertor which could take a MIDI file, and convert it into PS music XML, similar to the one which makes SVG -> PS map XML. Since writing music IG isn't easier than making maps, using some decent MIDI editor and convertor can be a big aid. I might try to do it, if there is an XSD schema (http://en.wikipedia.org/wiki/XML_Schema_%28W3C%29) for PS music XML notation.
-
it's music xml quite standard...
-
I'm not really sure what that means. Any links can be helpful.
-
This (http://en.wikipedia.org/wiki/MusicXML), I imagine. it would be nice if the functionality could be tweeked into exporting formatted -- read properly indented -- xml instead of the giant blob that it currently does. I suppose that is a feature request for the tracker.
-
I see. Well, that's way better, that it's a standard notation (I never used it before, good to know). Looks like even rosegarden (http://www.rosegardenmusic.com/) supports it (for exporting at least). So the question is, how fully does PS support MusicXML and what are the limitations?
There should be a plentiful amount of tools to autoident XML. No really a need to build it into the exporter. For example, on Debian / LMDE / Ubuntu do:
sudo apt-get install geany geany-plugins geany-plugin-addons
And open the XML in geany. Enable XML pretty printer plugin, and use it from the tools menu. That's it. I'm sure there are more tools for it around.
-
the point of not nice format is to save space with the server so i don't think it will change.
-
PlaneShift even uses some malformed XML files (e.g. with more than one root node, like in art/itemeffects.xml). So don't expect externally edited XML files to be reliable.
-
We will not specialize skills by instrument, at least not now.
As for XML, it's what weltall said on improving server/client interaction, so the current format will stay. You can still create a converter for existing music sheets XML formats into the PS one. Being only text should not be complex. This will not be done by PS team for now.
Buffs/debuffs based on song can be interesting, but not sure atm how to implement this algorithm. Suggestions?
-
Since it's a standard MusicXML if I understood correctly, you don't need any convertor if music editor can export the notes in MusicXML, right? Unless PS deviates from MusicXML schema (full XSD can be found here: http://www.recordare.com/sites/default/files/musicxml30.zip and note that MusicXML has several versions, 3.0 is the current one, looks like PS uses 2.0?). That what I was asking about (are there any limitations or other hidden details). End Of Line layout of the XML document is irrelevant, since whitespace between tags doesn't change schema compliance, and only affects human redability (same thing as in C/C++ and most other programming languages where the amount of whitespace in most cases is irrelevant).
For an experiment I'll try to get Rosegarden to export some music in MusicXML (after I'll figure how to use it ;)) and will try PS to import that.
-
UPDATE: I wrote some simple test with Rosegarden and exported it in MusicXML. PS failed to load it reporting: illegal XML syntax...
UPDATE2: just noticed that Rosegarden uses MusicXML 1.1 this can be the issue.
UPDATE3: Looks like PS uses a very specific subset of MusicXML. See:
http://planeshift.svn.sourceforge.net/viewvc/planeshift/trunk/src/common/util/music.cpp?revision=7772&view=markup
-
Indeed I got the same error trying to load a score from Project Gutenberg. It was full of midi commands which are not supported apparently.
-
Strangely, PS supports only one <part> tag in the list (i.e. one channel in MIDI). I'm not sure still how it implements bass (I'd expect it to have two channels for that). Making two channels in the XML screws it up greatly... May be I should contact the developer about what he had in mind.
-
what's so strange in not supporting unneeded features of music xml?
-
what's so strange in not supporting unneeded features of music xml?
Nothing strange, but since you use a subset, you could at least make an XSD so others can make conforming tools. And regarding two channels (solo & bass) - it doesn't seem to be an unneeded feature. IG UI is misleading, it shows two channels, but it in XML exported from PS it results in one (somehow combined I guess, and I still can't figure out how it's combined). So importing XML with two channels doesn't work at all.
-
After some fiddling, I figured the basic limitations of the PS XML format and was able to use a melody exported from the Rosegarden (with some alterations). PS doesn't use a correct MusicXML to be honest, but it uses the subset of its tags (incorrectness for example is in requiring certain tags to be always present, while the official spec doesn't mandate it).
Example of a note:
<note>
<pitch>
<step>B</step>
<octave>4</octave>
<alter>0</alter>
</pitch>
<duration>4</duration>
</note>
<alter> for example needs to be always there, otherwise PS will reject the XML (while it's redundant for 0).
Another limitation - PS understands only one channel. You can't use more. The in-game UI misleads you to believe that it uses 2, but it doesn't. So stick to one channel.
One more limitation seems to be, that divisions can be only equal to 4 (rosegarden sets divisions to 960 by default and that screws PS, up to crashing). Divisions are the number of fractions in one quarter (4th) note. Then the amount of divisions you put in the duration tag will define the length of the note. I.e if divisions=4, and duration=2, you'll get 1/8. So make sure you set divisions to 4 and have durations set accordingly.
See also: http://www.recordare.com/musicxml/tutorial/hello-world
-
This sounds pretty useful, maybe you could create a section on the wiki with your findings as they firm up.
-
I wrote a MusicXML filter for PlaneShift (http://www.ligh.de/PlaneShift/musicfilter.php) which accepts only the XML tags and attributes present in the scores I created in-game, and should possibly limit MusicXML files from other sources to the tag/attribute subset supported by PlaneShift. But I am not certain how well it works. Division values are not yet checked, the main purpose is only to remove probably unsupported tags. Use at your own risk. Keep backups.
-
Can you link the code somewhere as well please? Otherwise I have no idea what it does (probably it would be useful to make it a standalone script, instead of on-line php service). The problem is not just removing unsupported tags. There are key limitations involved, for example only one available channel. Channels can be achieved in a whole number of ways in musicXML, for example using <part>, <voice> or <staff> tags. None of those are supported in PS to make parallel sounding music (even for solo and bass), and just filtering those tags will produce a totally messed up result.
-
So it was obviously a bad idea from the beginning. Ignore the above then.
The most annoying part is that I was able to create XML files which look like they might be acceptable, they don't contain any XML tags the game would not save out. But still they are not loaded. Either with the error "Cannot load: illegal XML syntax!" (although the file was perfectly wellformed), or even "File not found!" (although the file existed certainly).
-
I was able to load XML in the game, after manually editing the result produced with Rosegarden music editor (see details above). As I mentioned, you can't skip any <alter> tags, even if it's redundant <alter>0</alter> (for regular non sharp/flat notes). Normal editors obviously don't write that since it's not needed. That seems to be the most common problem for loading even a very simple XML. So far PS XML doesn't really conform even to the subset of MusicXML, since it sets some elements as required, while they are optional in the real schema.
-
something being optional means it has a default fall back value in other words yes it's a subset. the subset which doesn't extend the schema with optionality.
-
It is a subset, but validation rules of this subset don't conform to the schema, like I said, making something optional as required. I.e. basically making something out of that subset by hand will pass validation of the standard schema, but will fail to validate in PS (missing <alter>).
-
A few words about role-playing side of music.
1. Some tutorial quest is strongly required for joining "bard fellowship" smoothly. Currently all your char needs is to purchase an instrument (I have bought 3 different without searching too hard), a blank score (everyone knows where blanks are sold) and start editing this score. It looks like a Music Playing skill has appeared from nowhere. There was no history of musical instruments, nobody has invented how to record sounds, and no records about why music is so good to spend days for training. My suggestion is to start musical career from talking to NPCs and collecting some knowledge about great musicians of Yliakum and their contribution to (for example) battle glory of the Dome. Some new books in Library may help to support this role-playing line.
2. After finishing this inroducing part there can be given a quest for demonstrating how music playing helps to support fighting spirit of allies. For example let one "bard" invite some allies into group and those who will stand within audible range of music get a buff of "faster regeneration" or "strength". There can be different events happen when music is playing like "monsters attracted by melody start to attack a buffed group" or "monsters become mad and attack each other". Another way is to make good mood for blacksmiths or bakers. Playing a song "When My Hammer Falls"* or "My Baker"* will lead to higher quality items produced. The main idea is to prove that music is a different than magic but a powerful means for something. After all music in RL is a powerful social phenomena. Omitting this fact we never can make interest into it characters in IC manner.
3. Only after afore-mentioned events it will be logically to start training this skill (i.e. "level-up") in order to make researched buffs more powerful or/and more long-lasting.
What do you think?
* - any coincidence to RL song names are purely accidential.
-
As usual, Malunga, new features come before the settings developers can even write about it.
-
Not always Mishka. In many cases it's the other way around - settings are way ahead of implemented features.
-
ABC notation should be used as it would making doing this alot easer
http://en.wikipedia.org/wiki/ABC_notation
http://abcnotation.com/wiki/abc:standard:v2.1
-
The format itself is less critical, but support of the format in music editors is more important. If MusicXML is more or less supported, ABC notation is probably less so. Plus XML is rather good on its own and has good parsing/validating tools. I doubt there is a matching support for some custom notation.
-
There is another issue, which might cause confusion for those who import scores from external editors. If you set the tonality in the beginning, at present, PS will adjust all individual notes accordingly, while in conventional MusicXML each note would have an individual modifier (sharp or flat) in that case. So if you import some melody written not in C major, you'd get a messed up result. As a quick fix - set manually the tonality in the resulting XML to C major, and individual modifiers should do the rest for you automatically.
-
/me wishes he could hear the music.... :(
When someone gets the time, or the interest... would you mind a step by step for the technically challenged elves amongst us, PLEASE??? :flowers:,
as to:
1) how to listen to the music- like what would I have to change in my files or whatever to hear it? (yes I have windows vista, a very good graphics card (I am told anyway), and updated drivers, and have had to turn all my graphics to lowest settings to prevent log in crashes. Is the sound enable tied into these crashes?) My sound works fine in other programs, skype, youtube, etc...
and
2) where to start to learn to play ig... yes I can ask players IC and I have but the npcs don't seem to want to teach me anything, no matter how many tria I offer... ok, ok, this is a spoiler ask, :-X never mind ::) 2)- let's just go back to #1~~~!!! X-/
Thanks!!! :love:
RR
-
Roled: Does your sound work for the rest of the game? If not, did you install OpenAL library on your Windows? You can download one from here: http://connect.creativelabs.com/openal/Downloads/oalinst.zip
Then in settings, which are in the PlaneShift startup window, choose OpenAL as your sound system.
-
http://www.hydlaaplaza.com/smf/index.php?topic=40189.msg450076#msg450076
http://www.hydlaaplaza.com/smf/index.php?topic=40189.msg450074#msg450074
-
Hehe, Olorin and Aiwendil :D Sorry for offtopic.
-
I'm uncreative...what did you expect ;)
-
What is needed in the future is a way to tie lyrics into the score so that they will play in the main chat window in the same bar as the music plays.
-
Actually I can think of tons of notational problems that I have with this before I would need anything lyrical. For one you cannot drag out single notes. I cannot have a low half note acented with several ghost notes of a lesser value. So many things revolve around subtleties like this that right now lyrics would only mean we have words scrolling across the screen to a very limited musical score.