Concerning the Music Player in Open MW

Feedback on past, current, and future development.
Locked
User avatar
lgromanowski
Site Admin
Posts: 1193
Joined: 05 Aug 2011, 22:21
Location: Wroclaw, Poland
Contact:

Concerning the Music Player in Open MW

Post by lgromanowski » 17 Aug 2011, 18:41

Vance987 wrote: I won't be able to post in about a week or sooner. So I'll try to cover everything I have to say atm. *points at piece of paper that has all my stuff on*
-=ahem=-

I was thinking that we should set some ground rules on the new music player that will come with the mod once the engine is ready for it. Therefore, I have some ideas that may come in handy down the road. We should implement more music slots than Oblivion which were Town, Battle, Dungeon, and Travel if I'm right. What I had in mind was: Dungeon, Battle, Town, Travel, Crypt, Bed, Sunset, Night, and maybe a special "anytime" slot for music that fits all of those categories.

One subject I forgot to mention was about the Travel music slot, that it should be considered "daytime" music because I added on the Sunset & Night slots.

The music player should also be more stable and flexible than Bethesda's where I delete a song and it still plays in game. There should be also a feature where songs only play under a certain condition and also a feature for only certain areas.

For example- If player is a vampire

If player is <2 levels than enemy

If player is in night atmosphere
=music set Battle 04
Anyways, thank you for your time, and I hope I get some responses. ;)
Vance987 wrote: While I was thinking a couple minutes ago, I also want to bring up a couple more topics before I close.

Player customization- The player should be able to customize what, when, where, and why music is played mostly in game. Instead of the basic put in music into X folder and then it just plays randomly, give the players options of the chance of songs played (%), an option for a pop-up on the screen that shows the name of the song whenever a new song plays, and also options for all of the above that I have mentioned in this post.

There should also be a feature where battle music only starts when the player has come in contact with the enemy, and resume the previous song where it left off.

There should also be a smooth transition (fading in and out) between each song. Not the choppy fading that Morrowind gave us.

Again, thank you for your time, and these are only suggestions. Seeya later!
Vance987 wrote: No.... replies? :o :oops:
fallenwizard wrote:
Vance987 wrote:No.... replies? :o :oops:
Because the forums are still empty :P

I think it's a good idea. Something like special music for bosses (Dagoth Ur etc..) is missing in Morrowind imho.
Vance987 wrote: Yessss that's what I'm saying. Like players could add in area specific music. Like Dagoth Ur battle music. ;)
sir_herrbatka wrote: I'm pretty sure that nico already thought about it.

:)
Vance987 wrote: Yeahhh... just wanted to add this in case he forgot something. I had that stuff written down in my binder for a long time. :roll:
pogzy wrote: Great idea, or there should be some sort or meta data on each song/music and some rules, via script that overrides the basic one hard coded in the engine, the rules then look at the meta data and choose what to play when to play.

It is just another way to say your idea. Meta data can be set externally via any mean (external files like xml or simply the path file).

We should keep in mind it must remain compatible with the vanilla Morrowind, for the player that want to keep the old way to play.
sir_herrbatka wrote: Oh boy, let's add tags to the tracks (or possibility to add them) like "sad, funny, fast" etc and make player that can choose song according to tags. What do you think guys?
Vance987 wrote:
pogzy wrote:Great idea, or there should be some sort or meta data on each song/music and some rules, via script that overrides the basic one hard coded in the engine, the rules then look at the meta data and choose what to play when to play.

It is just another way to say your idea. Meta data can be set externally via any mean (external files like xml or simply the path file).

