Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions blog/2025-06-04-swarm-0.7-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
title: "Swarm 0.7 release, and Swarm at ZuriHac!"
author: "Brent Yorgey"
---

The [Swarm](https://github.com/swarm-game/swarm/) [development team][contributors] is
pleased to announce the latest alpha release of the game.

[contributors]: https://github.com/swarm-game/swarm?tab=readme-ov-file#contributors

It's been quite a while since our last release, and the pace of
development has been slower this year---but development continues nonetheless!

Read on for a more in-depth discussion of some of the new features, or
see the [CHANGELOG](https://github.com/swarm-game/swarm/blob/main/CHANGELOG.md) or even the [complete list of git
commits](https://github.com/swarm-game/swarm/commits/main/?since=2024-07-14&until=2025-06-04).

## What is it?

As a reminder, Swarm is a 2D, open-world programming and resource
gathering game with a strongly-typed, functional programming language
and a unique upgrade system.

## ZuriHac!

Several of us will be at [ZuriHac](https://zfoh.ch/zurihac2025/) in person. If
you're at ZuriHac in person too, come say hi, try out the game, and maybe
hack on some [low-hanging fruit][low-hanging]!

If you won't be at ZuriHac in person but still want to try hacking on
Swarm, come join our [Discord server](https://discord.gg/kp8MuSgkPw) or [The Swarm Hive on Gather.town](https://app.gather.town/app/SpqG1ic5pNKM7YqS/The%20Swarm%20Hive)!

## New challenge scenarios

There are a number of new challenge scenarios included in this
release, with example screenshots shown below.

![](/gallery/flowers.png)

![](/gallery/dna.png)

![](/gallery/exterminator.png)

## Tutorial improvements

There have been a bunch of improvements to the in-game tutorial: from
small things like making sure choosing `Tutorial` from the menu
automatically takes you to the first *unsolved* tutorial level, to big
things like level redesigns and prose rewrites.

## Language improvements

The Swarm language itself hasn't changed too much in this release. `return`
has been renamed to `pure`
([#2285](https://github.com/swarm-game/swarm/pull/2285)), and we have
retired `fst` and `snd` in favor of a pair elimination form called `match`
([#2407](https://github.com/swarm-game/swarm/pull/2407)). As usual,
you can automatically convert 0.6 code to 0.7 with `swarm format --v0.6`.

There are also a few new commands:

- The `print` and `erase` commands allow printing values on `paper` ([#2245](https://github.com/swarm-game/swarm/pull/2245)).
- There is also a new `read` command, which can parse values from
their textual representations ([#2224](https://github.com/swarm-game/swarm/pull/2224)).

## Other enhancements

There were a ton of other small improvements, like fixing several
space leaks, adding some achievements, adding a few hints to classic
mode, adding a feature to render contiguous walls, and a number of
small UI tweaks.

## Give it a try!

To install, check out the [installation instructions][install]: you
can download a [binary release][release] (Linux only, for now), or
[install from Hackage][hackage]. Give it a try and send us your
feedback, either [via a GitHub issue][issue] or [Discord][discord]!

[install]: https://github.com/swarm-game/swarm#installing
[release]: https://github.com/swarm-game/swarm/releases
[hackage]: https://hackage.haskell.org/package/swarm
[issue]: https://github.com/swarm-game/swarm/issues/new/choose

## Future plans & getting involved

We're still hard at work on the game. Fun upcoming things include:

- More fully fleshed-out [tournament server](https://github.com/swarm-game/swarm/pull/1798)
- [Saving and loading games][saving]
- New world features like aliens and [cities][cities]
- New language features like [arrays][arrays], [inter-robot communication][robot-comm], and [a
proper `import` construct][import]

[cities]: https://github.com/swarm-game/swarm/issues/1944
[saving]: https://github.com/swarm-game/swarm/issues/50
[arrays]: https://github.com/swarm-game/swarm/issues/98
[robot-comm]: https://github.com/swarm-game/swarm/issues/94
[import]: https://github.com/swarm-game/swarm/issues/495

Of course, there are also [tons of small things that need fixing and
polishing][low-hanging] too! If you're interested in getting
involved, check out our [contribution guide][contrib], come [join us
on Discord][discord], or take a look at the list of
[issues marked "low-hanging fruit"][low-hanging].

[contrib]: https://github.com/swarm-game/swarm/blob/main/CONTRIBUTING.md
[low-hanging]: https://github.com/swarm-game/swarm/issues?q=is%3Aissue+is%3Aopen+label%3A%22C-Low+Hanging+Fruit%22
[discord]: https://discord.gg/kp8MuSgkPw
Binary file added gallery/dna.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions gallery/dna.png.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
caption: DNA copying scenario
Binary file added gallery/exterminator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions gallery/exterminator.png.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
caption: Exterminator scenario
Binary file added gallery/flowers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions gallery/flowers.png.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
caption: Flower count scenario
2 changes: 1 addition & 1 deletion installing.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ able to install with

cabal install swarm

Currently Swarm builds with GHC 9.2 through 9.8.
Currently Swarm builds with GHC 9.6 through 9.12.

If you don't already have the `cabal` tool, first [install
`ghcup`](https://www.haskell.org/ghcup/), then run `ghcup install
Expand Down