Skip to content

swarm-game/swarm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Swarm

Build Status GitHub release (latest by date) Swarm release on Hackage Contributor Covenant ircchat All Contributors

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.

World 0 after scanning a tree and making a log.

Contributors

See CONTRIBUTING.md for information about various ways you can contribute to Swarm development!

Brent Yorgey
Brent Yorgey

πŸ› πŸ“ πŸ’» πŸ–‹ πŸ“– 🎨 πŸ€” 🚧 πŸ”¬ πŸ‘€ ⚠️ βœ…
Josh Price
Josh Price

πŸ’»
Tristan de Cacqueray
Tristan de Cacqueray

πŸ’» πŸš‡ πŸ‘€
Huw Campbell
Huw Campbell

πŸ’»
Sam Tay
Sam Tay

πŸ’»
Luis Morillo
Luis Morillo

πŸ’»
Jens Petersen
Jens Petersen

πŸš‡
Norbert Dzikowski
Norbert Dzikowski

πŸ’»
Paul Brauner
Paul Brauner

πŸ’» πŸš‡ πŸ”¬
OndΕ™ej Ε ebek
OndΕ™ej Ε ebek

πŸ’» πŸš‡ πŸ€” πŸ‘€ ⚠️ βœ… πŸ“– πŸ› πŸ–‹ πŸ’‘
Jacob
Jacob

πŸ’»
Daniel DΓ­az Carrete
Daniel DΓ­az Carrete

πŸ’»
Ishan Bhanuka
Ishan Bhanuka

πŸ’»
Ryan Yates
Ryan Yates

πŸ’»
Alexander Block
Alexander Block

πŸ’»
Noah Yorgey
Noah Yorgey

πŸ’» πŸ“– πŸš‡
Valentin Golev
Valentin Golev

πŸ’»
Tamas Zsar
Tamas Zsar

πŸ’»
Steven Garcia
Steven Garcia

πŸ’»
Karl Ostmo
Karl Ostmo

πŸ“ πŸ’» πŸ–‹ πŸ“– 🎨 πŸ€” πŸ‘€ ⚠️ βœ… πŸ’‘
Brian Wignall
Brian Wignall

πŸ’» πŸ“–
Chris Casinghino
Chris Casinghino

πŸ“– πŸ”¬
Gagan Chandan
Gagan Chandan

πŸ’»
persik
persik

πŸ’»
Chris Hackett
Chris Hackett

πŸ’»
Nitin Prakash
Nitin Prakash

πŸš‡ πŸ’» 🚧
Dani Rybe
Dani Rybe

πŸ’»
Jonathan Knowles
Jonathan Knowles

πŸ’»

Building

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.

  1. Clone the Swarm repository, e.g.

    git clone https://github.com/swarm-game/swarm.git
    
  2. If you don't already have the cabal tool:

    1. Get the ghcup tool, a handy one-stop utility for managing all the different pieces of a Haskell toolchain.

    2. Use ghcup to install a supported version of GHC:

      ghcup install ghc 9.8.2 --set
      
    3. Use ghcup to install cabal:

      ghcup install cabal
      
  3. 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, as they make a big difference in compilation time. Optimized builds are only noticeably faster in scenarios with swarms of robots.)

  4. Go get a snack while cabal downloads and builds all of Swarm's dependencies.

  5. You might also want to check out the scripts directory, which contains an assortment of useful scripts for developers.