Factorio is a base building management game that encourages the player to create a sprawling factory that automates many crafting functions. The player has to keep track of many different events going on at any time. The game has inspired me to try to make modifications that either add to the game, or modify existing elements to make them more enjoyable. The modifications for the game run in LUA.
Avatars
The purpose of the modification is to add remote controllable robots to the game that the player can take over. The modification has to carefully keep track of several different entities in the game at any time, and make sure to be able to swap the player back to their original character, because the base game does not normally allow for this kind of functionality. Also, a custom GUI had to be made for the player to be able to view a list of, rename, and control avatars.
Placement Chest
This modification allows the player to make a special item in the game, that will automatically place other items at specific intervals. With the creations of this modification, I had to figure out how a certain item in the game (a blueprint) stored its information. I had to retrieve this data and place it with the chest item, because normally the game only supports the player trying to place a blueprint.
Powered Entities
This modification checks when the player places a machine, and creates a power pole directly under the machine, allowing the player to skip the creation and use of the power poles manually. Making this modification was fairly simple, it was a good start to learning LUA and how to properly interact with the modification interfaces built into the game.