Skip to content

dragons-labs/FactoryAutomationGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Factory Automation Game

Factory Automation is an open-source logic game about building factory production lines and creating an automation system for them.

Factory Automation Game

The game is inspired by titles such as Shapez.io, Automachef and Infinifactory. However, it puts more emphasis on creating a system to manage our production line. Factory Automation offers, made available as part of the gameplay progression, dedicated control blocks to create advanced control systems using:

  • electronic components
  • programmable computers:
    • using of existing control programs from GNU/Linux operating system command line
    • creating of programs in C and Pythons
    • networking multiple computer blocks with TCP/IP

The game offers full simulation of electronic circuits (based on ngspice) and computer systems (based on QEMU and GNU/Linux). In-game manual (about basics of electronics and programming) is available. Saving the game state, customizing keys and other settings is supported.

Project Status: Alpha-4

  • All core gameplay features (like circuit simulation, computer simulation, 3d factory) are in place and works.
  • There are only 3 sample tasks (levels) and a demo level available, but they do not reflect the target task layout.
  • In-game manual (especially English version) requires verification.
  • It's works, but may be bugged or have missing minor features.

How to get?

Option 1: Download Prebuilt Binaries from GitHub

  1. Download the latest release from GitHub Releases.
  2. Unpack archive
  3. Run FactoryAutomation.sh or FactoryAutomation.exe depending on the chosen platform

These archives also contain other programs and libraries required to run the game. If you want to use the Linux version using system libraries and programs, you can simply delete their copies located in the unpacked game directory (ld-linux-x86-64.so.2 - dynamic linker/loader, libs/ - standard libraries, cef_artifacts/linux/libs/ - libcef dependencies, ngspice/ - libngspice, qemu/ - qemu and virtiofsd).

Option 2: Build from source

  1. clone project repository: git clone https://github.com/dragons-labs/FactoryAutomationGame/
  2. run just command in project root repo directory

You can also export project for Linux and Windows platform using ./export.sh script (do not directly use export option in editor). Use ./export.sh to export amd64 Linux version or ./export.sh Windows to export amd64 Windows version. Results will be written to /tmp/FAG-export/.

Important:

  • Full building from sources and export is only supported on Debian GNU/Linux (and compatible systems, but tested only on Debian Trixie).
  • System level (not build/installed by just) dependencies for:
    • Building/running from sources:
      • Godot 4.6 (or higher, but tested only on 4.6)
      • game run time dependencies:
        • libngspice0 and ngspice (for shared files)
        • qemu-system-x86, ipxe-qemu, virtiofsd (optional)
      • addons and resources build time dependencies (are not necessary when using precompiled binaries from GitHub Releases):
        • just, scons, make, bash, python3, pip3, git, wget, g++, gcc
        • (build gdspice) libngspice0-dev
        • (create OS image for qemu) mmdebstrap, guestfs-tools (virt-make-fs), qemu-utils
    • Using export script (in addition to the above):
      • patchelf, dpkg
      • (for build Windows libs) pacman, unzip, g++-mingw-w64, gcc-mingw-w64

License

This project consists of materials covered by various licensing terms.

  • Project use per file REUSE/SPDX type copyright info.

    • For SVG files, GDScript files, C++ sources, sh and Python scripts copyright and licence info is inside file, in comments at top of the file.
    • For Godot resources, scenes and binary files copyright and licence info is in .licence file.
  • Main licence for this project is MIT

  • Some files (code borrowed from other projects, media and resources files - like images and fonts, etc) are distributed under other licence terms.

    • Information about the license and copyright holder can be found in the REUSE header or in the .licence file.
    • Full text of all used licenses is included in LICENSES directory.
  • All elements used (including full supply chain and all binary distributed files) are available under DFSG-compatible licenses.

Binary redistribution license information

Technical background

Game is created in Godot Engine.

To simulate electronic circuit, the game uses:

To simulate computer systems, the game uses:

Main Scripts Dependencies And Functions

image

Similar open source projects

There are several FOSS projects with similar topics (games about factory build, digital logic simulation, etc), but each of them focuses on (and expands on) a certain subset of the topic covered by Factory Automation Game (FAG). However, they can be an inspiration for FAG developers as well as a source of further entertainment for players, which is why we are posting links to them here:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors