NovaMundi: Week 105 – Rivers, New UI

NovaMundi is coming to Steam Early Access very soon! remember to Wishlist it if you like what you see.

Procedural Generation

I did quite a bit of work in the rivers procedural generation. Previously, our rivers were too “straight”, with only 45 degrees turns which looked extremely unnatural… the reason for this is the way I was planning to implement them first via flood-filling the geometry and advancing one tile at a time towards the sea.

That’s no longer the case (see previous posts about rivers procgen) so I changed the way they are built to instead place them segment by segment and pick an angle change within a sensible range for each new segment. This in turn allowed us to fix a bug on their geometry that was haunting me since the Steam Game Festival version (random gaps appearing, caused by the points of the polyline used to create the river surface being too close), as well as make it so we have much more control over the total river length we want in the map, and prevent them from overlapping. Of course we still need to work on their positioning and add branching so they are not that many isolated segments.

While we were at it, we decided to address a bit some visual aspects of the rivers; besides fixing how the “riverbed” was painted to take advantage of the new procgen in which the rivers are flat, we did some experiments on the color of the river texture and concluded (again) we need to modify the river shader for it to interact with the lighting conditions of the scene. I did some tests using the plugin we are using for the oceans’ water, just to evaluate how important it would be to implement some of its features in our shader (like simulating “foam” on contact with other surfaces, and having reflections with an animated normal map).

The forest are now a bit more spread out, with a dense section at their center and more sparse vegetation on its boundaries.

Save/Load

One big thing I missed during the initial work was properly saving and restoring the Terrain objects which are an important part of the game state; while of course there is always the option of storing the seed to regenerate the terrain every time, I opted to save the terrain data instead, to allow future scenarios where it can be modified in-game, as well as allow pre-generated terrains to work through evolving versions of the generator. I am also lazy and didn’t want to go through the generator ensuring all the dice rolls where made with a single pre-seeded generator.

Beside this, there were some tweaks on save/load as expected during playtests, including saving the weather and the player encampments.

User Interface

We are doing good progress in the revamped UI for the “transfer” popup (Used for trading, transferring items and units to camps, and battle loot), as well as the “inventory” popup (for which we still need to do some design work, to integrate with the “use item” flow)

More art!

Art keeps working at a quicker pace than we are able to integrate, so there’s a bunch of things we are going to be adding in the upcoming weeks including special NPC portraits, a complete new environment for the paramo (Andean Tundra), Potato and Maize farms, rocks and cave entrances, new panche raider model and some more redesigned UI.

Finally, we are experimenting with a better way to display grass in the terrain, since using geometry or billboards continues not being good options based in latest tests.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s