Drainage Regeneration Woes

As I mentioned a few weeks back, this weekend I made a trip that cut my dev time by a lot. Nevertheless I tried to compensate by working a few extra hours mid-week. Though I ended up spending most of it just trying to fix drainage regeneration.

The main issue I tried to solve was one with the map editor brushes. Whenever an editor brush was applied, the game tried to regenerate drainage just in the areas affected by the brush. This seemed to work fine, but there were many issues that would crop up after editing for a while which end up corrupting the map and making it useless. I tried multiple solutions but none of them seemed to work completely fine. So, for now I have decided not to allow for local drainage regeneration to happen automatically anymore. Instead, drainage regeneration will have to be manually triggered for the entire map by using a new small toolbar button:





The button will initially appear disabled. But as soon as any of the brush tools is used it will activate. At the same time the "Exit Editor Mode" button will become inactive, which means the user must manually regenerate drainage before being able to switch to simulation mode. Likewise, the "Save World" button will be disabled and remain disabled until drainage is regenerated. This is done to prevent the user from using, or saving, worlds with incomplete map data. The good thing is that you don't need to click the regenerate button until you are done editing the world with brushes. Also, using any of the slider tools that trigger a world regeneration, like editing the sea level, will automatically trigger a drainage regeneration, obviating the need to manually do it.

I still need to finish a couple of details regarding the new mini tool. But hopefully I can get that done this upcoming weekend. Additionally, because I want to finish this quickly, I'm going to leave in some minor janky drainage regen editor behavior that doesn't break the game. Hopefully it won't be too jarring of an experience for editor users.

Late Edit:

Thanks to thodogantu we now have a 'projects' page on Github! For anyone curious about were our minds are at, and the current direction of the game. Here's the link to it: https://github.com/Zematus/Worlds/projects/1