phoenixprojectsoftware / zamnhlmp

The game files for Half-Life: Zombies Ate My Neighbours Multiplayer. For source code and SDK, see https://github.com/phoenixprojectsoftware/Aura-CL, https://github.com/phoenixprojectsoftware/Aura-SE & https://github.com/phoenixprojectsoftware/AuraDS
https://moddb.com/mods/zamnhlmp
Other
2 stars 0 forks source link

Adaptive Music System #73

Open sabianroberts opened 5 days ago

sabianroberts commented 5 days ago

The main gimmick of Season 9 is going to be music. Rafael and I are currently producing an original soundtrack to ZAMNHLMP -- we were going to do this in 2021-2022 but I never found the motivation to nor had I the requisite equipment.

There are other early-00s and late-90s arena / multiplayer shooters which use music but the biggest problem with them is that they aren't adaptive. Even when the player is completely idling, the music remains hyperactive and thick. Half-Life falls under this problem too.

ZAMNHL&MP should implement an adaptive music system, where the music changes based on the player's activity. There are many potential ways to measure this, so the least complicated one may be best:

  1. Any bullets hitting the player?
  2. Is the player hitting someone else?
  3. Is the fight spread-out or close-quarters?
  4. Is the player using a scoped weapon?
  5. Or, perhaps, a simple trigger in a map could change the music; though this is only good in singleplayer.

Additionally, switching music should be neat. For reasons we won't be using the normal Miles MP3 Sound System / "fake CD player" system using the media folder, or we'll be limited to a finite number of tracks. RomaTech is currently already using OpenAL which allows HL1 to support any stereo PCM 44.1KHz WAV and MP3. There isn't a finite number of OST tracks you can use.

When playing music, there will be many variants of each song. I'll use Set a5 in zamnhl as an example: image

Intro & Outro pieces Each set will have an in and out. These are never looped and their purposes are self explanatory. The in piece can transition to ANY of the loop pieces. image

Loop Pieces The loop pieces can transition to any one another or keep continuously playing. For the purposes of multiplayer there will be an idle, active, setting up, and setting down piece, maybe more. Which one continuously played or which one plays next shall be decided by however the game measures it.

Switching between tracks If you simply switch between a track, the music will cut-off. In order for a seamless effect, the music should not switch to whatever's due to play next until the file currently playing has finished.

sabianroberts commented 5 days ago

I forgot to mention, there should be tracks each gamemode, not each map.