Factorio Bot is a platform for Factorio that enables multi-bot coordination for automated gameplay. Unlike other TAS tools or AI environments, Factorio Bot can orchestrate 8-16 bots working cooperatively on tasks.
Vision: Say goal("launch_rocket") and watch multiple bots coordinate to complete the game automatically.
- TAS (Tool Assisted Speedrun) - Beat world records with many bots sharing the workload efficiently
- Goal-Driven Automation - Give high-level goals ("research automation") → system decomposes into tasks → bots execute cooperatively
- ML/AI Research - Learning environment for training algorithms within Factorio (future)
- Playground - Experiment with Factorio automation
| Project | Approach | Multi-bot | Factorio 2.0 |
|---|---|---|---|
| Factorio Learning Environment | LLM agents, Python | No | Partial |
| Factorio-AnyPct-TAS | Pre-scripted TAS | No | No (0.18) |
| Factorio Bot | Scripted + Planning | Yes (8-16) | Yes |
- Reference: Any% World Record gets automation in 7:33
- Factorio Bot 0.1.2: Research logistics with 4 Bots in 15:51
- Factorio Bot 0.1.1: Research automation with 1 Bot in 8:57
- Factorio Bot 0.1.0: Research automation with 1 Bot in 12:33
- Factorio 2.0 compatible (including quality system)
- Sets up & starts Factorio server + configurable number of clients
- Multi-bot task coordination with dependency tracking
- Integrated Monaco Lua editor for scripting
- Task graph visualization (Graphviz, Mermaid Gantt charts)
- Uses BotBridge mod to read game state:
- Recipes, entity prototypes, item prototypes
- Entities, resources, player inventories
- Build graphs of:
- Entity connections with distance-based weights
- Flow connections with flow rate per belt side/resource
- Bot task dependencies with time estimates
- REPL mode for fast iteration (
cargo repl) - (Optional) REST API with OpenAPI specs
- Works on Windows/Mac/Linux
- MIT licensed
See PLAN.md for the full roadmap.
- Goal decomposition:
goal("research_automation")→ automatic task generation - Full game completion:
goal("launch_rocket")with 8-16 cooperating bots - Seed rolling for optimal map selection
- LLM integration (future)
# Build and run REPL
cargo repl
# Or start full Factorio server + client
just factorio- Download the latest release for your OS
- Download Factorio as .zip or .tar.xz (not headless!)
- Start the app and select your Factorio archive under
Settings - Use
Startto launch Factorio instances - Select and execute Lua scripts
# Run tests + clippy + build
just test
# Start Factorio for testing
just factorio
# Frontend development
cd app && npm startSee the Dev Guide for more details.
Send Pull Requests! See PLAN.md for what needs work.
Email: arturh@arturh.de