SANDBOX — this is a test environment. No servers are actually deployed and no real payments are charged.
Back to NxLabs

NxLabs / Factorio

Screenshot Toolkit

ABy Anders142536

* Snipping: Screenshots a selected area, similar to programs like the Windows Snipping Tool or Flameshot. * Timelapse: Automatically does screenshots of the whole base in set minute intervals. Written to be performance friendly. Aims to be your do-it-all toolkit for screenshots.

Screenshot Toolkit

Description

ko-fi img

Screenshot any area perfectly snapped to the tile edges! Simply press the img *Area Select* button and define an area with *LMB* and *RMB*. The screenshots will have the exact resolution of the game tiles, and are not impacted by how far you scroll out with your player camera.

The resolution is currently limited to 16385x16385 pixels, as this is the hardcoded limit by the game.

The given filesize estimate is a rough upper limit based on personal experiments.

img
img

Shortcuts

  • SHIFT + ALT + S (Select, Screenshot)

Gives you the selection tool. If you already have the selection tool, then a screenshot of the selected area is taken. If you instead just want to get rid of the selection tool press the vanilla keybind Q

  • SHIFT + ALT + D (Delete)

Delete the current area selection

This allows for a very nice workflow: SHIFT + ALT + S: you receive the selection tool LEFT/RIGHT MBT : you select the area to your hearts content SHIFT + ALT + S: you do the screenshot. the selection tool is taken from you. SHIFT + ALT + D: you delete the area you just selected if you want to remove it again.

img
img

The whole base is screenshotted until an unreasonably big base size is reached (see FAQ). This feature is tailored for timelapse-videos. To minimize the performance impact the whole screenshot is dynamically split into several smaller screenshots, each taken one after the other, one per tick. This results in a time difference between the first fragment and the last fragment that can be many seconds, but in a timelapse this will not be noticeable. I offer my stitcher program to stitch those fragments back together, which is a part of this mod.

You can, of course, avoid the splitting by simply selecting the "Single tick Screenshots" checkbox. This will take a single screenshot of the whole base instead, but the performance *will* be impacted a lot more, possibly even causing several second long freeze frames or breaking multiplayer.

img
img

The GUI shows the current status of the auto screenshots, the currently screenshotted surface as well all the necessary controls. You will see either a progress bar displaying the progress of the current screenshot or a timer until the next screenshot will be taken.

Settings

  • *Enable debug?*

Will make the logging more verbose. If you run into issues I will have an easier time understanding the issue with logs having this enabled.

Merging the fragmented images

If you are separating your screenshots over several ticks by disabling the Single Screenshot option (which I heavily recommend) the mod will take hundreds, if not thousands of fragmented screenshots instead of just one big screenshot. Stitching those back together manually is unthinkable. Fortunatly, others and I wrote programs to automate this process for you! Please pick the program you prefer below.

imageStitcher

Download: https://github.com/Anders142536/imageStitcher UI: no Language: Java Author: Anders142536

This is my command-line only Java program with heavy focus on performance. Also, there is a higher change Java is already installed on Windows devices than Python.

FactorioImageStitcher

Download: https://github.com/NathanaelMangold/FactorioImageStitcher UI: no Language: Python Author: NathanaelMangold

Kindly provided by NathanelMangold, this is an alternative written in python. Python should be preinstalled on most Linux devices.

img
img

You can find the screenshots in the factorio folder under factorio/script-output/screenshots/(your save seed)/

There are subfolders the different kinds of screenshots you might have made.

You can find your factorio folder here: *Windows:* %APPDATA%/Roaming/Factorio (If you don't know what that means please google "AppData Folder windows", there are good guides) *Linux:* ~/.factorio (You have to activate hidden folders to see it)

img
img

Factorios engine does not allow for asynchronous screenshotting, meaning the game engine is *either* calculating your game *or* doing a screenshots. Furthermore it is not possible to do screenshots for two players at the same time, so screenshots for different players need to be queued. This causes quite some isues for the simple task of screenshotting your whole base. Factorios engine runs at 60 *update ticks per second* or 60 UPS. This means everything that happens in 1/60th of a second has to be calculated before a new image can be rendered for your screen. When you are playing the game the engine only touches the very necessary entities in the map that are required to render the next state of the game to render an image in, so a huge amount of entities can be ignored during that calculation. Basically, all entities whose state is about to change (visual state, logical state, etc.) or that are displayed on your screen are touched. When doing a screenshot of your whole base, however, *everything* is "on your screen", so the game has to touch every single one of them. This takes time, a lot actually.

While you will discover further below that you can set the mod to d

Ratings & reviews

No ratings yet

Sign in to leave a rating or comment.