Stendhal Development Meeting 2009-11-22/Result Log/Music

From Arianne
Jump to: navigation, search


  • there's a text on sound and music at Stendhal Sound
  • wiki page is quite old and needs to be updated


Types of Music

  • main goal of music is to add ambient/atmosphere
  • music should be played adaptively according to the place and situation, to give it more value.
    • storyteller made some great examples of this, see patch tracker
    • some are very pretty and quiet and suitable for outdoors, a meadow
    • some are dark and scary like for a dungeon
    • a jazz room was suggested, does it fit into the world?
  • need to compromise between file size and loops being long enough not to get monotonic
  • files provided and committed to CVS
    • Deep_Forest.ogg (This music by storyteller from patch 2665588 is ideal for outdoors as it has bir..., 2009)
    • Demiurgo_ANewHomeland.ogg (Added final version of demiurgos song, 2006 )
    • Sacred_Moments.ogg (This piece of music by storyteller from patch 2672345 has a majestic and serious..., 2009)
    • The_Forsaken_Mine.ogg (This is written by storyteller, atmospheric background music ideal for caves or ..., 2009)
    • The_Old_Tavern.ogg (This is written by storyteller, and he comments that ' This background soundtrac..., 2009)

File Format

  • mp3 is problematic
  • midi
    • midi-files can be repeated the whole time aren't so big files and you can make them easy at home
    • midi and linux may be a problem
    • midi would have a retro touch, like lufia or secret of mana or sth.
  • ogg
    • midi files can be converted
    • prefered by many people
    • cannot get the range in midi files as you can in ogg

Controlling the music

  • music is played by client
  • on commands provided by the server
  • music should depended on zone, "atmosphere" property of zone that is sent to client
  • synchronization
    • there is an unwritten rule that all the players should see the same thing
    • problem: player A enters a zone, the music starts to play, player B enters 30 seconds later. For them to hear the same thing the music for player B has to start 30 seconds in
    • the music should fade in, there is no need to hear it from the start
    • music is not really part of the game world so it may be okay to start at the beginning every time, to make coding simpler for now
  • other triggers
    • there might be special music during a fight against a very strong monsters
    • it was suggested that music may be faster when low on health

Multiple programs with music

  • music should only be played if the Stendhal client is the active window
  • so when you have two clients open (for example while testing) you don't get a mess
  • a workaround would be to mute one client manually.
  • for example when the other music source is not related to Stendhal

Shipping Music Files

  • the music files should be shipped with the client, just like tiles and images are, but as a separate package
  • streaming is considered to consume too much resources like bandwidth, streaming is not required for synchronizing
  • plan:
    1. Make /mute persistent (#2880973).
    2. include the sound files in stendhal-0.xx.zip (it made sense to have an extra download years ago when the music was twice as large as the client, but that is not true anymore)
    3. include the music files in stendhal-FULL-0.xx.zip

Other

  • we need to be carefully when taking music from any other sources because they may be copyrighted although marked as free
  • it should be possible to switch sound/music off
  • music needs quite a bit of coding, the existing sound system needs some cleanup
  • there are ogg files provided to test with, so the missing computer code is the show stopper

Volunteers

  • storyteller and miasma volunteered to do the music
  • hendrik volunteered to fix /mute and include the sound files into the normal stendhal-0.xx.zip download, so that the music files can go into stendhal-FULL-0.xx.zip
  • plassy volunteered to do the java coding
  • it may be a good idea to join #arianne on irc freenode. Please ask there if you have any questions or issues.