3snowp7im / SotN-Randomizer

Randomizer for Castlevania: SotN
https://sotn.io
Do What The F*ck You Want To Public License
89 stars 37 forks source link

Implementing per-area music randomization. #93

Closed MainMemory closed 1 year ago

MainMemory commented 1 year ago

This will satisfy #72, although it should be noted that as the bosses and the areas that play Final Toccata were unlabeled, I have split each of those addresses into a separate area, which may not be correct. What this does, is instead of shuffling the music in the game based on what music was originally playing there (e.g. all areas that played Lost Painting now play Wandering Ghosts), the music is split into a list of areas, and a music pool is constructed, starting with one instance of each song (so each song is guaranteed to appear at least once), and then adding a randomly selected song from the original list until the pool's length matches the area list's length, then shuffling the pool and assigning each entry from the pool to each area's addresses. Thus, the Reverse Caverns may play Dance of Pales, while the Anti-Chapel plays Marble Gallery and the Forbidden Library plays Dance of Gold. This should greatly reduce the monotony of the reverse castle.

3snowp7im commented 1 year ago

I don't think this should be core behavior. This is a quality of life improvement that should be optional. Please implement as a feature of Turkey Mode instead of the default.

MainMemory commented 1 year ago

I'm unsure how to do that, but I can try.

MainMemory commented 1 year ago

I'm not entirely sure why it's being tied to turkey mode (which is seemingly on by default for all presets) but it's done.

MainMemory commented 1 year ago

Update: I went through and organized everything that hadn't been labeled with the zone IDs.

MainMemory commented 1 year ago

I've also noticed through playing that there are a couple cues for music that play the vanilla music: the scene where Alucard walks to the teleporter to warp to the reverse castle, and the room with Akmodan II after he's defeated.

Also the file menu, prologue, final boss, and credits aren't randomized, but I'm guessing that's intentional?

3snowp7im commented 1 year ago

I've also noticed through playing that there are a couple cues for music that play the vanilla music: the scene where Alucard walks to the teleporter to warp to the reverse castle, and the room with Akmodan II after he's defeated.

These are unintentional.

Also the file menu, prologue, final boss, and credits aren't randomized, but I'm guessing that's intentional?

These are intentional.

MainMemory commented 1 year ago

Made the requested changes.

MainMemory commented 1 year ago

It would seem that those changes broke the randomization somehow.

MainMemory commented 1 year ago

Fixed.