We should keep in mind it must remain compatible with the vanilla Morrowind, for the player that want to keep the old way to play.
Exactly, the only thing other than what you said is to let the player edit the music rules *IN GAME*, although I don't think adding music in game would work. ;)
sir_herrbatka wrote:Oh boy, let's add tags to the tracks (or possibility to add them) like "sad, funny, fast" etc and make player that can choose song according to tags. What do you think guys?
And yes, that too. Just the option to add more strings and variables to when and where the music could be played. :D
Gez wrote: Ideally, the music system would have these three categories:
- Region-based (different musics in Solstheim than in Vvardenfell for example)
- Time and weather-based (different music at night than during the day, rain music, snow music, storm music, etc.)
- Locale based (like in Daggerfall: shop, temple, mages guild, fighters guild, legion, inn, house, dungeon, and so on)
- Activity-based (combat, walking, swimming, riding, boating, etc. depending on what's implemented).

The issue here is that the simplistic directory system used by Morrowind becomes unworkable. This should then go with a simple text file (for easier editing and extending) that could be used to indicate which music goes where. For an example of what I mean (the syntax could very well be different, though):

Code: Select all

music Explore/mx_explore_1.mp3
{
   regions = "Bitter Coast", "Ascadian Isles"; // Example of region names
   locales = "Seyda Neen, Fargoth's House", exterior; // A keyword that designates any exterior cell; since it's a keyword it's not quoted.
   weathers = *; // or maybe an 'any' keyword?
   activities = "explore"; // "combat" would be the other obvious activity, but there could be more.
}
Then this music would have a chance to be selected when you are in the appropriate region and cell, during the appropriate weather and time of day, engaging in the appropriate activity.

Why not put that stuff in the ini? Because there's already a lot of stuff in the ini, and that would be more about content than about configuration, so it should be separate.
Why such a text format instead of some binary ESP chunk? Because this way it's a lot easier to extend as the engine develops without getting into issues with backward compatibility.
Vance987 wrote: Awesome! This is what I've been looking for. Thank you for your input. That is everything simplified into one simple source code. (Except for the in game music player...)
Vance987 wrote: Hey guyyyyysss! Look what I found.

http://planetelderscrolls.gamespy.com/V ... il&id=7899

*huge grin*
sir_herrbatka wrote: cool. But this is just another ugly hack around limited system ;)
Vance987 wrote: But it IS pretty good for the system we have right now.
sir_herrbatka wrote: Dunno. There are at least few ways to do it.
sir_herrbatka wrote: Ok, let's just allow me to write down my idea.
Ideally, the music system would have these three categories:
- Region-based (different musics in Solstheim than in Vvardenfell for example)
- Time and weather-based (different music at night than during the day, rain music, snow music, storm music, etc.)
- Locale based (like in Daggerfall: shop, temple, mages guild, fighters guild, legion, inn, house, dungeon, and so on)
- Activity-based (combat, walking, swimming, riding, boating, etc. depending on what's implemented).

The issue here is that the simplistic directory system used by Morrowind becomes unworkable. This should then go with a simple text file (for easier editing and extending) that could be used to indicate which music goes where.
An actually this is what we are looking for but I think that static playlists sux and dynamic playlist rox. We need tags!

If we add tags to every piece of music in morrowind we may be able to replace playlists with "stance". If we add tag "anxious" to track, it may be played when player is low hp, the enemy is near, we are in the tomb or something.

The stance would be just list of tags (maybe also with values to regulate the power of the tag). If we are low hp we maybe anxious, but also tired. If we went into tomb with low hp we may be even more "anxious" so we the music system should increase value of this tag in stance.

I want it more fluent, without this weird "explore" and "battle" separation, battle music when you are fighting mudcrab? ;-)
Vance987 wrote: That's what I wanted in a nutshell. But I would like the songs to play through though. If every little instance would be a different tag, then music would keep switching through and it would be a complete mess. Maybe setting a offset timer where the music would take 3 seconds to start playing if the instance would last at least 3 seconds. Then a 10 second ending offset where the song would end about 10 seconds after the instance has completely ended.
sir_herrbatka wrote: hmmm i didnt thought about it, really good point.

Well, we may try to create somekind of relationship of tags map so music won't change at once if new, stronger tag is similar to the older one. But, well... I think that it's to complicated... :/

I think that you posted good idea.
Greendogo wrote: I like the idea of creating simple scripts for a song that need to be satisfied for it to MAYBE possibly be chosen to play.

I think the more workable solution would be to use a spreadsheet with all the music down the left side and all the possible categories they could fall in at the top. An X in a column would indicate that it gets played sometimes in that situation.

However, you could also extend it a bit by making some music play more often in that situation. For example, you could instead write 20 in the cell for a song to play at night. In this case it would play 20 percent of the time while all the other songs in the night category would have their chances of play divided equally among them as long as they also don't have a number hard coding their play frequency.

If somebody accidentally makes all the choices for say "Night" music add up to above 100%, we could simply notify them at the program launch that "The 'Night' music category exceeds 100%" and until they fix this make each song play equally regardless of if it has a simple X or if it has a number.

===Working with Morrowind's original file structure===
In order to get this to work with Morrowind's original file structure, the first time you start the OpenMW program it would load all of the music in each Morrowind music folder into the spreadsheet and mark it as whatever folder it is in.

When you change it in the spreadsheet, outside of OpenMW, it will not change it back to the default settings. But if you add a new song to the battle folder it will load that song into the battle category. OpenMW should have its own Music folder for putting music you don't want to associate with your original Morrowind install in it.

Using this system, we'd be able to "tag" one song to be used in more than one situation and at different frequencies.

There should also be a system to create your own tags based on regions, cells, and a variety of other things so that we aren't limited by what the old system hampered us with.
best regards,
Lukasz

Locked