uFactory DevLog: 6 December 2020
Hi everyone! Working fast and furious to try to get everything in for the next version. We assure you it will be appropriately huge, at least in the context of indie game updates. Anyway, here's a few examples of what we've been working on:
[h3]Simulation Core Rebuild[/h3]
We've been a bit quiet about this part, but it's an important part of the future of uFactory. In versions of uFactory up to this point, each machine operated whenever it wanted, and often, the machines' operations were dependent on their animations. For very complicated game-developery reasons, this made it very difficult to simulate the game at high speeds.
So, we've made the change to a rhythm-based approach. Each machine will have its own rhythm; a length of cycle that's a power of two. This allows them to work in glorious synchronization with each other. Not only does this add some order (especially to the audio) of chaotic larger factories, but it reduces the simulation steps down from 30 to just 8 with no visible loss of quality (animations still run as fast and smooth as your system can render them). This gives us a 73% reduction in computation overhead for the simulation and allows us to speed up time much faster than before, especially when not rendering the factory. This also means uFactory should run much better on older rigs after the update, and big factories won't have nearly the performance penalty they used to.
There's another really big benefit to this more rhythmic approach to factory simulation, but that's a story for another day.
[h3]Manual Rework[/h3]
The hand-drawn manual added a lot of charm to the game, but as our production trees grew and processes were tweaked to improve their parallels to real manufacturing processes and fix game balance, keeping the manual up-to-date was proving to be very challenging. Moreover, many of the detail pages for the machines and resources didn't even have all that much useful information on them.
So, the old notebook-style manual has been scrapped and replaced. uFactory is joining the 21st century with a tablet manual!

This manual draws a great deal of its information dynamically from the definitions of the materials and machines themselves, so it can provide you with considerably more in-depth details about exactly how efficient they are, what processes they're used in, what materials they need, etc.

Each material will have its own page showing every machine it can be an ingredient for, every manufacturing process it is a part of, and everything that can produce it, both in the factory and on the campaign map.

For items that need assembly, the manual page will also now clearly show the steps necessary for assembly, and which machine is needed to accomplish that step:

[h3]Flow Resource Piping[/h3]
Flowing resources (gas & liquid) in vents and pipes have been a bit buggy ever since they were introduced to the game. Fluid simulations have proven difficult for computers for some time, and balancing flows of hundreds or thousands of tiles 30 times per second without overloading the processor proved difficult. Some of the solutions to this problem, namely trying to divide the pipes into segments and junctions and balance those, simply didn't ever work properly, leading to bugs where some small 1 or 2 length pipes would never accept anything because they were essentially orphan junctions even though they should have been connected.
So, we scrapped the old system. With the new simulation time management detailed above, we had a bit more wiggle room to use a straight-tile-based approach. This has some knock-on effects: (1) distance matters a lot more than number of junctions now, (2) we can show density as a gradient in the pipe fill indicators, and (3) there's no more empty-looking junctions where flowing resources get locked up or just don't appear even when they are flowing.

Anyway, we have lots more planned, and we're still hoping to have this ready for you by the end of the month, but we can't make any promises just yet.
We'll have more info for you soon enough!
Thanks for playing uFactory and sticking with us through this development process!
[h3]Simulation Core Rebuild[/h3]
We've been a bit quiet about this part, but it's an important part of the future of uFactory. In versions of uFactory up to this point, each machine operated whenever it wanted, and often, the machines' operations were dependent on their animations. For very complicated game-developery reasons, this made it very difficult to simulate the game at high speeds.
So, we've made the change to a rhythm-based approach. Each machine will have its own rhythm; a length of cycle that's a power of two. This allows them to work in glorious synchronization with each other. Not only does this add some order (especially to the audio) of chaotic larger factories, but it reduces the simulation steps down from 30 to just 8 with no visible loss of quality (animations still run as fast and smooth as your system can render them). This gives us a 73% reduction in computation overhead for the simulation and allows us to speed up time much faster than before, especially when not rendering the factory. This also means uFactory should run much better on older rigs after the update, and big factories won't have nearly the performance penalty they used to.
There's another really big benefit to this more rhythmic approach to factory simulation, but that's a story for another day.
[h3]Manual Rework[/h3]
The hand-drawn manual added a lot of charm to the game, but as our production trees grew and processes were tweaked to improve their parallels to real manufacturing processes and fix game balance, keeping the manual up-to-date was proving to be very challenging. Moreover, many of the detail pages for the machines and resources didn't even have all that much useful information on them.
So, the old notebook-style manual has been scrapped and replaced. uFactory is joining the 21st century with a tablet manual!

This manual draws a great deal of its information dynamically from the definitions of the materials and machines themselves, so it can provide you with considerably more in-depth details about exactly how efficient they are, what processes they're used in, what materials they need, etc.

Each material will have its own page showing every machine it can be an ingredient for, every manufacturing process it is a part of, and everything that can produce it, both in the factory and on the campaign map.

For items that need assembly, the manual page will also now clearly show the steps necessary for assembly, and which machine is needed to accomplish that step:

[h3]Flow Resource Piping[/h3]
Flowing resources (gas & liquid) in vents and pipes have been a bit buggy ever since they were introduced to the game. Fluid simulations have proven difficult for computers for some time, and balancing flows of hundreds or thousands of tiles 30 times per second without overloading the processor proved difficult. Some of the solutions to this problem, namely trying to divide the pipes into segments and junctions and balance those, simply didn't ever work properly, leading to bugs where some small 1 or 2 length pipes would never accept anything because they were essentially orphan junctions even though they should have been connected.
So, we scrapped the old system. With the new simulation time management detailed above, we had a bit more wiggle room to use a straight-tile-based approach. This has some knock-on effects: (1) distance matters a lot more than number of junctions now, (2) we can show density as a gradient in the pipe fill indicators, and (3) there's no more empty-looking junctions where flowing resources get locked up or just don't appear even when they are flowing.

Anyway, we have lots more planned, and we're still hoping to have this ready for you by the end of the month, but we can't make any promises just yet.
We'll have more info for you soon enough!
Thanks for playing uFactory and sticking with us through this development process!