https://github.com/swarm-game/swarm
Resource gathering + programming game
https://github.com/swarm-game/swarm
Last synced: 5 months ago
JSON representation
Resource gathering + programming game
- Host: GitHub
- URL: https://github.com/swarm-game/swarm
- Owner: swarm-game
- License: other
- Created: 2021-08-23T16:47:47.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-09T22:37:52.000Z (11 months ago)
- Last Synced: 2025-04-09T23:19:04.524Z (11 months ago)
- Language: Haskell
- Size: 10.5 MB
- Stars: 861
- Watchers: 13
- Forks: 55
- Open Issues: 268
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-github-repos - swarm-game/swarm - Resource gathering + programming game (Haskell)
README
Swarm
=====
[![Discord][badge-discord]][discord]
[![Build Status][build-status]][actions]
[![GitHub release (latest by date)][release-img]][releases]
[![Swarm release on Hackage][hackage-img]][hackage]
[![Contributor Covenant][badge-covenant]](CODE_OF_CONDUCT.md)
[![All Contributors][contributors]](#contributors)
[build-status]: https://github.com/swarm-game/swarm/actions/workflows/haskell-ci.yml/badge.svg
[release-img]: https://img.shields.io/github/v/release/swarm-game/swarm?logo=github
[releases]: https://github.com/swarm-game/swarm/releases
[hackage-img]: https://img.shields.io/hackage/v/swarm.svg?logo=haskell
[hackage]: https://hackage.haskell.org/package/swarm
[actions]: https://github.com/swarm-game/swarm/actions
[badge-covenant]: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg
[badge-discord]: https://img.shields.io/discord/1260717118576525372.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2
[discord]: https://discord.gg/kp8MuSgkPw
[contributors]: https://img.shields.io/github/all-contributors/swarm-game/swarm?color=ee8449&style=flat-square
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](https://swarm-game.github.io).
[](https://swarm-game.github.io)
Contributors
------------
See [CONTRIBUTING.md](CONTRIBUTING.md) for information about various
ways you can contribute to Swarm development!

Brent Yorgey
π π π» π π π¨ π€ π§ π¬ π β οΈ β

Josh Price
π»

Tristan de Cacqueray
π» π π

Huw Campbell
π»

Sam Tay
π»

Luis Morillo
π»

Jens Petersen
π

Norbert Dzikowski
π»

Paul Brauner
π» π π¬

OndΕej Ε ebek
π» π π€ π β οΈ β
π π π π‘

Jacob
π»

Daniel DΓaz Carrete
π»

Ishan Bhanuka
π»

Ryan Yates
π»

Alexander Block
π»

Noah Yorgey
π» π π

Valentin Golev
π»

Tamas Zsar
π»

Steven Garcia
π»

Karl Ostmo
π π» π π π¨ π€ π β οΈ β
π‘

Brian Wignall
π» π

Chris Casinghino
π π¬

Gagan Chandan
π»

persik
π»

Chris Hackett
π»

Nitin Prakash
π π» π§

Dani Rybe
π»

Jonathan Knowles
π»

Oliver Pauffley
π»

Patrick Estrada
π»
Building
--------
If you just want to play the game, [head over to the Swarm website for
installation instructions](https://swarm-game.github.io/installing/).
If you want to build Swarm from source (*e.g.* in order to
[contribute](CONTRIBUTING.md), 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
1. If you don't already have the `cabal` tool:
1. Get the [`ghcup` tool](https://www.haskell.org/ghcup/), a handy
one-stop utility for managing all the different pieces of a
Haskell toolchain.
1. Use `ghcup` to install a supported version of GHC:
ghcup install ghc 9.8.2 --set
1. Use `ghcup` to install `cabal`:
ghcup install cabal
1. 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.)
1. Go get a snack while `cabal` downloads and builds all of Swarm's
dependencies.
1. You might also want to check out the `scripts` directory, which
contains an assortment of useful scripts for developers.