Recent work


Hi everyone, Calandiel here.

Since December is relatively close now, I thought it'd be a good moment to talk about recent work and review the state of the project (in particular, how likely is the release of 0.3 in December).

I'm going to focus only on the work since the previous dev diary, but if you'd like to read about it, here's a link:

https://demiansky.itch.io/songs-of-the-eons/devlog/263709/the-need-to-feed

Most of the changes I'll talk about here have been recorded by Solitarian so if you'd rather watch things on YouTube, here are the videos (in the chronological order):

Now, with that out of the way, let's talk about something that wasn't really covered outside of the Discord server.

The city view has trees now!


If you haven't been following the development closely -- version 0.3 will come with a three dimensional view into the game world, which will be used to visualize settlements, characters and environment. This way, we'll be able to rely on human intuition to understand information presented visually. It's much easier to see the trees, cloud cover, falling snow than to read that 80% of local plant biomass is in trees and that there's 4 m/s north wind on the tile.

The view adapts to local time and season and updates monthly, just like the map modes on the globe view do. In particular, one can observe transition between different biomes, like on this forested plain turning into a forest:



Presenting data this way also helps with development. We're only human and it's much easier to notice issues with the model when we don't need to analyze state of a tile with over a hundred numbers.

We also noticed that some of the people who ran the test builds on the Discord server got confused when they saw gatherers failing to gather food, for seemingly no reason. The reason should be more obvious now that most of useful tile information is visualized in a graphical way:



The city view can also show buildings, though, we haven't finished their shapes yet so they look a bit underwhelming. I'm not sure if we're going to keep their blocky looks. I was initially hoping that having shaded mesh normals and higher resolution textures would prevent them from looking like retextured Minecraft, but I forgot that with triplanar uv mapping it's really not possible to accomplish that when the underlying mesh geometry is blocky.

Fortunately, wWe also started commissioning models for the game as they will be necessary for both the city view and the UI in general. So buildings will most likely look better in December. All of the models (and especially tools) are modelled after existing, real life objects and have their proportions kept realistic.



Graphics are fully moddable as .obj and .png files. We're hoping that in far future SotE will have an active modding community so keeping features open for modification when it's possible to do so without hurting performance of the simulation is important.

Lastly, the city view also includes weather information. The weather is calculated updated once an hour, per tile. I think it's a better way of showing it, especially compared to raw data dumps and map modes. When you do want to know current weather (like when you're planning for a battle), having to select a new map mode or trying to find that specific piece of information among hundreds others pieces of information in the UI would add unnecessary friction in the way you interact with the game world.


So, you may ask, why do all of this? Can't we just have the map and map alone, like in Europa Universalis or Risk? And to an extent, you'd be right. Forests could potentially be rendered on the map. If we're creative we could maybe also add some weather and buildings to the map itself. The problem is that SotE has *much* more data to present players with than other games. There's average tree height, for both conifers and broadleaves, plant cover, soil texture, farming favorability, bedrocks, local weather, local time, buildings, and characters (of which there could be thousands per tile). Are these buildings well maintained? Are the people clothed and fed? What's the local culture like? Do people use bows or atlatls for hunting? Or maybe slings? Is the culture especially religious? In the future, we'll need to convey all of that information and presenting it visually should make it easier to understand for most people. It should also make the game more immersive. It's one thing to read that 85% of people are starving, it's another to see thin, withered bodies of your people.

Anyhow, I'll add some more pictures from the city view and then move on to the release date for 0.3

A forested coastline

Temperate shrublands

A lone isle

Arctic wasteland without snow, glaciated land in the distance

Transition between land and water

Mountain-side

Far-north tundra with snow cover

Temperate grassland

Tropical, high altitude grassland

Winter in a mixed forest

Late winter without snow

Early spring

Early summer

Late summer

Autumn

Early winter

Autumn in a mediterranean biome

Early winter without snow

A small shrub in autumn

Forest under the canopy
Same location, above the canopy

So, let's talk about the planned 0.3 update. Around March, just after 0.2 released, I said I'd like to release 0.3 this year, likely towards the end of it. Since then, two thirds of the allotted time have passed and as such, I think it' the right time to re-examine feasibility of a release in late December. Can we make it? Long story short, I think we can but it'll be a relatively tight margin. I did take into account potential delays caused by uncovered bugs or unforeseen issues (both of which slowed things down over the year), but unless we run into a big hurdle this or next month, we'll have the release ready.

The most difficult features have been implemented. In particular, SotEs game world is now spatially partitioned in a way that allows multithreading of character logic (and character movement between tiles) without making multiplayer hopelessly difficult to implement (I won't go into technical details, unless people want to learn more. If you'd like to learn more about such approaches, developers of Noita gave a talk on multithreading in their engine. SotE does something very similar, though, our timesteps for character logic are hourly, not 1/30th of a real life second). The city view is also mostly functional now. It obviously needs more tree, shrub, and grass models but those can be added almost last minute if need be (or shortly after the release, as a hotfix).

The economic model is only missing exchange of goods between characters. Production and consumption are working, including the nutrition model and foraging. We still need to finish pregnancies and give the players a way to interact with the game. We also need to add some rudimentary diplomacy and warfare. That's not more work than what we've done in the other quarters of the year so there's a good chance we'll make it on time. Until then, we'll continue releasing debug builds in the testing channel on our Discord. For the nearest future, this week will be spent on bug fixing and boring programming work before pregnancies can be finished (I need to make character creation and deaths thread-safe). The rest of the month will be focused on said pregnancies and UI that would let people interact with the game. I'm not sure what feature will be implemented first as I changed my mind about it a couple times already), but at the time being, I think letting people build in their settlements makes the most sense.

We'll revisit the situation a month from now again but as of now, I'm relatively optimistic. I'd like to release the game around Christmas (perhaps December 25th?). Patrons will of course get access to it sooner (though, the version may be more unpolished compared to the 25th if we're short on time).

See you guys next time!

Get Songs of the Eons, 0.2

Comments

Log in with itch.io to leave a comment.

pog

(+1)

Great dev diary Cala