SotN-Randomizer icon indicating copy to clipboard operation
SotN-Randomizer copied to clipboard

Feature request: Map Randomization

Open halgorithm opened this issue 6 years ago • 10 comments
trafficstars

This is something I'm sure you've thought of but might be very difficult to implement. I'd like to know if even one of these is feasible: shuffling room locations within the same area, shuffling room locations across multiple areas, mirroring or rotating individual rooms, or moving entire areas to different places within the castle. Getting a new castle every time could be very exciting for runners and I'd consider it one of the most impressive features for a SotN randomizer to have, but I wouldn't be surprised if it's just impossible to do.

halgorithm avatar May 30 '19 03:05 halgorithm

This would be very difficult. At best you would be able to shuffle rooms within the same zone so long as their new layouts don't overlap. Then we'd need to figure out how to change the map screen itself to reflect the changes. Work has been done on the latter and it has proven not to be trivial. This would be a great feature, but due to the work involved, it's not currently on the roadmap.

3snowp7im avatar May 30 '19 22:05 3snowp7im

Thanks for the explanation, that's about what I was expecting. As far as the map screen is concerned, I see that https://github.com/LagoLunatic/dsvrandom just informs the user that the map screen will be broken when randomizing the map, which seems acceptable even if it's not exactly ideal. Hopefully some day!

halgorithm avatar May 30 '19 23:05 halgorithm

good point, +1

3snowp7im avatar May 30 '19 23:05 3snowp7im

Thanks for the explanation, that's about what I was expecting. As far as the map screen is concerned, I see that https://github.com/LagoLunatic/dsvrandom just informs the user that the map screen will be broken when randomizing the map, which seems acceptable even if it's not exactly ideal. Hopefully some day!

Huh? Room rando on DSV has been map-friendly for a time now. And regions are kept contiguous, so you might check and see if the code is workable, convertable, whatever.

SenseiLeRoof avatar Jun 07 '19 20:06 SenseiLeRoof

And regions are kept contiguous, so you might check and see if the code is workable, convertable, whatever.

The DS Vania and SotN engines have absolutely nothing in common.

3snowp7im avatar Jun 07 '19 20:06 3snowp7im

@SenseiLeRoof I haven't tried DSVRandom myself but the repo's README for it states that Room connections and Area connections randomization are not map-friendly. I only mentioned it to point out that a broken in-game map screen could still be an acceptable UX. But in any case, the high-level map randomization algorithm doesn't seem to be the challenging part but rather injecting those changes into the base game.

halgorithm avatar Jun 07 '19 21:06 halgorithm

Just checking in on this feature again, would it be possible to just randomize connections between zone doors? (e.g. the door from the Entrance to the Alchemy Laboratory could instead lead to a different area, or potentially even a teleporter room)

Compared to the other ways one could randomize locations, this seems like probably the best ratio of effort vs. payoff. Doesn't seem like it would need any map overlay changes either, as the doors are conceptually just teleporting you to different points in the castle.

halgorithm avatar Mar 08 '21 01:03 halgorithm

If figuring out how to generate the map layout is a problem, perhaps you could do what the True Randomization mod for Bloodstained does, and have a selection of pre-made maps that can be randomly picked.

MainMemory avatar Aug 03 '22 15:08 MainMemory

Coming back into this to say that I'm currently working on an editor that uses json files to store info about the room layouts, and I could potentially integrate support for them into the randomizer, if that's something you'd be interested in having.

MainMemory avatar Feb 14 '23 18:02 MainMemory

If you could get that to work, it would breathe new life into the game for sure!

SenseiLeRoof avatar Feb 15 '23 01:02 SenseiLeRoof