Version 0.5.0

<
>
March 8, 2023

Multi Cursor / Copy & Paste

It’s now possible to have more than one Structure as cursor.
Simply select multiple Structures and either press Ctrl+C or the new Copy Selected button.
You can now rotate or place your cursor’s Structures.
Some notes:

  • When removing selected Structures, they are now set as your cursor (basically the ‘cut’ operation)
  • Structures with Influence are always placed first to ensure other Structures are placed successfully
  • You can move the cursor Structures relatively to your cursor via Ctrl+WASD/ArrowKeys. This can be helpful when placing large patterns
  • When placing Structures it places ‘as much as possible’. If you e.g. have 50 Belt in your inventory and try to place 100 Belt it will place half of them (which ones it picks is pretty much undefined for the player)
    Same is true if other Structures or terrain are in the way

Turning Structures On And Off

It’s now possible to turn Structures on and off. They’ll stop operating and won’t consume or produce any energy.
There’s a new cursor and hotkey (O) to toggle a single Structure on and off. It’s also possible to turn selected Structures on or off.
Note that Structures that have an Influence can’t be turned off.
Below an image of turned off Structures and the new buttons:

Production Stats

I added a new view that shows your factory’s production stats of the last minute.
For now the production stats aren’t serialized. Due to that you have to wait for one minute after loading until the values displayed are up-to-date (‘Production of last minute since loading’).
In the future I might serialize the production stats and add historical charts.
The ‘Stats Overlay’ button was moved to the render settings, and I updated the icon to represent a bar chart.
Below an image of the new view:

Setting More Structure Limits

Version 0.4.0 introduced the ability to set an Item spawn limit for Sources.
This release now also makes it possible to set a limit for:

  • Launch Pad => If limit is reached, the ship is launched early
  • Sink => Won’t accept any more Items when limit reached (see more in Module improvements)
  • Chest => Won’t accept this Item if Chest already contains limit count of it
  • Provider => Won’t accept this Item if planet inventory already contains limit count of it
    This is very useful since you can now easily control production in your factory (e.g. “Only craft RT1 if there are 100 Belts available”)

Note that limits are considered ‘per item’ and not in ‘total’.

Module Improvements

There have been many improvements to the Module system in this release.

Belt Versions Of Source And Sink

I added new versions of Source and Sink that behave like Belts. With them it’s not required to use Arms anymore to feed Modules or to grab their output. You can just connect them to a system of Belts.
The new versions are called BeltLike while the previous ones are now called ChestLike.
Since the new versions are better, they’re locked behind a new technology and cost more than their less powerful variants.
Below an image of the old and new Source and Sink:

Rework Of Modularize Logic

Since it’s now possible to also set an Item limit for Sinks I changed the stop condition ‘all sinks having items’ to ‘all sinks reached their limit’.
In combination with the Source limit, you can now setup your Module to for example create exactly 10 Belt from 20 Iron Plate.

In previous versions the game would try to find the greatest common divisor for your Module‘s inputs, outputs and tick time and divide those values by it.
This does not happen anymore and instead you can now choose this value yourself via the new Modularize Divisor button.
By for example multiplying all limits by 10 and also setting the divisor to 10 you can greatly reduce the ‘lost time’ of your Module due to its warmup phase.
To prevent cheating, good values (output counts) are rounded down, while bad values (input counts, duration) are rounded up.
With the above changes you can now define Modules that waste no resources and run as quickly as possible.
Due to that I removed the ‘give back’ logic that was running during the Modularize step to prevent Item loss.

Unmodularize Rotated Modules

For the new multi cursor I had to implement rotation of a Structure group. Due to that, it’s now also possible to unmodularize rotated Modules.

New Structures Overflow And Underflow

This release contains the new Structures Overflow and Underflow.
They both behave similarly to Splitter but either prioritize the front for output (Overflow) or the sides (Underflow).
They are great for setting up priorities for certain parts of a factory.
I also added a new technology to unlock them.

Progress Instead Of Cooldown

I reworked the entire ‘cooldown system’ to now track a progress instead.
Some Structures still have a cooldown that defines how quickly they perform an action,
but their current state is now tracked as progress.
This should now be way less confusing than the previous system.

Burning / Smelting Rework

Previously Furnaces would simply convert 1 Coal + 1 Ore => 1 Plate, while Burner Power would generate energy for some time after accepting Coal.
I reworked this system to be more flexible:

  • An Item can now have a Thermal Energy that is released when burning it (Only Coal has it for now)
  • Ores now require a Smelt Energy to be turned into Plates (For now same value for all Ores and equal to Coal‘s thermal energy)
  • Burner Power and Furnace now have a Smelt Speed that defines how much of that energy they can use / convert per tick
  • Electric Furnace requires more Energy than its Smelt Speed. It has therefore a non-optimal energy efficiency

I also heavily nerfed the Electric Furnace by increasing its energy usage.
Note that above changes barely changed the behavior since I tweaked most values to yield the same results as before.
But now it’s possible to add more energy sources besides Coal and for example make some Ores way harder to smelt than others.

InfoBox Improvements

This release contains some improvements for the InfoBox:

  • Addition of more description texts in general
  • Improving existing texts regarding formatting and wording
  • Limit values are now shown in the InfoBox
  • All technologies are now described

The previous version introduced logic for the InfoBox such that it will only show when the cursor hasn’t moved for a while.
Some players didn’t like that change. I therefore added behavior modes for the InfoBox:

  • Smart the previous behavior, visible after cursor stop
  • Always visible whenever there’s any information present
  • Never never visible

You can change the behavior from the render settings or by pressing Tab.
In case of Never I added a warning when starting a game to make sure players don’t accidentally lose the InfoBox.

Burner Power Tiers

I added higher tiers for the Burner Power which convert energy faster.

Lab Changes

I changed Lab to only hold one of each Research Token. Due to that and the progress changes the Lab‘s behavior should now be more transparent.

Tech Tree

I added some logic to the tech tree’s layouting to reduce the length of dependency connections. It’s still not perfect, but better than before.

Minor Improvements

There have been additional, minor improvements:

  • If there’s a Belt at the cursor, it now also correctly uses the low-res version
  • The InfoBox icon was remade
  • I changed the default selection mode to Set and changed the order of modes when iterating them
  • The Starter influence range now matches that of 3 Influence Mk1
  • A Miner now always mines the resource right below it even if there’s a higher count of something else in its range

Balancing

I changed multiple recipes to not require the previous Mk. The changes follow this example:
FROM: Crossing Mk2 requires Crossing Mk1 and 2 Motor
TO: Crossing Mk2 requires 4 Belt Mk2 and 2 Motor
In addition to that I increased the cost of Provider.

Bugfixes

There have been some bugfixes in this release:

  • The cooldown / progress and other overlays are now rendered correctly for Long Arm
  • Times are now displayed correctly in case of a 0 value
  • Fix the description texts of selection modes

Multiplayer

Please note that multiplayer is HIGHLY experimental and might never make it into the release version of Factor Y. It’s possible that issues are found that just can’t be fixed, causing me to drop multiplayer entirely.
Also please don’t purchase Factor Y expecting multiplayer at some point. Consider it a singleplayer-only game.
This release only contains some multiplayer features so I can start with internal tests.
Many months ago I had a working server for Factor Y and stopped maintaining it. Previous to this release I got it to work again.
This release’s Factor Y client is now able to connect to a server, but the public release does not contain the server executable. For now I’ll be the only ‘host’ of games until things stabilized.
If you want to take part in multiplayer tests, please join the Discord. I might organize something there.