TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )


Name

 MicroTown 

 

Developer

 Snowy Ash Games 

 

Publisher

 Snowy Ash Games 

 

Tags

 Strategy 

 

Singleplayer 

 

 Early Access 

Release

 2019-08-30 

 

Steam

 € £ $ / % 

 

News

 28 

 

Controls

 Keyboard 

 

 Mouse 

 

Players online

 n/a 

 

Steam Rating

 Very Positive 

Steam store

 https://store.steampowered.com/app/931270 

 
Public Linux depots

 MicroTown Linux [82.11 M] 




LINUX STREAMERS (0)




EA Update #13 - Construction

This update focuses on the backend features for building construction, broadly speaking. My main eventual design goal is to make construction feel like a larger part of village development. This means things like longer build times, additional construction steps, more required materials, more builders, larger buildings, more builder animations and actions, more visuals, more feedback, etc. As part of it, I also added a lot of smaller features that I wanted to add but couldn't before.

[h2]Multi-tile buildings[/h2]

The biggest change (at least, internally) is the support for multi-tile buildings. Here is the "new" town hall on a 2x2 footprint (or 7 tiles):



I have not yet "converted" any other production buildings, because this would basically remove them without replacing and break any games. Besides, I need new art for them all and this is a out of scope for this update (see also future plans).

And here is the new (unfinished) monument on a 3x3 footprint (or 19 tiles):



With this, I also added support for multiple builders at the same construction site. Larger (future) buildings will require more time to complete, but this will also be offset by more builders working on them. This is probably the primary way in which I can visually "explain" that constructing buildings is a significant endeavor.

Notably on visual side, I added the graphics for construction progress for buildings:



This was one of the visual things that has been bugging me forever, but I was not able to add it due to how the construction and deconstruction progress was stored. It is now self-consistent (and you can no longer cheese the materials by toggling between de/construction).

Buildings can now also support more than 3 materials for construction, notably the monument will now also require planks and iron ingots.

[h2]Dirt[/h2]

I added a new tile type "dirt", which is basically dug-up grass. This will be the "default" tile under all buildings:



