Standardize setup instructions
We should make installation and setup as seamless as possible to facilitate the growth of the FLE community. I've already attempted to address some of the process (environment container management) in #193 . But before setting that up there are other steps which could be better standardized.
One source of ambiguity which could be resolved is whether to use the steam or factorio.com version of the game client. I'm using the factorio.com version and it worked without any issues. I think using factorio.com should be the standard approach since steam has its own state and update cycle and it's unclear how that will interact with the docker images built in the repo.
For postgres I also had to run a command similar to the one in the README for sqlite. Unclear if others had to do something similar. This is what I ran in my Postgres factorio db:
CREATE TABLE programs (
id SERIAL PRIMARY KEY,
code TEXT NOT NULL,
value REAL DEFAULT 0.0,
visits INTEGER DEFAULT 0,
parent_id INTEGER,
state_json TEXT,
conversation_json TEXT NOT NULL,
completion_token_usage INTEGER,
prompt_token_usage INTEGER,
token_usage INTEGER,
response TEXT,
holdout_value REAL,
raw_reward REAL,
version INTEGER DEFAULT 1,
version_description TEXT DEFAULT '',
model TEXT DEFAULT 'gpt-4o',
meta TEXT,
achievements_json TEXT,
instance INTEGER DEFAULT -1,
depth REAL DEFAULT 0.0,
advantage REAL DEFAULT 0.0,
ticks INTEGER DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
This is all I have in my notes for installation hiccups. Please add your own notes to the thread, especially if there are unresolved issues! We can consolidate findings into another PR.
Another question to address is in the docker file where somebody using a silicon Mac would need to replace ARM with AMD, if I'm not mistaken.
This file is what I'm referring to.
Good catch. I think when I got started I casually changed it and didn't bother committing it.
We can close this once we update the readme post-restructure. @JackHopkins do we want to keep the updates section of the readme in our next release?
## Updates
- [08/5/2025] [Blog](https://jackhopkins.github.io/factorio-learning-environment/release.0.2.0): Added support for multi-agent coordination and MCP allowing reasoning models to invoke tools within their reasoning chain
- [15/4/2025] Added a visual agent, that takes a rendering of the map as an additional input.