Can a “Biome Shuffle” button be created for SP and MP unranked games on the in-match settings menu?
I love playing “green” maps. Don’t like playing “snow”, “sandy”, or “yellow” maps.
So, rather than having to quit and re-launch multiple times until I get “green”, I would like this button made. I can keep hitting the button until I see in the background if it’s the biome I want. I can even close the menu if I want to see the biome that resulted even better:
(Other people might prefer snow or sand, and they can keep shuffling until they see their desired biome.)
In SP skirmish games the map is paused, so no problem doing a Biome Shuffle. Besides, once the desired biome is reached, I can just hit “Restart” to start the match from very beginning if I want.
Or, if it needs to shuffle the entire map and not just the biome, give a warning telling the player their match will reset when shuffling
In MP unranked private games, I’d be able to pause the game and Biome Shuffle, no problem. Again, I could “Restart” manually once I land on the biome I want if I wish, or the game can auto-restart the match for me. Either works for me.
Saves me and us from having to “11” when we get a biome we don’t want, where we then collectively sigh → quit → re-join → re-launch → repeat until we get a “green” biome.
I just had to quit and re-launch Four Lakes 2 or 3 times to get green, for example.
This is just one way to implement. If there are better, more streamlined ways, please do! I already asked before to let us specify the biome in the lobby (or at least specify, like, “no snow”, or “no sand”), but that hasn’t been done. I thought this might be a better or easier way for the devs
This would be the easiest option to implement, because it would just involve running the random map script again. To me, it would make sense to implement it as two restart options for random map games, i.e. restart with the same map, or restart with a new random map.
My guess (and I admit it is just a guess) is that shuffling the terrain on a map that’s already been generated would be harder to implement than choosing the biome in the lobby.
For choosing the biome in the lobby, this would just involve lobby settings determining parameters that get used by the map script. That already happens in some cases, e.g. game modes like regicide.
For shuffling the biome, there would need to be some system for changing terrain types in a game that’s already in progress. I don’t think a feature like that exists already.
With either suggestion, I think the big problems are (a) biomes are implemented in different ways in different map scripts, even if you just restrict to official scripts, and (b) the game has no way of knowing which part of the script determines the biome. Any implementation would need a rewrite of all the official map scripts, and would need to be done in a way that doesn’t break compatibility with older or custom scripts.
If I had this problem, my solution would be to make modified versions of the map scripts that don’t have the snowy or sandy biomes. Alternatively, you could use the no snow mod, and expand on it by also replacing dirt and sand textures with grass textures.
Sounds about right, and is a practical solution with other benefits. It would in essence be choosing a new seed to generate the restarted map.
True. RMS scripts are separated into various sections, including land generation and terrain generation, but the use of several biomes requires conditional statements (often after a random statement) that could be practically anywhere. With additional lobby options, it would be possible to add additional statements like “Grassy terrain” or “Desert terrain”. But implementing those options would require rewriting the map scripts (which would be almost trivial in some instances and difficult in others)
The easiest solution for OP is probably just to expand a no snow mod to replace other terrains as well.
Launch map from lobby, but when map appears and it is about to start the game, auto-pause it and have a 5 second countdown with “Re-shuffle map”/“OK” buttons in middle of host’s screen before match actually begins. With this, host can shuffle the map if they want.
If they hit “Re-shuffle”, host then has 15 or 20 seconds max to keep re-shufflimg to try and find and select or land on a biome they like. Once chosen or time runs out, a 3 or 5 second countdown timer then appears for all players to warn of impending match start.
And if any map re-sync needs to happen across all players, of course factor in the short time needed for that.
If re-shuffle button is never pressed, map just begins in 5 seconds, and all players have a countdown timer to see
Match then begins.
This process would be quicker and more streamlined than idea in OP, imo.
And when the match ends, the cool thing here is that if you hit “Rematch”, you can actually easily shuffle the map at the start again to get a different layout/biome, if you want, assuming they implement this way.
I never use Rematch currently because I never want to play the exact same map layout twice in a row, and since I hate having to go back to main menu, re-launch SP lobby, re-launch match, this shuffle idea would be nice for rematches, too, imo – keeping you in the game more easily
I’ve used “no snow” mod and don’t like it. Plus, I don’t want to have to explain to other players to go download it of they don’t like snow. And it doesn’t address sand anyways.