Builders will dig up the tile at the start of construction and will now actually convert it to dirt (if it's not already dirt). Previously, only workers at places like farms and ranches would dig up the working tiles, but these were just a variant of grass. They will still do it, but now they will work directly from dirt and further prepare them for use.

This makes the village look more lived in and creates a starker visual contrast between the village and the surrounding nature.

The dirt will also slowly regrow back into grass if there's no building on it:



With dirt tiles being their own "type", I can also add transitions between different tile types. (Before, "fake dirt" was only at the borders of crop fields, animal pens, etc., so it didn't really matter if it had a "sharp edge" with the grass outside the area.)



I numbered the different transitions above and you can see how just such a small location can have transitioning surfaces from everywhich side.

I even had to work on improving my pipeline for transition creation, such as a quick preview so I can tweak any issues:



This change is similarly mostly about the backend. Previously, I would never change the tile after creating it (dirt was just a variant of grass). But this also meant that everything assumed that it can "connect" to tiles safely and the tile would never disappear or change its type. So now I have the ability to transform the tiles as desired, which paves the road for various tile-related features.

[h2]Self-delivery toggles[/h2]

Buildings can now "decide" if the workers will self-deliver items, that is, bring nearby input items and deliver nearby output items to other buildings or storage instead of waiting for a carrier. This behaviour is both a positive and a negative feature and the line is very blurry and based on so many factors. When it works, it's great. When it doesn't, it can ruin production. I thought about this a lot and in the end I decided to allow the players to enable and disable it. This would still be important even after upcoming updates and changes to logistics, so I might as well do it right.

Firstly, each building with workers now has a toggle to either allow or disallow self-deliveries or keep it at the default setting:



Secondly, the item distribution window now offers a building self-delivery toggle tab that lists all the building types and each has its own toggle for all buildings of that type:



There is also a global toggle to simply disallow all self-deliveries by default. This can result in very different layout and carrier requirements. With a small village, it almost always works better with self-deliveries, and this is the default option and this is also part of my "just works" design goal. In the end, I am allowing the players to choose how their workers spend their time and if they want to optimize long-term or react short-term, I'm happy either way.

[h2]Markers[/h2]

Selecting a building, will now show the a small in-world marker above the items that are being delivered/imported to (blue, arrow in) or taken away/exported (orange, arrow out) from the building:



This will also show the villagers performing the delivery before the items is yet picked up:



This should make it much easier to see what items are being delivered without needing to check the tooltip that can only show a list of items and their approximate distances.

I will likely expand this to "mark" other related things as well, like workers themselves. However, this is a finicky feature that takes a lot of time, so I will work on this at a later date. My primary goal was to show the items and carriers since these cause the most confusion, especially for construction. This will also be particularly helpful for the future logistics updates.

[h2]Various[/h2]

Most of the work was in the backend, but here as some notable changes.

All buildings with workers now track their efficiency and show it in the HUD:



This is simply the percentage of time that the workers spent working. In addition, I also show the time spent self-delivering items so it's clear when workers are spending time hauling items versus doing the building's designated tasks, which is not necessarily bad but also not necessarily good. In any case, the player can decide what they want to do with this information and possibly use the self-delivery toggles.

I (finally) changed the minimum carrier value from an absolute number to a proportion and changed the UI to be a percentage slider:



Importantly, I made it so that going under this limit will start dismissing workers from the buildings. For this, I use the most occupied and then least efficient workers.

This now functions more intuitively like "I want X% of villagers to be carriers" rather than the more convoluted "minimum".

I also changed how the UI shows the de/construction material items:



This is an extreme case for the monument, so there a lots of items. But for regular buildings, this should work up nicely. The old "button" was just too unclear and cramped.

I split the top HUD overview and their tooltips into the tradesmen/carrier/builder sections:



I removed trying to show green/red status icons for these, since they are almost always just a little wrong. The end result is that a village working 98% of the time has red icons while a village not doing anything can have green icons (since technically all tasks are fulfilled). I think I was trying to be too smart trying to "tell the player" what the goal should be when it's not actually a goal at all.

[h2]Future plans[/h2]

This update took way longer than anticipated because of a fundamental backend assumption that tiles map 1:1 to buildings and that tiles remain "fixed" throughout. Adding such fundamental features retroactively is never fun. For example, path-finding had no idea how to handle not being able to walk between multi-tile buildings. I think it was worth it just to allow the larger monument. But, of course, there are tons of buildings that could be multi-tile.

The next thing I am working on before anything else is a delivery "caravan" system. There is a lot to discuss about it and I will probably leave it for the next update notes. I didn't do many logistics changes in this update mostly to not delay it any longer. For example, there are still various issues with construction, particularly with priorities and deliveries. But much of it needs logistics "fixed" first.

For the more distant future, the next part of building changes would be making all primary buildings be 3x3 tiles. That is, for example, a farm would be 3x3 while the fields would remain 1x1. However, I will not do this change right now as there's a specific problem I want to focus on.

Of course, there are all the other things I have mentioned here and there before - markets, better civilian needs, happiness overhaul, more production chains, trading, etc. etc.

[h2]Full changelog[/h2]

Changes

Monument is now 3x3 (19 tiles)
Town Hall is now 2x2 (7 tiles)
Multi-tile buildings are now supported by the backend: currently used footprints are 2x2 or 7 tile "circle" and 3x3 or 19 tile "circle"
Add multi-tile outlines for building selection and construction
Selecting any tile of a multi-tile building selects both the exact tile and the building itself and with separate outlines
Add (de)construction markers for multi-tile buildings
Buildings are now (de)constructed through several visual construction steps; add in-progress sprites for primary and auxiliary buildings
Update (de)construction item progress UI to be shown as a progress bar with sections for used/delivered/pending/needed items with appropriate icons
Make (de)construction progress bar advance smoothly and more accurately than before
Town Hall's footprint is now 2x2 or 7 tiles
New larger Town Hall sprite
Monument's footprint is now 3x3 or 19 tiles
Monument now also requires Iron Ingots and Planks for construction
Add Iron Ingot to building proportion item distribution window
New large Monument sprite and its construction steps
Make Dirt tile a separate tile for "used" tiles, including its previous "variants": Tilled Dirt for farming and Stomped Dirt for animal husbandry
Builders clearing a tile for construction will now convert it to Dirt
Dirt tiles will slowly revert back to grass as Regrowing Dirt and Regrowing Dirt if there is no building on top; other dirt types will first turn into "regular" dirt
Tilled Dirt under Crop Fields and Garden Plots will turn into Wasted Dirt at the arrival of Winter and workers will need to retill it
Tree Nurseries don't need the tile tilled anymore
Buildings with workers will show their work efficiency percentage in inspection HUD based on their time spent working
Building workers will now follow a self-delivery setting and not bring or deliver items to and from their building if self-delivery is disabled
Add self-delivery toggle (enabled, default, disabled) to building inspection HUD
Add a "Self-deliveries" tab to item distribution window with a global self-delivery toggle (enabled/disabled) and per-building type (enabled, default, disabled) delivery toggles
Change profession distribution carrier minimum value from an absolute value to a percentage value
Workers will now leave their buildings to become carriers to reach the global carrier threshold
Split top overview work section into individual "Tradework", "Deliveries" and "Construction" sections and simplify the tooltips
Remove unclear and often incorrect green/red-colored status colors from top overview worker numbers/labels
When a building is selected, items being delivered as inputs or carried away from outputs and carriers coming to take the items are indicated with in-world markers with appropriate icons (blue - incoming, orange - outgoing)
Add UI/HUD button pressed variant and change various buttons that are "toggled" to have the pressed version (instead of just color change)
Add water tile animation
Update and improve various tile transition sprites
Remove old save potential upgrade notice from save/load menu

Fixes

Toggling between construction and deconstruction no longer returns material items randomly, but proportional to what was actually used
Item distribution UI stuck with previous world's values after load or new game
Rare exception when moving obstructing items from a construction site when the items are chosen for delivery
Incorrect partial tile border outline for selected buildings with no auxiliaries
Rare exception when selecting between buildings that have differing border logic
Switching between different building construction would not update the invalid tile outlines in some cases
Butcher producing Meat without Pigs
Young Deer walking sprite animation mismatch
Wrong tooltip info for Codex production "recipe"
Wool Fabric production chain missing from Carding Machine tooltip
Shift-selecting unbuildable building would change selection but not visuals
Certain world changes would not be reflected as current selection changes
Wrong Sapling removal animation
Worker digging animation not showing particle effects in many cases
Minor selection change trigger issues
Occasional tile transition sprite overlap flicker
Minor tile transition sprite issues
Brewing Vat to not individually select production, rather parent Brewery to decide what to brew
Confirmation window to use the Enter/Submit input instead of passing it to window under it
Saplings to not grow in Winter

Balancing

Increase various construction costs
Increase various construction action durations
Saplings grow faster
Trees grow slower
Tree Nursery workers plant and dig up Saplings faster

Optimizations

Optimize tile updating speed (however, all water tiles need constant updates, so overall the game is slower)
Improve certain redundant frequent update calls

Rudy
Snowy Ash Games


[ 2021-05-21 14:27:03 CET ] [ Original post ]