DoujinStars
Artur Śmiarowski
Artur Śmiarowski

patreon


Soulash 2 Devlog 4 - Procedural Regions

Greetings fellow gods,

Solid two weeks of progress this time around. Aside from the recently released Soulash v1.0.12, I've continued working on the procedural Region maps introduced last time.

As you probably know from Soulash, I've built its world as many interconnected static region maps that created a single world map during world generation. I always felt it was a cool feature, albeit complicated to implement and maintain. It requires constant reloads in the background, multithreading, and moving entities between regions, which can cause desynchronization issues (ever met a copy of yourself that damaged you too on hit?). 

Looking at it now, I think it might have been a "programmer having fun with a tough problem" kind of a deal since I don't recall anyone praising this feature other than myself. On the contrary, several opinions mentioned that travel takes too long, and running from enemies chasing players to the end of the world wasn't fun. In Soulash 2, considering procedural generation on maps, it would be even more problematic and complex to keep the whole world consistent. 

It seems the problems outweigh the benefits here, so I will simplify this by having instanced locations generated by world map tile rules connected by an "overworld". Considering the world's size, this will also make conquest and exploration much less time-consuming.

Most of my work this time around went into the Procedural Map Editor. I've created algorithms for settlement placements, river flows, road systems, and hills with slopes to climb the z-levels and completed at least one map setting for the primary biomes. Let's see some examples.

Forest settlement


Swamp settlement

Mountain settlements


Mountain Peak settlements

Boreal forest settlements


Right now all these maps are generated on the fly in the editor you've seen in the previous devlog, the buildings are randomized between what's available, but in the game, they will correspond to family/settlement buildings that AI can build given resources available in the biome.

It looks pretty cool, and we've moved another significant step forward. I believe that given enough building alternatives, the settlements will be very entertaining to discover. Larger towns will have new problems for me to solve, there is still a matter of placing unusual buildings like mines or rooms in a dungeon, but that can wait. Initially, before moving on to the next thing, I wanted to add procedural dungeons and caves, but this will have to wait until all core systems are in place. As soon as I connect the world with procedural regions and implement a way to enter and traverse the areas, and spawn actors in settlements, I'm going to move to phase 4, as that's the final significant element of this whole puzzle that can make or break my vision for Soulash 2. That last element is the progression system tied to interactions with the world. Until now, I only created systems that will construct and simulate the world we'll be interacting with, but there's no game yet. The next stage is to figure out how we will build our characters and what kind of interactions with the world will open up for us as we play.

And that's what we'll discuss in two weeks. I'll share my thoughts on the lessons learned during the development and after the release of Soulash and how I've changed my thinking about progression overall.

Thank you all for sticking around and supporting the development of this game. I hope you're enjoying these devlogs and if you have some ideas, questions, or feedback, let me know in the comments below.

Until next time,
Artur


More Creators