Swarm is a 2D programming and resource gathering game. Program your robots to explore the world and collect resources, which in turn allows you to build upgraded robots that can run more interesting and complex programs. More info can be found on the Swarm website.
See CONTRIBUTING.md for information about various ways you can contribute to Swarm development!
If you just want to play the game, head over to the Swarm website for installation instructions. If you want to build Swarm from source (e.g. in order to contribute, or to test out the latest bleeding-edge unreleased features), read on.
Clone the Swarm repository, e.g.
git clone https://github.com/swarm-game/swarm.git
If you don't already have the cabal
tool:
Get the ghcup
tool, a handy
one-stop utility for managing all the different pieces of a
Haskell toolchain.
Use ghcup
to install a supported version of GHC:
ghcup install ghc 9.8.2
Use ghcup
to install cabal
:
ghcup install cabal
Now use cabal
to build and run Swarm:
cd /path/to/the/swarm/repo cabal run -O0 swarm:exe:swarm
(Note that we recommend turning off optimizations with -O0
since
they don't seem to make much difference to the speed of the
resulting executable, but they make a big difference in compilation
time.)
Go get a snack while cabal
downloads and builds all of Swarm's
dependencies.
You might also want to check out the scripts
directory, which
contains an assortment of useful scripts for developers.