Jan 25, 2021
Ostriv - yevheniy8
Instead of posting a long boring list of things we're working on, I decided to make a little case study of a new building coming in the next update to show what kind of work is being put into each building in Ostriv. I hope it'll give a much better perspective and will be much more interesting to read through.

If I take a look at the Trello card called "building_saltworks" I can learn a lot about its history. It was created on 17th of August, 2020. So this was the day we started researching the historical data and exchanging ideas.



There's a thin line between how far you can go in historical accuracy direction and general playability. We're trying to keep it both interesting to play and mildly educational on how the industry worked before the industrial revolution.

We iterate on different designs until we find the one that fits all the requirements: has all needed functional elements, looks unique, fits the style, has easily readable and recognizable structure, and of course is just pleasant to look at.



As much as we strive for details, some of them can't be put in a game as they are. You can see a highly-detailed model on the left which we had to render as a texture with transparent parts on the right. We experimented with different versions to get the look we need.



From the feedback I can see one of the most admired parts of this game is construction animation. Having buildings assembled by distinct parts feels refreshing after being used to them just popping out into existence.
Once we have the saltworks building model completed, we start on the separate model which has all the construction parts specified.



As you can see the saltworks building has 556 separate parts, all of which were modeled by hand, are ordered respective to their construction order and have material specified. Some parts are marked as milestones to avoid some unrealistic situations like roof parts hovering in air before the walls have been built. You can see the milestones in the construction's properties:



In game, when construction workers get to the site, they get a task to build a specific part based on the order and material availability. They would take a resource from stack and build a new detail, repeat until their workday is over. Sometimes some parts may look weird during construction and we need to reorder the parts, change resource types, milestones and so on, until our workday is over. Thankfully there's enough benches around and we can get back to work later in full strength.

In grid-based games the building footprint is specified simply as two integer numbers: width and length that they take on a grid. From navigation perspective this just means those tiles are no-walk zones.

In Ostriv it is much more complicated: there is no grid and the buildings are freely rotated. Citizens can walk anywhere with no regards to grid tiles.

To avoid overlapping buildings with each other each one of them has specified which land it occupies exclusively (the yellow part) and the empty space which they can share with other buildings (the green one). Of course it could be much more simple, it could even be generated automatically based on model geometry. But that would take away from Ostriv its unique handcrafted feel as well as the ability to put a nice little bench right there in a free strip of space near the entrance.



For navigation purposes each building is supplied with a set of "nodes" and "walls" which will become a part of the global navigation graph connecting all the buildings in a town. So keeping it as simple as possible while functional enough is essential to late game pathfinding performance.



There are also nodes for specific purposes like wagon parking or storage points for resources. This time we finally made special nodes specifiable in editor rather than built-in to the program code. The future mod-makers should approve of this.

To make sure citizens will not clip through buildings when entering them we specify in the editor the floor geometry, which is also stored in the model. As we have dynamic doors in Ostriv, they need to be added in editor as separate objects.



In most city building games there's usually no actual difference between various production buildings. There's a visual model, inputs and outputs. This concept has a great advantage of scalability: once you made it work you can add new buildings with close to zero effort. With modding implemented this just becomes an endless source of new content. That's the easy way, which obviously means it's not our way.

Back when I was working on the game alone I had varying amount of attention to the detail. When I was rushing towards the Alpha 1 release in 2017, I've added a bunch of soulless buildings like Tailor's and Weaver's workshop in a hurry. All they do is stand there and produce one resource from another. The windmill on the other hand is a building I made one of the first and it is probably one of the most detailed and nuanced windmills in video game history. I want Ostriv to have more buildings like that windmill.

The saltworks building has an animal-powered machine for pumping brine from underground deposits. You can use draft horses or oxen to turn the wheel. We've chosen the building design in which you can see the animals inside pushing on that samsara wheel in the name of the betterment of civilization until the brine storage is full. Then the human worker should fire up the oven with firewood or charcoal (depending on your choice) to evaporate the water and get another batch of dry salt ready to be used by the town. The oven consumes fuel, the animals consume food and water and die occasionally from the lack of it. Just as always, you can relocate animals or even call a slaughterhouse guy to put them to the final rest. The whole process is powered by some 26KB of new code (I always choose the shortest variable names possible) written intermittently in the course of the last 5 months.



