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 #22 - Leather update

This smaller update (but part or a larger direction) adds Leather item to the game and the production chains leading up to it; plus various changes.

[h2]Leather[/h2]

I decided to make Leather production fairly involved with multiple production chains using all the different production mechanics - growing, harvesting, animals, crafting buildings, mining. Essentially, Leather is a high value item used for high value purposes and I wanted to represent that by having diverse and significant production requirements. (There aren't any final products yet except Codices (which are not balanced yet), but this should lay the foundation for the "next tier" items. Though I decided to publish the update before I get further carried away with changes.)

Quarries can now build a Lime Mine, which produces Lime:



Arborists can now grow Wattle tree saplings and Foresters will plant them. These don't spawn/grow naturally and need to be grown from saplings.



Wattle trees do not produce Logs, but instead Bark. These are also collected by Lumberjacks like other trees.



Bark is used in Bark Mill to produce Tannin:



The Butcher building now comes with an Abattoir and a Table required auxiliary buildings, where animals are... processed. In addition to Meat, Butcher will now also harvest Hides from Pigs once Leatherworking is unlocked.



Animals brought to the Butcher now actually hang around the building as "real" units instead of magically disappearing into it as virtual items. The worker will actually fetch the individual animal and lead it to the Abattoir. I felt it was an important part of my "every item is real" design principle that I neglected with animal transfers (mostly due to implementation complexity).



An optional Butcher's Pen can be constructed to keep the animals within certain tiles instead of wandering randomly:



This also means that animals can now die of old age if they aren't... processed fast enough by the Butcher.

In addition to Butcher, Hunter can now also skin and harvest Hides from Boars and Deer:



Similar to Butcher, Hunter now also produces Meat and Hides:



Animals will now be double-harvested - first for Meat and second their Carcasses for Hides. Before Leatherworking is unlocked, the Hunters will just leave the Carcass.



All (wild) animal (carcasses) now leave bones behind:



This adds a little bit of extra visual variety (instead of dead animals disappearing instantly):



Tannin, Lime and Hides are then taken to the Tannery building, which processes them through a Hide-preparation Bench, Liming Vat (using Lime) and Tanning Pit (using Tannin). This produces Leather.



Leather is currently used by Currier to produce Book Covers:



Bookbinder now requires Book Covers in addition to Paper to produce Empty Books:



For now, there aren't any major changes to knowledge gathering and technologies. Some techs have moved around and adjusted requirements. I have also adjusted the details and buildings in preparation of making separate technology tiers.

Notably, Scholars will now always produce Research Notes without requiring Paper and the Library is available from the start, where these Notes must be taken to get the Knowledge points.



The Scribe will continue using Paper, but will make Research Scrolls instead. These are also taken to the Library.



Finally, The Bookbinder works similarly to before, producing the Research Codices:



These changes serve to establish a common design language of a Library serving as the central location to "deposit knowledge" of different quality (tiers).



In the future, I will add additional tech tiers and unique knowledge type(s) that requires Scrolls/Codices for higher tiers. This would then make sense for Leather to be this expensive and involved to produce. Currently, Scholars are more than sufficient to produce all the knowledge you need to unlock all the techs. But I have to limit the scope of these updates or I'll never publish any at all! So for now Leather and Knowledge are not balanced. Notes and Codices will simply produce more knowledge - 2 and 3 respectively.

[h2]Accessible buttons[/h2]

One thing (that I should have done from the start) is making sure all buttons have a visually-distinct and consistent appearance when pressed. And to account for color blindness, this cannot be simply a change in hue (in fact my beige + green UI choice is the worst possible one for most common color blindness types).

Here is the setup for a "normal" UI button:



Now, I don't use every possible combination of color and state and element, but there are a lot of them. I tried to keep everything modular and only use what I need. But this has nevertheless created a lot of individual pieces to maintain, which is one the reasons for taking a long time to adjust.



I should reflect that doing such a change after so much of UI is already implemented and wired is really tedious. I basically have to adjust every single button and interactable control in-game. Some never had a "pressed" version, others mixed them up, others have conflicting states, etc. This is the sort of thing I should have done from the beginning and really planned how all UI elements would have clear states, and then never deviate from that in any particular UI part.

[h2]Drag-building roads[/h2]

I also finally added dragging to build multiple roads (in an earlier mini-update).



The most tricky part of this was choosing which way to angle the road. There are almost always 2 symmetric layouts that a road can be drawn between two tiles. For this I had to decide where the player most likely intended the road, based on the mouse movement up to that point:



In short, when dragging a road I keep track of every coordinate the player "visits". But I only keep one coordinate for every distance from the mouse. I then calculate how "far" the player's movement is from either of the two variants and pick the one that is "closer".

This is much easier said than done, especially if you consider that you could be moving the mouse around a lot in all directions, passing the same point repeatedly, "rewinding" back, extending, dragging so fast tiles are skipped, changing your mind, etc. It basically ended up with me just playtesting until I couldn't really make it any better. The real difficulty was testing it and fixing all the corner cases.

I suppose I could have done this ages ago. But, like I suspected, this one feature took me a full week to implement. If I had to do this feature by itself, it would probably take an afternoon. But within the game as it is, it has to be integrated with all the other systems - camera, input, controls, rendering, selection, construction, etc. And that's always very tricky and finicky, especially for something like this that breaks half the systems when they only expect one click and one action.

I realize that I still haven't added multiple building drag-building. But this is a slightly different problem because it is an area-based operation and the actual area you would want to fill is kind of context-based. In fact, I need two operations (with a modified key, probably) - "circle" and "rectangle". I'm sure there are other things I'm not even thinking of yet.

[h2]Miscellaneous[/h2]

Houses now have random chimney smoke. But only if they have Firewood available.



I'm sure this ranks really high-up on the important feature list. :)

But, in seriousness, I made the Houses 7-tile buildings so that I can show visual feedback as the result of the player supplying them with all the items. This is important feedback that directly correlates to player's actions, in this case long-term supply. Furthermore, stuff like there being more chimney smoke during winter and less during summer is not something most people would immediately consciously notice, but I believe that it is an extremely positive overall experience when the player notices and experiences one of the rare moments like "wow, the game actually considers the current season for smoke amount".

Selected buildings (technically, only Butcher for now) will now also have marker sprites for animals (and their carriers):



I didn't manage to add this before, because internally animals are units, which are not items. I mean, it sounds obvious, but that means all the code I have for item delivery markers needs a similar copy for animals/units. I do want to add more production involving animals in the future, so leading animals as inputs/outputs would be the kind of feedback I need markers for to be consistent. (There are other places like this - Pigs don't appear in item report and there's no designated Animal report window. So, technically, you cannot currently track your Pig production/usage.)

You can now toggle newly-placed building worker slots between one and all filled - this menu shows up when placing a building with worker slots:



[h2]Future plans[/h2]

First of all, apologies for the slow updates. The real-life has gotten in the way and I had very little opportunity to work on the game.

My immediate next concrete feature is likely the technology tiers. I don't have an exact idea of how it will work, but I have some probable solutions. As always, I suspect it will turn out more complex than I am thinking. The main goal is to make knowledge gathering more involved and less "rushable". And I just generally like the idea of multiple "science items" all needed together for late-game techs. And everything needs to be balanced.

I have some ideas for Leather as well - namely, Work Clothes for residences (along with regular linen and warm wool clothes). There are a lot of things that logically follow leather availability. I might make a mini update for this and some other residence tweaks. And now that I have animal "harvesting", I also want to add Fur and Luxury Clothes of some sort, plus something to do with birds. Although this is getting dangerously close to needing residence levels and upgrades...

The level generator has really taken the backseat for a while now. I still really want and need to finish it, so I can add some unique biomes and locations to the map that I cannot do right now due the technical limitations of randomly generating the world in a certain way. But it also has the hardest part left - the step where level generator output is converted to gameplay tiles. There is no lack of annoying technicalities to solve for this.

As always, I have a long list of ideas and changes both my own and from the community. As usually happens, I'll try to pick some more requested and/or desired feature(s) to implement in parallel. Of course, I'm always happy to hear out ideas and requests.

[h2]Full changelog[/h2]

Changes

Add Leather item
Add Leatherworking technology (requires Woolworking, Quarrying, Forestry and Hunting)
Add Hide item
Butcher now has Abattoir and Butcher's Table auxiliary buildings
Animals delivered to Butcher now wait at the building instead of "disappearing" as inputs
Butcher now produces Meat and Hide from Pigs
Butcher will now properly list Pigs as "inputs" with tooltip info similar to items
Butcher can build optional Butcher's Pen auxiliaries for animals to wait at
Add Carcass props for hunted animals - Deer Carcass, Boar Carcass, Wolf Carcass and Wolf Carcass
Hunter's Lodge will now leave behind animal Carcasses after skinning an animal
Hunter's Lodge will now collect Deer Carcasses and Boar Carcasses for Hides once Leatherworking is unlocked
When wild Animal corpses decay or Carcasses decay or are harvested, they will leave behind Bones (that will also decay eventually)
Add Bark item
Add new Tree species Wattle grown from Wattle Saplings and harvested for Bark (instead of Logs
Lumberjack can now toggle Log and Bark production
Add Tannin item
Add Bark Mill building with Bark Roller that crafts Bark into Tannin
Add Lime item
Add Lime Mine to Quarry for Lime mining
Add Tannery building with Tanner's Bench, Liming Vat and Tanning Pit that crafts Hide, Lime and Tannin into Leather
Add Book Cover item
Add Currier building with Leatherworking Table that can craft Leather into Book Cover
Bookbinding now also requires Leatherworking
Bookbinder now has a Bookbinding Table auxiliary building
Bookbinder now requires Book Cover in addition to Paper to make a Blank Book
Rename "Notes" to "Research Notes"
Rename "Codex" to "Research Codex"
Rename "Scholar" to "Observer" (and reuse the name "Scholar" for more advanced building)
Observer building no longer requires Paper to produce Research Notes
Observer building no longer directly produced Knowledge, but requires produced Research Notes to be taken to the Library
Library is now unlocked by Research from the start
Tutorial now includes Library construction
Add Research Scrolls item
Research Scroll is using visuals from former Notes, and Research Notes has new visual
Add Research Scroll item
Scribe building now takes Paper and crafts Research Scrolls (instead of Research Codices
Add new building Scholar and Scholar's Desk that now uses Blank Books to make Research Codices
Library building now accepts Research Notes, Research Scrolls, and Research Codices
Reorganize the tech tree for the new technology dependencies
Papermaking now requires Research (already unlocked at start)
Bookbinding no longer requires Research (since the required Papermaking is based on it now)
Add worker slot pre-fill toggle buttons for the construction tab/menu - a choice between default one slot or all slots filled when building
Houses will now randomly have chimney smoke when they have Firewood (more in Winter, less in Summer)
Make tech tree line intersections and splits clearer for certain ambiguous cases
Add Markers for animals being led (currently Pigs to Butcher)
Roads can now be placed by dragging (default right-click); dragging will show preview and construction availability for each tile; placing will succeed even with some tiles being blocked; dragging will also upgrade roads; dragging can be cancelled with opposite mouse button (default left-click)
Add more frame cap limit options
Diet need Sentiment tooltip for buildings will now show the underlying values
Improve descriptions for Food Quality and Food Variety
Import Stations and Export Stations tooltips will now mention that number of items types/stack and per-stack capacity

Fixes

Smith being unlocked too early by Smelting when there are no items that can be crafted yet
Rare tutorial processing exception when loading an older save that redeploys a building while tutorials are active
Fix internal exception when zooming while drag-building roads
Fix UI windows (notably, tech panel) not sizing correctly to fit on the screen
Saves would not load if there were old Quarries/Mines with disabled production
Multiple items from the same Food Category not contributing correct Food Variety values
Pickles not being included in Residence total food reserve count and thus some calculated values
Diet need requiring too much Food Variety (technically achievable, but unintentionally strict)
Some infolines not showing correctly
Minor infoline fixes
Fix error when toggling sale or export items while the building is under construction causing material items to be "reset" and cause subsequent internal errors
Fix Boardwalks not buildable on Excavated Rocks
Smith unlocking before Forge, which has nothing to craft by default
Pickling-related building not being observable by Scholar
Loading older saves could result in broken Forges, because they now require production item selection
In rare cases, changing production or selling items would break item internal state
Deposits would rarely not generate the correct amount
Fix rare bug with older saves failing if the tutorial is active and some relevant building needs to be reset
Fix rare potential exception when leaving the game world with non-default input mode (e.g. constructing)
Rare internal error when a building or road with active Markers is removed and markers potentially recreated for invalid entities
Add missing UI step for Glass Kiln
Fix internal corrupted state for a case where a building is finishing de/construction, but an item that needs relocation appears on it (such as being dropped or unit dying and leaving a corpse), thus triggering item relocation which fails as the building is completed or removed
Fix a rare case of building Markers causing an internal error when a unit performing some delivery to/from it dies
Fix a very rare case where just-selected Import Stations and Export Stations would cause a game save to fail
Fix Export Station route tooltip showing incorrect (inverted) list of items selected for shipping

Balancing

For now, Research Scrolls will provide 2 points of Knowledge and Research Codices will provide 3 points
Adjust some tech costs
Villagers will no longer die from consuming food items directly from storage without having a Residence early in the game
Stone Deposit now provides twice the amount of harvests, i.e. 6 to 12
Non-food Reserves will now last roughly 50% longer
Change Cheese quality to 2 up from 1 to make it easier to get the bonus of 2 without Pickles

Optimizations

Rendering updated sprites (especially when there are a lot) is slightly faster
Reduce lagspike when updating changes to a large amount of sprites, such as when tile construction validation appears/disappears
Reduce lagspike when showing a large number of similar sprites, such as toggling between tile construction validations
Reduce sprite visibility change slowdown when scrolling and zooming when there are a lot of sprites

Rudy
Snowy Ash Games


[ 2023-06-12 20:32:52 CET ] [ Original post ]