Skip to content

arturh85/factorio-bot

Repository files navigation

Factorio Bot

User Guide LUA API Docs MIT License GitHub issues Dev Guide

What is it?

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.

Goals / Use Cases

  • 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

How It Compares

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

Youtube Videos

Features

  • 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

Planned Features

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)

Quickstart

CLI/REPL Mode (Recommended)

# Build and run REPL
cargo repl

# Or start full Factorio server + client
just factorio

Desktop App

  • 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 Start to launch Factorio instances
  • Select and execute Lua scripts

Development

# Run tests + clippy + build
just test

# Start Factorio for testing
just factorio

# Frontend development
cd app && npm start

See the Dev Guide for more details.

Contribute

Send Pull Requests! See PLAN.md for what needs work.

Contact

Email: arturh@arturh.de

About

Tauri based Frontend for Factorio Bot

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •