Recently, I have been playing Factorio again after a long break. A lot of new things added and a lot of improvements, but also a number of things removed and bugs existing for years classified as minor and never fixed. Luckily, there is a modding API that I have been experimenting with recently. You can see my Lua efforts in my GitHub.
My focus was solely on “quality of life” mods aimed at a long gameplay.
Zoom Presets that I have later replaced with Zooming Reinvented that improves zooming functionality. Last year the zooming in/out was made much less sensitive and non-configurable (which was the main reason I stopped playing the game). An action that could be done with a single finger move, now requires four. Zooming Reinvented tries to override the mouse wheel sensitivity, however it’s not entirely doable due to the limitations in the modding API.
Ghost in Hand tries to do what “Pick ghost item if no items are available” setting does not. Unfortunately, this annoying behaviour was considered to “work as intended”.
Tag To Teleport could be called a cheating mod. It’s not entirely mine as I have expanded what another modder started. The issue is that after 50 hours on a single map, the game becomes more of an RTS. However, the feature of interacting with the world from the map has been taken out. This mod adds an easy teleportation option as a workaround.
Quick Deconstruct allows to mark the selected object for deconstruction with a single key stroke. In vanilla game it requires to click a button and draw a rectangle to mark all objects within the area for deconstruction. The mod is so small that GitHub says that it is primarily done in Shell, because the installation script I wrote is bigger than all the Lua code.
Overall it was an interesting experience to add extra functionality to the game I play. The most difficult part was the manual testing. Although sending actions to the game is something that can be easily automated, observing the game’s behaviour and asserting on it is far more difficult.