On January, 12 I moved the "building_saltworks" card to the "DONE" section but the room for improvement is still there. If back in August I were to give an estimate on how much time making this new building would take, I wouldn't be even close to accurate. I also didn't know that writing this post would take my whole day. That's why I'm not giving any estimates on Alpha 4 release date.

Now back to turning that wheel so the folks can finally grow their own food and send their kids to school.

Stay healthy and kind!
Yevhen.
Oct 28, 2020
Ostriv - yevheniy8
These last months we were working on the biggest content update since the initial Alpha 3 release. Just as the store page says, the delays between updates may be longer than some of you would otherwise expect. And this is one of those cases. There's no way to divide it into smaller updates so it will take just as much time as it needs. There won't be any estimates on the update delivery since we're all humans and work in our comfortable no-crunch schedules with all due holidays and vacations to make sure Ostriv will be finished and will become the best city-building game ever.

Here are some of the things coming in the next update.

Village house yards will now be customizable:


Also they will finally make some sense, because they will be used by citizens to grow crops they can sell on the market:


As the yards will now have a meaning, there's no need to make them mandatory. Leaving a house without a yard will also be possible (its residents just won't be able to do any private farming).

Resource management will have a major overhaul with capacity limits and more options for distribution by carts and wagons.


Much more new stuff will be announced later. You can keep in touch with the latest news here: https://twitter.com/OstrivGame

Some of the upcoming new buildings:



Thanks to everyone who supports the development by not giving the game a thumbs down review while we're working hard towards a finished masterpiece!


Yevhen

Ostriv - yevheniy8
Fixed:
  • Random crash on messenger arrival
Ostriv - yevheniy8
Fixed:
  • Horse meat hasn't been delivered from a slaughterhouse
  • Couldn't store horse tack in trading posts and warehouses
  • Crash related to the trading post
  • Some hire options didn't work correctly on farms
  • Lime kiln couldn't get empty in some cases
Ostriv - yevheniy8
Fixed:
  • Hay supply was broken in the latest update
  • Crash when placing a trading dock in some cases
Jul 18, 2020
Ostriv - yevheniy8
This update was planned to be a bit bigger, but as some of you are too eager to try some new stuff already, we're postponing the customizable house yards to the next update. Anyway, this one should have enough to entertain you during the wait. Here we go:

Added/changed:
  • Added a checkbox to only produce dried fish on a fishing dock
  • Slightly improved CPU performance in big towns
  • Slightly improved the bridge model
  • Added a checkbox "Only available" in warehouse and trading post resource selector
  • Improved the chicken model
  • New building: trading dock
  • Added a new town to trade with (by river)
  • Added slower building rotation when Ctrl pressed
  • Added a stricter limit on how far from home can someone work
  • Cowshed workers will not mow hay too far from their cowshed
  • Industry now uses hi-tech solutions for water supply
  • Increased leather price
  • Removed a hotkey to rotate building 180 degrees (90 seems enough)
  • Optimized CPU performance when using FPS limiting
  • Added shadows on water surface
  • Increased maximum number of workers at Carpentry and Smithy to 3
  • Now showing the field size during creation. Also visible in field's properties
  • Can now slaughter horses when really hungry
  • Numbers in trade deal dialog are now calculated as you type
  • Added another bench model
  • Field workers can now take more than one stook on the way back, greatly reducing crop gathering time
  • When emptying a building, resource amounts <1 are removed automatically
  • Added a help text for the fishing dock
  • One fishing trip now brings 9 to 15 units of fish (later will depend on various factors)
  • Added a new map:
  • Added a reminder to build a trading post when running out of iron
  • Increased the starting treasury to 2000 hryvnias
  • Several minor UI changes

Fixed:
  • Was too little Ox, Bull, Boar proposal
  • Crash with boats on RX 5700, RX 5600 and Vega - now confirmed
  • Weird trade wagon animation on a bridge
  • Building houses on the map border made out-of-border areas accessible
  • "Apply to all" applied to unfinished buildings
  • Crash after relocating a cart
  • A few crashes on extremely big towns
  • Crash after closing popup windows with Esc key
  • A crash related to plough construction
  • Fields could get stuck on plowing
  • Grass under bridge was wrongfully trampled
  • Reassigning fields during gathering led to leftover "awaiting" resources never delivered
  • Fishing boats preferred closest fishing spots not taking length to account (may still take some time for them to learn)
  • The eggs were sold to citizens 100 times more expensive than needed
  • Supply by wagon didn't work for market stalls
  • Couldn't demolish unfinished lime kiln in some cases
