MicroTown - Rudy (Snowy Ash Games)
This summarizes the changes after the delivery update. There aren't many significant additions, mostly just usability improvements. (I kind of skipped the patch update after the animal update, so I want to post this one at least. And I can't devote all time to tiny features when the main game is waiting, although I try to ration in a good bunch of QoL stuff.)

Key changes

The one big thing is that the game got new commissioned cover art that I'm using for Steam and in-game, and just generally for promotional material.



I added global item distribution, which determines which items--roughly speaking--have priority over others. All items still get their chance, but some get more depending if they have a high weight and if they haven't been delivered recently. I also add nicer bars rather than number that weren't actually representative of an actual "proportion" value.



I started some preliminary work for better explanation when placing buildings about their areas and requirements. Mainly, these are important during the very first tutorial. But they also introduce any new building's "range" and I can add additional notes in the future. The "label" system itself lets me quickly attach a label to any tile/location, so I can show such hints.



I readded the labels for tasks tooltip (because it wasn't really obvious what the icons meant), but in a much nicer way than before:



I spent a lot of time debugging deliveries and fixed a lot of various issues and problems, not to mention tweaking many backend numbers. I would love to make some in-game UIs to show the details of the things that I can only print out (badly) in development debug locations.



I have been thinking back at other games that do logistics and some of the "sacrifices" they have made so that the overall system runs more predictably. I have from the very beginning gone for a very simulated logic, where every person and every item and delivery are "real", that is the actual item is delivered to the actual building by that actual villager, etc.

I also worked on increasing UI sprite readability, especially intractable buttons versus generic panels/boxes. I will likely work on these further, but for now they all have their own consistent custom sprites and I changed them to at least use the right "logical version".



I added some icons for building operation. These are the sort of things I add because, simply put, I like them. I like watching things happen and I like if a game doesn't hide this from me. So I could literally watch a progress bar if I knew it represented something "real" in-game. I started added icons here too and I will eventually add them to many other places.



Technically, I redid the whole backend for how buildings present their progress steps. They were very much literally the same steps the villagers follow logically to complete tasks. I have not added anything different yet, but now I can and I expect to tweak these for the needs of various buildings.

Also trees are now known as maple and spruce and got new sprites:



Future plans

Always a difficult question and a tough commitment. For example, I had to do the delivery update to be able to support future expansion, even though I really want to work on endgame and such. It took a lot of time and I could swear that for every thing I fixed, I broke another two.

So I will likely work on town progression next, which is--roughly speaking--milestones/stages/tiers that you have to reach and unlock. Sort of like hamlet → town → city or some such. I guess it's sort of like the "era" in civilization/empire games. This would pace the gameplay, pace the technology unlocks, and set up a hierarchy of progression (something like goals → techs → milestones → objective(s)). I am still unsure about any details, because I will have to design and try things out first. But I am fairly sure that the focus will be these town growth tiers. They will require some conditions, like a number of unlocked techs or population size and likely future things. Technologies will likely become tiered as well.

While likely not for the next update, my ideal plan is that every town tier (besides being a goal itself) serves to unlock a new mechanic and add some sort of meaningful specialization. I won't speculate too much about this because I really have no idea yet. All I know is that I want an overarching "progression" flavour to the game, if that makes sense.

Eventually, I will also expand the residential side of the town. Again, I don't want to speculate, but a natural town progression would imply villager class/caste progression and corresponding residential needs. If my design and plans work, then I can gradually insert these features additively, because they all build up on the same overall premise.

Full changelog

Changes

• New background and title
• Add label to building work and auxiliary range when placing buildings
• Make construction delivery selection weights higher, especially for priorized ones
• Add small note to Quarry tutorial that Rocks may not be nearby
• Add warning label if placing a building in a location with no compatible tiles for auxiliaries (e.g. Quarry with no Rocks nearby)
• Add max range label when placing buildings with movable operation location (however, there is no outline for now)
• Add extra labels when constructing buildings during first tutorials
• House supply delivery is greatly prioritized over other purposes
• Market Square supply is somewhat prioritized over other purposes
• Construction sites will follow build order even closer
• Add global item distribution tracking and proportions/weights to balance deliveries of different types
• Add a tab to item distribution panel for changing global distribution weights on a per-item type basis
• Item building proportions (and new global proportions) now use a "flattened" value for counting delivery targets - having many more targets will not "consume" all deliveries
• Add "progress bar" indicators instead of a number for weights in item distribution window
• Rework the "delivery" number in the top overview tasks tooltip to include potential deliveries (thus signaling lack of carriers)
• Add labels to the top overview tasks tooltip
• "Tree"s are now known as Maple and Spruce and a generic Tree link explaining trees as a concept when used in descriptions mentioning trees; adjust relevant tooltips
• New sprites for Maple and Spruce
• Rename "Usage" to "Change" in item report window for clarity
• Add toggle to audio options to disable audio when the game (window) is not in focus (in background)
• Add target building/road name to villager task description; replace "delivering" with "bringing" and "transferring" for tradesmen doing their own import and export, and to "taking" and "returning" when taking or returning auxiliary building items
• Add Food and Supply concepts for description texts; update various tooltips
• Operation windows (from bottom left menu) don't block gameplay input anymore and the menu is usable while they are open
• Adjust UI button and "block" sprites to be more consistent, pixelated and readable; differentiate clickable buttons from frames; tweak various UI sprites and elements
• Esc now closes any active window, otherwise cancels input mode (like auxiliary construction, work location selection, etc.), otherwise clears current inspection, otherwise closes open construction tab, otherwise opens pause menu as before
• Add icons to building inspection operation progress bars
• Hide items and buildings in windows (item report and item distribution) until they are unlocked
• Add gameplay option to show not-yet-unlocked features for adjusting

Fixes

• Fix certain scenarios when construction sites would not receive materials
• Coal tooltip no longer talks about Coal Maker
• Item deliveries are no longer "skipped" due to a lack of immediate carriers and round-robin selection favouring items due to their arbitrary order
• Older loaded saves with missing path coordinates will not hang game on busy worlds waiting for paths
• Units won't lose their paths (as quickly) on very busy worlds
• Animals being led will not lag behind the villager if they are walking quicker on roads
• Building workers would not deliver their own output items (only fetch input items)
• Loaded saves would not restore Pigs pending being led
• Fix inconsistencies for top overview icons not changing when there are moderate issues
• Fix location where villagers stand when chopping Trees
• Count Corpse as "production" for item report window stats (technically, all deaths produce a corpse)
• Memory leak due to a cache list keeping hold of removed entities
• Animal harvesting task description saying "delivering"
• An exception when a tooltip is being shown but data changes on the same frame in a way that would show invalid values
• Volume sliders now use logarithmic formula to fit the actual loudness better
• Fix outline for road icons (e.g. construction menu, selection)
• Options run in background check using incorrect tooltip
• Checkbox control not storing its value
• Unit distribution panel wrong text labels


Rudy
Snowy Ash Games
MicroTown - Rudy (Snowy Ash Games)
This mostly-technical update brings a major rewrite of the game's backend delivery decision-making system. There were a lot of small and larger issues surrounding item delivery, warehouse use, delivery priorities, inefficient routes, carriers idling, etc. At the end of the day, I couldn't solve many of these without adding substantial complexity and processing time. So I rewrote the system to run in a separate thread and be able to handle more workload and thus more logic and future changes I will need.

Key changes

A major change is to civilians. I did not like how their only “job” is to deliver goods from markets to houses. It sounded cool in theory, but residence deliveries were disproportionately cumbersome in practice. In fact, many players weren’t clear on when and why they idle. Instead, I made workers deliver the supplies to houses. However, that brought another problem that now half the population is ferrying residential supplies. So I made workers able to carry multiple “sold” goods at a time:



Civilians are now basically children:



A few players remarked that warehouses (and granaries) don't work well at all. And that's true -- their purpose was cold storage rather than active use or buffers. But I realize that when a player builds a warehouse somewhere between the producer and the consumer, then their intention is likely to “buffer” the items through it. So the deliveries will now accept retrieving from and stocking to storage based on distance more than necessity.

There are still scenarios where the default logic won’t work. So I decided to allow toggling of all the permutations of deliveries for storage buildings:



To illustrate, these work like so:



(And if you see the “infinite loop” in there, that’s the one case that is not allowed; although it also means that you cannot daisy-chain warehouses).

I also received comments about tasks and worker jobs being unclear (not helped by civilians adding their own numbers to the fray). So I converted the text-heavy detailed version into a more streamlined one and excluded civilians completely:



I think I will take this approach in designing tooltips going forward – replacing text-heavy explanations with a more visual approach. (This also cuts down on any future translation work.)

Some other small changes include adding change indicators for item report window:



Storage building now show the item they are storing:



Planks no longer break furniture production due to too many construction projects:



In fact, construction and material deliveries are now done on a queue basis:



Selecting a house will now show sentiment over all houses:



And a bunch of other small things.

Future plans

There’s so much else I want to do and fix, but at some point I have to push an update, even if it’s mostly just fixing existing issues. The backend rewrite took a long time, so I will try to focus on a content update next. I also recognize that there will likely be new issues that I will iron out over time.

My main long-term goals are extending the gameplay length and adding endgame. I already began some work on this, but I postponed it because of the reports and bugs with delivery logic. This is because larger cities suffer from logistics issues and adding content that encourages larger cities will only make the issues worse. But now I really want to get back to this, such as adding stages of city progression.

Full changelog
(including 0.3.1+ stuff)

Changes

• Civilians no longer deliver items to Houses, instead regular Workers do; civilians are now children that don't work and just wander about
• Workers can now pick up and carry up to 5 items from Market Squares in a temporary Basket (only to the same House, however and one worker at a time)
• Fewer Civilians will spawn, especially at the start of the game
• Warehouses and Granaries can now toggle whether items are received from and delivered to other storage buildings (in addition or exclusively)
• Deliveries--Warehouses and Granaries--are selected to maintain efficiency rather than priority
• Logistics no longer uses hard priority for items, but a variety of weights -- distance, item state, destination, etc.
• Construction site deliveries are prioritized in the order of placing them (i.e. build queue)
• Increase building worker item fetch distance up to 20 tiles
• Carriers will take slight priority over building workers when fetching items, but workers will fetch their own items when it's clearly faster
• Items left on ground will be delivered with some priority over others; stored items will be delivered with slightly lesser priority over others
• Building workers can now fetch internal supply items themselves (i.e. Tools)
• Item distribution window now allows setting Plank ratio for construction sites
• Many small logistics adjustments
• Improve top bar task tooltip overview legibility
• Warehouses and Granaries now show their stored item in-world
• Add Water Tower for Water storage for (future) emergencies
• Selecting any House will show a sentiment icon above all Houses
• Add unlock confirmation for technology unlocking
• Cloning buildings will also copy the delivery restriction toggles
• Profession adjustment window numbers can be adjusted in increments of 10 by holding Shift
• Item report window shows growth/decline indicators for all items
• Tooltips, tutorials and other text adjusted for new Civilian-related changes
• Carriers no longer prioritize output items (e.g. sawmill) over stored items (e.g. in a warehouse)
• Add zooming (mouse scroll wheel or numpad + and -)
• Add "X / sec" per item production and usage stats to item report window
• Bees are now units like animals
• Beehives no longer automatically produce Honeycombs, but require active Bees that fly to nearby Flowers and bring back nectar, filling up the Beehive
• Workers at a Beehive can spawn the first Bee; afterwards Bees that deliver nectar to Beehive can spawn up to 2 additional Bees
• Flowers can be gathered a limited number of times before they need to be replanted and go into short "downtime" after being harvested by Bees
• Beehives now show the range that Bees will harvest Flowers
• Increase Florist's max work distance and work area slightly
• Change Flowers graphic to single flowers; add 3 more variants
• Florist now has 3 work slots
• Well is now always unlocked
• Update Mason sprite, add sprites for active work, add item delivery/retrieval steps, add custom unit animation with sound and particle effect
• Increase icon and "button" size in item report window
• Brewing Vat now assumes input item ( Barley or Mead) based on selected production (even if it hasn't started producing yet)
• Add explanation notes to profession distribution window to bring attention to how the values would impact the game
• Bees will continue spawning for full Beehives so they don't "run out" if Honeycombs are not taken away
• Bees that successfully return harvest to Beehives will always spawn a new Bee if the hive is close to "running out" of bees
• Add version number to pause window

Fixes

• Workers will pick more important building tasks first (such as milking Cows over "spawning" new ones)
• New Plank construction use ratio prevents Furniture production halt
• Building site material deliveries will not try to consume all carriers and break other deliveries
• Update Herbalist steps and HUD to show used items properly
• Rare error where a Beehive is still used by a Bee returning harvest to it
• Rare error where a Ranch worker would attempt to spawn an animal for an Animal Pen where a wandering animal decided to stay
• Fix momentary item "drop" when villagers are picking up items; adjust animation to match item elevation; add idle holding item animation while the villager is thinking
• Reduce tooltip flicker
• Units fetching stored items now properly use the building's "entrance offset"
• Many logistics issues fixed
• Units that can't find a path within a certain time will gracefully abort and retry path-finding (mitigating being stuck waiting forever in case the path is "lost")
• Tavern no longer says that it is "producing" drinks
• Graphics option resolution dropdown showing duplicates
• Occasional cases of black seems between tiles when moving the camera
• Ranch showing auxiliary build buttons for locked animals
• Buildings showing empty production and item sections if potential items are still locked
• Woolworking now properly requires Herding, without which Ranches can't be built anyway
• Multiple restarts or loads leading to game being unresponsive and hanging
• Fix building inspection auxiliary building construction button getting improperly selected
• Well not unlocked for Woolworking
• Fix window header text for victory and save upload windows
• Fix food production tooltip value for top HUD food info
• Mason not having an operation progress bar in UI
• Building workers not positioning correctly for Mason and Well
• Fix worker hammering animation offset
• Fix building particle effects sometimes not appearing
• Brewing Vat always showing Barley as input item
• Fix error when a worker aborts harvesting an animal
• Rescue animals stuck forever following a worker
• Fix error when a Bee is left without a Beehive
• Fix Bees not returning harvest
• Stop Bees making Cow sounds
• Animals won't wander on roads
• Florist not planting Flowers to replace Shrubbery

Optimizations

• Delivery calculations running in a parallel thread, now with minimal overhead in main thread
• Much more efficient one-time entity flagging for deliveries and tasks
• Faster and more efficient entity lookup (used all over)
• Memory optimization for heavy UIs and tooltips
MicroTown - Rudy (Snowy Ash Games)
Key changes

For this update, the main focus has been on adding animals as proper "units". This means they can move, have animations, make decisions, age and die, and generally interact with the game world.

For now, I added three domestic animals to see how it goes -- pigs, sheep and cows:

Pigs have basically the same purpose, but with the updated interactions:



Carriers will lead the animals from pens to the butcher, scheduled similar to carrying items.

Sheep are used to produce wool clothing:



Cows are used to produce cheese:



Both wool clothing and cheese are stocked at markets and used by civilians at houses.

I have not yet added a proper way to breed and acquire new animals. The workers are able to "spawn" baby animals in animal pens as before. I have some ideas for handling this, but many of them rely on future content (like trading for certain non-native animals).

The new items have also complicated the UI a bit, and I'm not happy with it yet. For example, there are now linen (hemp) yarn and wool yarns, and they are processed separately but in the same building with an intermediate product in-between:



I also added a toggle for relevant buildings to choose the production item (and enable corresponding input items), so that buildings can focus on a specific item rather than process all as by default. Especially, if they are not located at a place where having both chains would make sense. (I thought about making these separate buildings, but opted out to have toggleable production instead.)

I (finally) added a deconstruct tool (X) that allows quickly (un)marking buildings for deconstruction:



I also added an item usage chart section to the item report window that shows how many items are being added and removed over selected time periods:



I've kept it very simple for now and I will likely extend this in the future (it's mostly about UI and doing some maths).

There are a whole lot of other internal and backend things I've been working on that will facilitate further features.

Future plans

I want to add more animals and interactions, including wild animals and hunting. However, I need to make other adjustments to make these viable first. So I'll be adding additional features and backend stuff and adding new animals "on top".

There are certain mechanics I'm not I'm not happy with. For example, I need to redo civilian logic (especially idling) and how they choose and carry items to houses. There are now 12 different items that they have to individually take from market to houses and it's becoming a chore to micro-manage and visualize it all. Similarly, there are 10 house desires each driven by its own conditions. I want to consolidate and group desires and simplify what it means that a residence is (un)happy. And make markets more productive, especially for supplying houses.

I also want to start working on expanding endgame, adding trading and reworking research and goals. But these are all big features that will likely slowly come together over many updates.

Full changelog

Changes

• Various buildings are reset/redeployed for loaded games
• Change Pigs to mobile mobs/animals (instead of item Pig)
• Animal Pens no longer "grow" Pigs directly and Ranches no longer directly produce Pigs as output items
• Add Cows and Sheep
• Animal Pens house individual animals (Pigs, Cows and Sheep) that wander around the enclosure; workers must prepare the area and can spawn animals there (for now)
• Animals will randomly walk around and graze; animals in pens will stay within the pens
• Add animal sounds
• Pigs are now led from Animal Pens to a Butcher by a carrier
• Animals grow over time and only grown animals can be "harvested"
• Add Milk milked from Cows
• Add Cheesemonger with Curd Vat and Cheese Press; add Curd and Cheese
• "Sliver", "Yarn", "Fabric" and "Clothing" are now Linen Sliver, Linen Yarn, Linen Fabric and Linen Clothing
• Add Fleece sheared from Sheep, which can be processed at a Wool Scourer with Fleece Tub into Clean Fleece and with Wool Comb into Wool
• Add Wool which can then be processed to Wool Sliver, Wool Yarn, Wool Fabric and Wool Clothing similar to Linen Clothing pipeline
• Houses now accept Cheese and Wool Clothing as reserves; Food Stalls and Supply Stalls can now stock Cheese and Wool Clothing respectively; add the related sentiment and needed amount for happiness
• Buildings with multiple auxiliaries can now support multiple work slots; Ranch, Beekeeper, Carding Mill, Brickyard, and Potter slots increased from 1 to 3
• Buildings with multiple outputs or intermediate items can now toggle their production (and corresponding input item delivery); enable this for Ranch, Carding Mill, Wool Scourer, Brickyard, Brewery and Tavern
• Add item production, consumption and usage over time charts to Item Report window
• Adjust Drying Rack presentation
• Replace full "close" buttons with "X" buttons for most windows
• Clicking on knowledge section in top HUD overview bar opens the knowledge research window
• Add Tool tab to HUD construction menu, and add deconstruct tool for quickly marking building for deconstruction; add shortcut X when not inspecting
• Add low disk space warning

Fixes

• Villagers always facing left when randomly moving around
• Building input and output items duplicating and mixing intermediate products
• Civilians idling next to Brewery instead of Tavern

Optimizations

• First map generation or load has much faster entity creation for larger maps
• Pathfinding runs in a separate thread, now taking almost no time in main thread
• Pathfinding checks are pre-calculated on changes only and repeat lookups do not consume additional time on main thread
• Post-pathfinding path cleanup/smoothing is now part of pathfinding thread
MicroTown - Rudy (Snowy Ash Games)
For the past few weeks, I have worked on mostly backend things and quality of life features, as well as tons of fixes and optimization.



Key changes

A major issue was being able to tell what items buildings have and what is happening with them. So the building inspection window now shows selected building's items. Firstly, this provides a straight-forward "explanation" about how the building processes these items. And secondly, it shows items that are going to be delivered (lighter yellow) and stored items that are pending for pick-up (cyan):



All other places where items appear and are delivered, like houses, construction, or storage, also show the same indicators:



And furthermore, the tooltip for each item "stack" provides additional information about the exact state of items being delivered or scheduled for pickup, including the distance the villager has yet to travel to fulfill the delivery:



Another annoying issue was trying to build "on trees", which is now solved by the builders clearing the area of any trees, shrubbery or flowers first:



Buildings can also be built on top of items, and the builder will move them away before construction. Furthermore, if these items are compatible construction materials, then they will just be directly used for construction instead.

Another nicety is task status icons for the top HUD overview bar that show the active trade, delivery and construction tasks:



A red icon would mean that the tasks are missing villagers and aren't being done.

I also moved the task information tooltip content to this section's tooltip and expanded it to show additional details.

I also added a much easier way to upload a save for bug/issue reports rather than having to manually navigate to the save folder and send the saves:



And a whole lot of other small things and fixes, including several optimization passes, especially for larger worlds.

Future plans

I may have again underestimated the time it takes to fix and adjust things. And I have a long list of tweaks, fixes and QOL features that I need to do. But for the next update I am primarily going to focus on some content addition. As the main goal, I really want to add proper animals to the game.

Full changelog

Changes

• Tradesmen can now also deliver their own building's outputs to nearby buildings as input or storage
• Building inspection to show its input and output items
• Building inspection input, output, stored, material, and house reserve and road inspection material item indicators to visually show pending and reserved amounts and have tooltips list these pending deliveries and pickups for tasks, including delivery distance
• Add in-game "soft" pause button and shortcut P
• Tooltips only update every second by default
• Add gameplay option for tooltip update frequency - periodic (new default) or continuous (old)
• Adjust Herb sprite
• Buildings can be placed on tiles with items
• Builder will move items out of a tile before constructing buildings
• Roads can be placed on tiles with items and built "under" them
• Buildings and roads placed on tiles with items that are compatible building materials will use them
• Buildings and roads can be placed on tiles with obstructing props (trees) and previously-discarded props (shrubbery, flowers) will stay
• Builder will remove props from a tile before constructing buildings and roads
• Add shortcut X for building and road deconstruction
• Population overview tooltip to separate number of idle vs carrier workers and also show these numbers for civilians
• Remove Tool label from top overview
• Add task status icons and label to top overview
• Move task info from population tooltip to task tooltip
• Expand task tooltip info with additional details and numbers
• Top overview labels to update continuously periodically
• Add "bug report" button to save/load menu that allows directly uploading a save

Fixes

• Incorrect road pending construction material counter
• Housing goal requiring more villagers than the houses that it requires can provide
• Lumberjack occasionally not cutting trees when using operation location
• Fix Ham description
• Crowded villagers getting stuck idling in a tile between finishing a task and reporting for the next one if there aren't compatible nearby locations to avoid crowding
• Idle villagers shuffling around will not choose inaccessible tiles (water)
• Villagers previously stuck in inaccessible tiles (water) will be teleported to nearby valid tiles on load
• Typo in tutorial text, in Medicine description
• Fix Water not being unlocked by Bookbinding or Brewing
• Fix building inspection arrow not appearing in correct location when some items are not yet unlocked by technologies (for example, Brewery before Beekeeping)
• Fix villager path-finding skipping certain tile points and in rare cases causing path-finding to fail
• Some villagers taking a very long time to choose the next task after having juggled idle tasks
• Lack of carriers causing items to (not) be delivered based on item type and ignoring delivery priority
• Fix P shortcut for pause not working
• Fix typo in controls info window
• Building and road pending material indicator/tooltip saying that an item is being delivered, when it's only queued
• Rare profile loading failure due to data conflict
• Forester not planting trees on Shrubbery or Flowers
• Task tooltip not grouping workers that are delivering/retrieving items as workers
• Restore the flag on the Town Hall
• Invisible sprites due to off-screen optimization issues
• Top overview villager count won't show the second limit number past 1000 and won't badly wrap when reaching high population
• Brewing Vats not switching production
• Paper Rollers using twice the amount of Paper Pulp
• Rare case of tree being still used after it's removed when workers aren't available to chop it immediately
• Occasional conflict between construction clearing tasks and regular tree chopping tasks using the same trees

Optimizations

• Faster thinking for villagers going to building positions
• Faster villager animation and other moving entity updates
• Much faster carried item updates and rendering
• Faster entity lookups with less lagspikes
• Building task checks with less lagspikes
• Task searches with less lagspikes
• Villager path processing slightly faster and with much less lagspikes
• Saving and future loading larger saves is slightly quicker
• Entities off-screen are not visually updated until visible (panning camera is slightly slower than idling, but still faster than idling previously)
• Less entity logical animation overhead
• Idle input processing more efficient
• Skip redundant entity transformations (rotation, scale)
• Faster entity ranged lookups
• Reduce save size slightly
MicroTown - Rudy (Snowy Ash Games)
Key changes

For the past few weeks I have been working on adding civilian needs to MicroTown, among many other improvements. The population is now divided into workers and civilians. Workers will continue as before -- carrying items, constructing things and working at buildings. However, civilians will not do heavy work and will instead supply houses with items from markets -- food, firewood, medicine, etc. Several new items and simple early production buildings have been added to that effect. Clothing finally has a use! 🎉

Each villager is now assigned a residence at a house:



Markets have been repurposed. Civilians will come to markets, where food and supplies are delivered:



They will take these supplies to houses, where they will be stored as reserves and gradually used up:



This also brings a large change to how happiness works, which is now primarily based on how well a house is supplied:



Each house will provide one or more (un)happiness points, depending on resident sentiment, which is mainly fulfilled by keeping the residence well supplied.

This means most existing villages will end up unhappy until the new supply chains are built. I decided not to penalize high unhappiness yet any more than the previous small reduction of worker operation speed. However, extreme-size villages may not make it past this update without making the mortician very busy.

The tutorial has been updated to include housing and market explanation.

Many other improvements were added. For example, workers will fetch their own input items if there's no one closer or carriers are busy:



Many usability thing are added, for instance, I'm working through the tooltips and trying to make them more understandable and explanatory and to avoid "hiding numbers" from the player:




Reflections

Adding this civilian feature set turned out to be a much larger endeavor than I expected and took 2 weeks longer than I wanted. Partly, because I was also adding a lot of enhancement based on feedback. And partly because it was a pretty large feature that I should have likely split into a couple smaller updates.

Future plans

There are still many improvements that I need to do. I will likely work on adding various report tools (like production rate overview) and quality of life improvements (like manually clearing forests) before other stuff. After that, I want to do another content update.

Full changelog

Changes
* Separate Worker and Civilian villagers (villagers working at buildings are now called "Tradesmen" instead of "Workers")
* Houses now have 8 resident slots that get occupied by villagers and are shown in building inspection HUD
* Add Woodcutter] (with Chopping Block) and Firewood unlocked by default; add goal
* Add Carpenter] (with Carpentry Table) and Furniture unlocked with Carpentry; add goal
* Add Potter (with Pottery Wheel and Pottery Kiln) and Pottery unlocked with Pottery]; add goal
* Bricklaying now also requires Pottery
* Warehouses can now also store Firewood, Pottery and Furniture
* Houses now have residential supply item stores for all food items and Firewood, Pottery, Furniture, Clothing and Medicine that are shown in building inspection HUD
* Tavern and Market Square no longer provide global happiness
* Market Square now serves as the parent building for individual stalls
* Food Stalls and Supply Stalls now supply a selected residential food or supply item respectively for Civilians
* Civilians "work" at Houses, bringing food and supplies from markets
* food is now consumed by its residents from Houses first; understocked and homeless villagers will consume food items "directly"
* Food consumption and production info in food tooltip
* Remove requirement for minimum distance between Taverns and Market Squares
* Houses now have a sentiment for each various factors, like having food and supplies
* Additional sentiments unlock when corresponding techs become available and sentiments become important to residents once the house is supplied for the first time
* Total sentiment in a House awards or deducts happiness for the village
* Happiness is now primarily based on the total sentiment of Houses
* Tavern now provides a sentiment point for nearby Houses and uses drinks proportionally to the number of nearby residents
* New villagers spawn from Houses (or Town Hall if there aren't any houses)
* Town Hall no longer provides housing, but initial population does not require housing to spawn
* Villager spawns faster in larger population towns and will not spawn if housing, food or happiness threshold is not met
* Villager happiness from population increases in "brackets" as population grows; shown in population tooltip
* Top HUD overview bar no longer shows Clothing
* Deliveries now have better internal priorities, for example items for processing or items on ground are now chosen first for deliveries
* Tradesmen at buildings will now fetch their own nearby input items for the building if they have nothing else to do
* Stored items (like at Warehouse) now shown as icons instead of text
* Brick and Glass production buildings are now in resource building tab
* Shift-building copies now also copies the storage item, like for Warehouses
* Monument now also needs Bricklaying and Glassblowing
* Arborist and Smeltery now have more worker slots
* Victory window shows total play time
* Items now shown in a single inspection box
* Various sprite and text adjustments, various UI tweaks and layout adjustments
* Item in-world stack sprites now visually show only up to 3 items
* Add tutorial steps to include Market Square construction and related features; tweak wording
* Tutorial arrow now point to in-world building for steps that need such selected
* No parent building in range reported as issue for auxiliaries
* Idle villagers will spread out instead of grouping up in large numbers
* Idle villagers mostly walk instead of run

Fixes
* Building deliveries being chosen by carriers closest to the building rather than the (closest selected) item
* Saved game times not being shown in local time
* Items rarely being ignored when differently prioritized for delivery
* Delivery proportions not adjusted when only one building at a time requested items
* Delivery proportions incorrect entries after loading older saves
* Starting to deconstruct and then cancelling for buildings with multiple production items (like Garden Plot) would have the production item record stuck
* In rare cases, a random consumed food item could stay reserved
* Goals with item consumption not triggering updates
* Mead to only unlock when both Brewing and Beekeeping are unlocked
* Error when moving mouse across tiles while confirming operation range range

Optimizations
* Faster item and building lookup for large quantities
* Faster delivery task assignment for large number of requesters
* Faster compatible worker search with many tasks and workers
* Slightly faster save loading
MicroTown - Snowy Ash Games
It has been a busy time since the Early Access release on 30th August. I have received so much feedback and suggestions! And so many people have made videos and held streams. You guys are amazing!

Key changes

For the past two weeks, I have been fixing bugs and issues as well as adding most pressing quality of life feature requests. All in all, 14 patches were uploaded.



Among the top feature requests was the construction task priority toggle:



In fact, the construction HUD received a full overhaul to clearly show the progress and used/available/needed materials:



Similarly for deconstruction, which now reclaims some of the used building materials:



Both construction and deconstruction can now be canceled/reversed at any time and will account for progress and materials proportionally.

Other important feature interactions were changed instead; for example, you could previously Shift-click on an auxiliary building button to enable/disable that production:



But this wasn't obvious and required the player to fully read the button's tooltip. So I added a distinct toggle instead, which should be much more intuitive (and also turns green if compatible buildings are in range):



A lot of tooltips received improved information, such as the population summary listing a breakdown both by occupation and by task purpose:



This is still a very high-level overview and lots more work needs to be done to provide feedback on individual villagers.

A bunch of gameplay additions were also included. For example, a proper Mortuary and Graveyard for the deceased villagers:



Higher road tiers have also been requested and are now available, including an easier upgrade (you can also just "build" over old roads and it will upgrade instead):



And let's not forget the permanent speed-up toggle (Tab can still be held to temporarily speed up or pressed to toggle):



Future plans

I believe that a balanced long-term expansion and a more realistic civilian needs system are the most needed goals. Currently towards the end, materials simply stockpile, food is a non-issue, and majority of villagers just stand idle, while happiness skyrockets. Villagers are perfectly happy with their houses being cramped together in a giant patch with the nearest tavern 50 tiles away while food magically teleports to support them. In other words, changes will be coming to address unreasonable village logistics and layouts as well as balance higher population needs and (non-existent) resource usage.

Full changelog

Changes
* Building output items are now in separate stacks by item type (no more clogged up outputs)
* Framerate capped to 120 by default
* Added VSync toggle option, disabled by default
* Add separate building inspection auxiliary building toggle (instead of Shift-click)
* Tree Nursery minor update
* Add unit breakdown by profession to population overview tooltip
* Added toggleable construction (and material delivery) task priority in building inspection
* Clearer construction material info in building inspection
* Construction progress bar in building inspection
* Add Mortuary and Graveyard to bury Villager Corpses
* Shift-building did not set production item causing crashes
* Shift-build allowed placing copies of unique buildings
* Hidden goal display would not show complete goals for claiming
* Glassblowing not unlocking Sand
* New game window tutorial dropdown showing "Yes" when locked
* UI scaling graphics option (auto by default)
* Add Mead
* Construction and deconstruction of buildings and roads can now be canceled/reversed at any time
* Buildings and roads return a portion of materials when deconstructing
* Add Stone Road and Brick Roads unlocked with Roads knowledge
* Add road upgrading to higher "tiers" (including directly building on top)
* Add permanent speed up toggle in HUD and short Tab press to toggle
* Add update summary window when loading an older save
* Remove "display locked features" option
* Various sprite tweaks

Fixes
* Wrong info in some tooltips
* Tutorial arrow stuck between worlds
* Auxiliary building disable toggle not working for non-built buildings
* A couple rare crashes related to items at buildings
* Invalid production item in buildings due to version conflict
* Crash when units start idling after a job too close to the edge of the world (mostly on small maps)
* Buildings not updating values between save versions and potentially corrupting saves
* Catch and remove phantom objects like already-chopped Trees persisting through saves
* Extra objects like flag persisting through transitions
* Music starting to play on entering game when disabled
* Framerate was capped to auto-enabled VSync
* Abrupt window background blinking, smoother window transitions
* Items believing they belong to a phantom building between saves
* Minor tooltip typos
* Forester not planting more than 1 Tree per tile
* Items getting dropped from buildings between saves
* Goal HUD broken for matching goals between worlds
* Remedy attempt for a few crash cases
* Villagers occupying building worker slots thinking they need to observe minimum carrier limit
* Minimum carrier check ignoring idle (i.e. available for delivery tasks) units
* Multiple tasks at once over-assigned over the unit limit
* A delivery task marked as work task
* Buildings that need all auxiliaries (like Beekeeper) allowing auxiliary toggle
* Building inspection auxiliary button clickable area outside expected bounds
* Hide objective display once complete
* Units forever idling when surrounded by blocked tiles (like buildings)
* Workers of similar clumped buildings with multiple auxiliaries (like Carding Mill) would get stuck not doing anything
* Some items ignored for certain uses between reloads
* Forester would not plant different Trees together
* Incorrect sprite lookup for some buildings between saves
* Confirmation window passing through input to windows below
* Buildings keeping incorrect disabled production list (and toggle not working) between saves
* Buildings not keeping items properly stocked, like the Brewery, between saves
* Building not accepting deliveries between saves
* Rare delivery task assignment hang/error with many items for competing tasks
* Toggling production on storage buildings like Warehouse could fulfill construction materials
* Buildings under construction could get stuck if the builder leaves
* Previously-built roads before their time reverted back to dirt roads
* Woodcutters chose closest tree to custom operating range center instead of the building itself
* Windmill sails not spinning

Optimization
* Reduce memory juggling in some hotspots

Rudy
Snowy Ash Games
MicroTown - Rudy (Snowy Ash Games)
I'm happy to announce that the early access version of MicroTown is now live!



It's been a really busy time getting the game to a playable state. There is still much to be done, so I'd like to hear your feedback on the Steam forums, Discord or otherwise.

Rudy
...