Global Tick Time Scale

by Zanthra

Change the UPS/FPS of Factorio without changing the game pace. Allows almost-normal gameplay at 120hz.

1 year, 10 months ago
0.15 - 1.1
4.00K
Owner:
Zanthra
Source:
https://github.com/Zanthra/GTTS
Homepage:
https://forums.factorio.com/viewtopic...
License:
MIT
Created:
6 years ago
Latest Version:
1.6.5 (1 year, 10 months ago)
Factorio version:
0.15 - 1.1
Downloaded by:
4.00K users

GTTS 1.6.0 2020-11-10

This mod changes all available prototype speeds and durations to effectively change the duration of one game tick. This allows players to speed up slow factories by increasing the ammount of time the game has to calculate the tick without haivng to delay the game, or allows the game to be played at higher framerates for players that have high refresh rate monitors.

Due to item locations on belts being quantized to 1/256 of a tile, accurate item movement on belts requires a UPS value of 480/x. Suggested UPS for belt accuracy are:

480, 240, 160, 120, 96, 80, 60, 48, 40, 32, 30, 24, 20, 19.2, 16, 15 and 12

The mod is somewhat limited in what it can change, so references to speeds or rates will be incorrect based on the ratio between the target UPS and the base 60 UPS. If for example a boiler lists it's energy consumption as 7.2 MW it effectively means that it will use 7.2 MJ in 60 ticks. At 30 UPS this will take 2 seconds in wall time, which matches with the normal rate of 3.6 MW at 60 UPS. Because all production and consumption rates are adjusted equally, everything balances out to work at the original Factorio ratios. Unfortunately train schedules are going to be incorrect as well, as they are again based on 1 second being equal to 60 ticks.

Some things in Factorio are tick sensitive. For example a inserter dropping a stack of items onto a transport belt cannot drop more than one item every tick. That means that if the belt moves further than the width of one item in that tick, the belt will not be fully compressed. This will certainly impact very fast modded belts like those in Bob's Mods. Conversely running the game at a higher UPS tends to reduce some of these problems, and in previous versions I have gotten full throughput into and out of Factorissimo buildings, and full compression on loaders even when using the fastest of Bob's Mods belts.

Factorio 0.17 removed the variable that adjusted fluid speeds, so the mod is unable to change those for the time being.

Some of the changes this mod makes are saved in the game file. By default this is limited to only the game speed, so a simple "/c game.speed = 1" command on the console can return the game speed of a modded save to the original 60 UPS. However you can also use the "Reset Game Speed" map specific option to immediately reset the game speed to 60 UPS, as well as disable any other save game stored adjustments like hand crafting speed before saving the game so that the mod can be disabled with minimal disruption.

In safe mode no runtime events are added, meaning the mod can make no changes beyond those made to prototypes when Factorio loads. Game Speed must be adjusted manually, along with any hand crafting speeds.

Commands to manually fix game speed or hand crafting speed:

/c game.speed = {target-ups} / 60
/c game.player.character.character_crafting_speed_modifier = 60 / {target-ups} - 1

Zanthra (zanthra+factoriogtts@gmail.com)

Factorio Mod Portal: https://mods.factorio.com/mods/Zanthra/GTTS
Factorio Forums: https://forums.factorio.com/viewtopic.php?f=144&t=50281