Ostriv - yevheniy8
Fixed:
  • False positive "Can't build on water" for fields
  • Couldn't reassign fields in latest update
Apr 29, 2020
Ostriv - yevheniy8
This updates introduces some changes to resource/money balance so all feedback is welcome. There was a change in how trading works. Some players might consider it too easy, but the current solution is not final. More like it lays some foundation for future additions.

Added/changed:
  • Not showing "soil is exhausted" icon if nothing can be done about it at the moment
  • New fullscreen mode - borderless window (can help with issues on some systems)
  • Some products costed nothing to citizens but created treasury money from nowhere
  • Changed the way demand and proposal work in outer trade
  • Improved "Make a deal" dialog to include more useful information
  • Added "Apply to all" button for supply options
  • Slightly decreased tree planting priority over wood/firewood production at forestry
  • Edited some of the help entries
  • Minor UI changes

Fixed:
  • "Apply to all" now works for seasonal settings too
  • Fields could still be built partially on water
  • Lime kiln had confusing supply options
  • Crash when firing a farm manager
  • Some animated models had ghost-like appearance in some cases
  • No one wanted to pick the remaining charcoal from the pile
  • Crash when trying to relocate chickens to farm or cowshed
  • Crash in huge towns with 70+ farm fields
  • Wagons didn't supply to trading posts
  • Crash involving demolishing on pause and "Next building" button
  • Potentially fixed a crash with boats on RX 5700 XT (need confirmation)
  • Cows disappeared when returning from pasture in some cases
Apr 16, 2020
Ostriv - yevheniy8
Added/changed:
  • Added a check to "Allow chopping trees" in reforestation area (will be protected otherwise)
  • Added new UI scale option: 250%
  • Added buttons in building panel to quickly search similar buildings

  • Can now specify builders wage in town hall
  • Can now hire counselors in town hall to manage seasonal hiring
  • Added new options to hire depending on season

  • Added notification when field nutrients are low
  • Can now disable snapping while creating fences
  • Added a help text for cart parking

Fixed:
  • Couldn't assign mouse side buttons for anything
  • Could build on map entry point, leading to unexpected results
  • Crash when emptying a farm during harvest
  • Traders could buy more than we wanted to sell
  • Hay in a barrack became invisible in some cases
  • Could build fences outside map bounds
  • Some bridges didn't make the other side accessible
  • Bridge preview showed wrong calculation of resources
Apr 7, 2020
Ostriv - yevheniy8
Added/changed:
  • Added a description for Empty function
  • Added some more on-screen reminders on how to start your town (Clay pit, Thatchery, Charcoal pile, Forestry workers)
  • Construction menu now divides to pages if doesn't fit on screen
  • Wagons will now need horseshoes and tack replacements after some time
  • Salaries and rents are now payed daily rather than every frame, thus making the economy consistent in all game speeds
  • Not allowing to demolish field with harvest anymore
  • Added tooltips on resource icons in tannery

Fixed:
  • Tannery stuck in gathering (rare)
  • Crash when relocating pigs
  • A carpenter could choose a horse that's being relocated, leading to later crash
  • Could build coastal buildings in inaccessible areas
  • Construction workers had their path needlessly recalculated
  • Stone mining could stop if limestone deposits are inaccessible (yeah, vice versa)
  • Wagons could deliver the same construction resource twice (left in a building afterwards)
  • Church and chapel requirement didn't care if its construction is not finished
  • Cows could be stuck relocation
  • Crash on loading some saves
  • Jerky movements of wagon wheels in later game
  • When demolishing a forestry, a leftover log could be never picked up
  • People and animals aged less if played on lower game speeds
  • Wagons never wear out
  • Wagon shed workers could neglect supplying for horses
  • Laborers in fact received the same wage as workers despite coefficient
  • A pig marked for slaughter manually could be slaughtered twice
  • Some weirdness during windmill demolishing
  • Horse tack trade was broken
...