Modding Guidelines

Place to post guides, observations, things related to modding that are not mods themselves.
Post Reply
User avatar
y.petremann
Filter Inserter
Filter Inserter
Posts: 410
Joined: Mon Mar 17, 2014 4:24 pm
Contact:

Modding Guidelines

Post by y.petremann »

Disclamer
I know that all things in this thread is a personal view for now, don't complain about it but make it be a general point of view.

Introduction
This thread is to talk about general guidelines for modding, not a tutorial, but points that modders should follow to have good quality mods that are compatible with each other.

Main avantage of mods that follow these guidelines are that user would not remove them because they seems broken.

General
  • To package your mod, you need to have a zip (no 7z, rar, tar.gz or anything you could think) that have your mod name (see Mod filename rules for 0.10.7 and later) that contain a folder with the same name that contain your content (info.json, data.lua, control.lua ... )
  • For mods that need to upgrade something when updated, keep in control.lua the version number of the mod, send it throught initialisation in glob storage and finally at each load verify if the two versions number are the same, if not execute upgrade function
  • For upgrade function, try to keep maximum data, but it's better to cleanup everything than to keep a lot of junk if this not important, but it's better to keep a lot of junk if that really important (related to the actual game).
Interface
Mods have access to 3 places for interfaces :
  • Top : that a good place for buttons to access main mod interface.
    • Don't put too much buttons here for one mod
    • Put them in a container so they keep in the same group
    • Try to put a option to hide all off your buttons excluding your main button
  • Left : that a good place to put your mod interface
    • It should have tabs if it serve many purpose, Test Mode and Resource Monitor have basicaly them
    • It don't need any save button, close, minimize button, your main button should open your interface if not present and save it and close if present, same for tabs, going to another tabs should save it's content.
  • Center : that a good place for windows that need player atention
    • These windows should be easily closable (Submit/Cancel buttons)
Graphics
  • Try to have graphics that ressemble factorio (rusty but good standing machines, lot of details, simple and complex at the same time, good angle)
  • Try to have good quality graphics.
  • Try to have graphics that correspond to the machine, and else you have a good reason (update of an existing machine), don't pick again a machine, (ex: nuclear-power : a refinery is not a nuclear reactor ).
  • Try to update your graphcs with versions of factorio (ex: treefarm, very old school graphics).

Post Reply

Return to “Modding discussion”