Skip to content

Files

Latest commit

author
Pablo Bollansee
Dec 13, 2024
603174a · Dec 13, 2024

History

History
109 lines (89 loc) · 5.15 KB

README.md

File metadata and controls

109 lines (89 loc) · 5.15 KB

FactorioWorld

A mod for factorio that changes the map into a real-world map.

Note that it only changes the terrain, and not the spawning of resources.

Download

You can get this mod here: https://mods.factorio.com/mods/TheOddler/factorio-world

Usage

  • Start a new game
  • Choose your settings (more info below)
  • Map and terrain are generated from a map of Earth!

Settings

Use the in-game mod settings to set:

  • Map scaling factor: Can be anything between 0.01 and infinite (factors of 6 work well)
  • Spawn:
    • Pick a location to start, or set to custom
    • When set to custom, it'll use the custom spawn x and y coordinates
  • Repeat map: If set to false everything after the first iteration will become water
  • Use large map: If set to true the mod will use a more detailed map
    • This will use about 4 times the memory
  • Safe zone size: All water within this zone will be turned into dirt

Available Spawn locations

This is a list of the regions and cities (found in spawns.lua):

Continent Country/Region City
Europe Belgium My home town
Africa Algeria Oran
Africa Chad Mongo
Africa Congo Katanga
Africa Egypt Cairo
Africa Equatorial Guinea Ebebiyin
Africa Mali Bamako
Africa Morocco Marrakech
Africa Senegal Dakar
Africa South Africa Johannesburg
Asia China Baoshan
Asia China Beijing
Asia China Kunming
Asia Georgia Tbilisi
Asia India Delhi
Asia Mongolia Moron
Asia Russia Aktobe
Asia Russia Anadyr
Asia Russia Bilibino
Asia Russia Omsk
Asia Russia Yakutsk
Asia Saudi Arabia Riyadh
Europe Czech Republic Prague
Europe Norway Oslo
Europe Russia Moscow
Europe Russia Pechora
Europe Spain Madrid
Europe UK London
North America Canada Brisay
North America Canada Kapuskasing
North America Canada Saskatoon
North America Greenland Summit Camp
North America Mexico Mexico City
North America United States Boise
North America United States Los Angeles
North America United States New York
North America United States Nome
North America United States Scranton
North America United States Topeka
North America United States Ungalik
Oceania Australia Broome
Oceania Australia Sydney
South America Argentina Cordoba
South America Brazil Manaus
South America Brazil Sao Paulo
South America Peru Lima

Generating your own maps

The mod reads lua files generated by a converter writen in Python. These files are generated based on an image. Currently I'm using the "Natural Earth II with Shaded Relief, Water, and Drainages" image from Natural Earth.

The generator simply iterates over each pixel, and assigns a tile-type to it. The algorithm uses reference colors, and checks which one is closer to encode the types. To compress the data a little I use a scheme where every tile-letter is followed by how many tiles there are of this type of that row. The mod then takes these strings (one for each line of pixels), decompresses it to something it can read very quickly, and assigns the tiles a new type when a chunk is generated.

Require Python libraries

  • Pillow - for processing the images: pip install Pillow
  • tqdm - for fast loading bars: pip install tqdm

Usage

To generate a new lua file and load in into your game you'll have to do a little manual labour:

  1. In convert.py change the settings at the top of the file
    • image_file: the name of the image to use (to be placed next to the convert.py file)
    • resize_width: the size you want the final map to be (can be set to None if you just want the same size as the provided image)
    • terrain_codes: set which colours are what terrains !!DANGER!! If you change these, you'll have to update the terrain_codes in control.lua as well
  2. Run convert.py
  3. Copy the created lua files (World_large.lua and World_small.lua) into the mod's root folder
  4. Run the game and start a new game