1.0 Launch Date
I'll get the big news out of the way upfront - Factory Town is finally ready to graduate from Early Access as a full "1.0" release! Development & free updates will definitely continue after the launch, but I feel the essential gameplay systems are solid, the game is stable to run, and has enough content & replayability to earn the 1.0 label.
The official launch date is November 17th, 2021 (in about a month).
If you've been enjoying the game and all the updates, you can do me a huge favor by writing a review on the game's Steam page. Having recent reviews will help make the launch successful & bring new people into the game, which all supports more & bigger future updates.
Speaking of which, there's quite a few changes in this version:
Campaign map 8

The eighth and final campaign map is now available. The player starts with quite a bit of unlocked technology, a giant rail network, and a production facility for making OmniPipes - which are a powerful pipe transport system that can move *any* item through them, both above- and below-ground. However, there is still quite a bit of work to do - the player must develop lots of physical & magical production capabilities to unlock the last level of technology and complete construction of the OmniTemple. This final building requires expensive inputs, but rewards the player with research that can infinitely speed up production and transport.
Additionally, a new set of Achievements have been added that are earned by completing each of the campaign maps. They are awarded retroactively so there is no requirement to re-play campaigns you've already completed.
Worker Customization

The worker units are no longer identical clones. They are randomized with an array of skin tones, hair styles, hair colors, and shirt colors. You can select an individual worker and change these attributes at any time by clicking the 'Customize" button.
Computational Block Updates
The computational block system has been a bit of a 'black box' for quite awhile, and this updates aims to make them easier to use and also more flexible. At its heart, the computational blocks are a way to control the transport and production of goods using a series of logical and mathematical operators. They can be configured to interact with each other via signal messages, like a visual programming language.
But the behavior of each block was very obscured. Now, the player can view and select from a number of Output Functions and Message Types so they know when a block will trigger an output, and how it will affect the target block.
For example: There is a Timer block that can receive values from other blocks. You can choose if this input value will set the timer duration, toggle a 'repeat' option on the timer, start/stop the timer, set an internal value that will be delayed for the timer's duration, or to simply output its current value. The timer itself has two output functions: "Timer Completed" and "Timer State Changed". The first will only output the timer's internal value once the timer has fully elapsed. The second will output a 1 ("on") or 0 ("off") whenever the timer changes from running to stopped. You could use this second function to easily control the active state of a Grabber or open & close a railway gate.
It's still a complex system and is not required to complete the game, but for players who like extreme efficiency and intricate transport solutions, it should give them many more options and a smoother experience overall.
Here's a detailed list of changes to the Computational Block system:
- Can right-click on a computational block to choose the Output Function. This usually defaults to “Output”, which is sent whenever its primary value is modified. But for things like Agent Trigger you can specify if the output happens when an agent enters, or exits the block. Once an Output Function is chosen, then the player is able to select a target of the logic message with right-click.
- When choosing the target of a logic message, players can now choose between several Message Types. This changes the effect the message will have on the target block. For example you can set a timer duration, start the timer, tell the timer to delay a value by a certain amount, or specify which side of a math equation is being updated.
- Computation is now processed in one large batch instead of one update every frame
- New block: Inverter. Acts like the previous “Bool Function” of 'NOT'. Old Bool Function blocks configured as 'NOT' are migrated as Inverters
- Logic Pusher is renamed Trigger to more clearly reflect its role
- Can now Ctrl-click on Triggers to activate them, on Counters to increment, on Timers to start the timer, and on Number blocks to send their value on to linked blocks
- New Logic Connections panel that lets you delete, re-order, modify, and add logic links
- Inventory Sensor and Agent Trigger can be enabled and disabled manually or with logic message
- Counter has a Loop function that will act as a built-in modulo function if > 0. It can be set manually or with a “Set Loop Value” message.
- Timer has “Repeat” property that can be set manually or with “Set Repeat” message
- Computational Blocks now show list of available Actions / Triggers when you select it, allowing for manual activation
- Updated most Computational block icons
- Changes should be backwards compatible with most existing computational block setups
And the other changes in this update:
Balance Changes
- Removed Magic Conveyor Belt from OmniPipe required inputs
- OmniPipe recipe now consumes 2 Mana Pipes, but also outputs 2 OmniPipes. Omnistone input is kept at 1. This is to decrease the ratio of Omnistones needed per OmniPipe
- Increased Tech Level 10 OmniPipe requirement from 25 to 200
- “Collect Bonus” option on OmniTemples is now always on, and option to toggle it is removed. No additional bonus is granted when offering is complete, instead, the recipe just automatically cycles to another random set of items
- All MegaRecharger recipes' speed doubled
- Harvester Drill research now costs 1000 Industry Points and 1000 Red Coins instead of 2000 of each
- Health Potion is worth 20 Blue Coins instead of 5 Purple Coins
- Elixir is worth 40 Blue Coins instead of 32 Blue Coins
Misc Improvements
- Re-organized default Hotbars
- Entity Outlines are preloaded on logic structures and buildings to reduce lag when highlighting
- Removed excessive targeting arrows from all available Markets when placing Houses
- Town happiness is only recalculated once per second, to avoid rapid fluctuations in value
Bug Fixes
- Right-clicking on main menu could hide it, resulting in empty interface
- Typo in Omnistones pro tip
- Obsolete tooltips for rail cars said they required “Rail Stops”.
- Additional cases where resources could be placed inside structural blocks
- Global Hotbar was not saving state when updated via right-click ‘delete’ option or dragging from Build menu
- Antidote in Campaign 4 was listed under its own satisfaction category / item filter
- Tutorial instructed player to bring 2 wood to craft a plank, when it’s now 1 wood
- Tutorial would replay ‘tutorial step complete’ sound effect if player kept repeating the completion condition
- Fixed inconsistent linking of pipe connectors between underground & overworld layers
- Fixed excessive delay for pipe items transferring between underground & overworld layers via connectors
- ‘Nothing’ item filter now works on units that are not carrying anything
- Fixed flickering that would occur on the entity status panel when the selected entity’s inventory changed
- Fixed performance issue when targeting Markets while the game is unpaused
- Fixed Inconsistent item output order when multiple pipe & output types (especially mana) existed on the same building
- Advanced Medicine would automatically be completed if you loaded a map with Intermediate Medicine completed
- Fixed null references when trying to place Steam Engine over water tiles
- Fixed production output inventory counts not updating when displayed as a grid
- Fixed selection of advanced filter (e.g. ‘Only Allow Packed’) appending to existing filters even if shift button not held down
- Fixed double-click on Grabber only intermittently opening the filter panel on large maps, due to delay of drawing logic target outlines
- Fixed text overlapping on Omnitemple construction progress panel
- Fixed ‘Packed only’ / ‘Unpacked only’ sprites showing up as blank squares in grid-based inventory like Train Stations
- Fixed ‘Packed only’ / ‘Unpacked only’ filters appearing as the regular item if slot was empty
- Fixed ‘Packed only’ / ‘Unpacked only’ filters overriding the actual slot item if it didn’t match the filter
- Fixed Package Filter remaining active when changing a filter via single-click on a regular item
- Fixed non-localized text when OmniTemple is ready for bonus to be collected
- Goods Supply and House Supply panels would show in a non-scrollable state if you first hovered over status icons, hovered out, then opened the menus by other means
- Fixed Elixir not being sellable in Campaign 4
- Fixed ‘Goods’ panel showing stale data when changing maps
Changed files in this update