|
| 1 | +--- |
| 2 | +title: "Swarm 0.7 release, and Swarm at ZuriHac!" |
| 3 | +author: "Brent Yorgey" |
| 4 | +--- |
| 5 | + |
| 6 | +The [Swarm](https://github.com/swarm-game/swarm/) [development team][contributors] is |
| 7 | +pleased to announce the latest alpha release of the game. |
| 8 | + |
| 9 | +[contributors]: https://github.com/swarm-game/swarm?tab=readme-ov-file#contributors |
| 10 | + |
| 11 | +It's been quite a while since our last release, and the pace of |
| 12 | +development has been slower this year---but development continues nonetheless! |
| 13 | + |
| 14 | +Read on for a more in-depth discussion of some of the new features, or |
| 15 | +see the [CHANGELOG](https://github.com/swarm-game/swarm/blob/main/CHANGELOG.md) or even the [complete list of git |
| 16 | +commits](https://github.com/swarm-game/swarm/commits/main/?since=2024-07-14&until=2025-06-04). |
| 17 | + |
| 18 | +## What is it? |
| 19 | + |
| 20 | +As a reminder, Swarm is a 2D, open-world programming and resource |
| 21 | +gathering game with a strongly-typed, functional programming language |
| 22 | +and a unique upgrade system. |
| 23 | + |
| 24 | +## ZuriHac! |
| 25 | + |
| 26 | +Several of us will be at [ZuriHac](https://zfoh.ch/zurihac2025/) in person. If |
| 27 | +you're at ZuriHac in person too, come say hi, try out the game, and maybe |
| 28 | +hack on some [low-hanging fruit][low-hanging]! |
| 29 | + |
| 30 | +If you won't be at ZuriHac in person but still want to try hacking on |
| 31 | +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)! |
| 32 | + |
| 33 | +## New challenge scenarios |
| 34 | + |
| 35 | +There are a number of new challenge scenarios included in this |
| 36 | +release, with example screenshots shown below. |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | +## Tutorial improvements |
| 45 | + |
| 46 | +There have been a bunch of improvements to the in-game tutorial: from |
| 47 | +small things like making sure choosing `Tutorial` from the menu |
| 48 | +automatically takes you to the first *unsolved* tutorial level, to big |
| 49 | +things like level redesigns and prose rewrites. |
| 50 | + |
| 51 | +## Language improvements |
| 52 | + |
| 53 | +The Swarm language itself hasn't changed too much in this release. `return` |
| 54 | +has been renamed to `pure` |
| 55 | +([#2285](https://github.com/swarm-game/swarm/pull/2285)), and we have |
| 56 | +retired `fst` and `snd` in favor of a pair elimination form called `match` |
| 57 | +([#2407](https://github.com/swarm-game/swarm/pull/2407)). As usual, |
| 58 | +you can automatically convert 0.6 code to 0.7 with `swarm format --v0.6`. |
| 59 | + |
| 60 | +There are also a few new commands: |
| 61 | + |
| 62 | +- The `print` and `erase` commands allow printing values on `paper` ([#2245](https://github.com/swarm-game/swarm/pull/2245)). |
| 63 | +- There is also a new `read` command, which can parse values from |
| 64 | + their textual representations ([#2224](https://github.com/swarm-game/swarm/pull/2224)). |
| 65 | + |
| 66 | +## Other enhancements |
| 67 | + |
| 68 | +There were a ton of other small improvements, like fixing several |
| 69 | +space leaks, adding some achievements, adding a few hints to classic |
| 70 | +mode, adding a feature to render contiguous walls, and a number of |
| 71 | +small UI tweaks. |
| 72 | + |
| 73 | +## Give it a try! |
| 74 | + |
| 75 | +To install, check out the [installation instructions][install]: you |
| 76 | +can download a [binary release][release] (Linux only, for now), or |
| 77 | +[install from Hackage][hackage]. Give it a try and send us your |
| 78 | +feedback, either [via a GitHub issue][issue] or [Discord][discord]! |
| 79 | + |
| 80 | +[install]: https://github.com/swarm-game/swarm#installing |
| 81 | +[release]: https://github.com/swarm-game/swarm/releases |
| 82 | +[hackage]: https://hackage.haskell.org/package/swarm |
| 83 | +[issue]: https://github.com/swarm-game/swarm/issues/new/choose |
| 84 | + |
| 85 | +## Future plans & getting involved |
| 86 | + |
| 87 | +We're still hard at work on the game. Fun upcoming things include: |
| 88 | + |
| 89 | +- More fully fleshed-out [tournament server](https://github.com/swarm-game/swarm/pull/1798) |
| 90 | +- [Saving and loading games][saving] |
| 91 | +- New world features like aliens and [cities][cities] |
| 92 | +- New language features like [arrays][arrays], [inter-robot communication][robot-comm], and [a |
| 93 | + proper `import` construct][import] |
| 94 | + |
| 95 | +[cities]: https://github.com/swarm-game/swarm/issues/1944 |
| 96 | +[saving]: https://github.com/swarm-game/swarm/issues/50 |
| 97 | +[arrays]: https://github.com/swarm-game/swarm/issues/98 |
| 98 | +[robot-comm]: https://github.com/swarm-game/swarm/issues/94 |
| 99 | +[import]: https://github.com/swarm-game/swarm/issues/495 |
| 100 | + |
| 101 | +Of course, there are also [tons of small things that need fixing and |
| 102 | +polishing][low-hanging] too! If you're interested in getting |
| 103 | +involved, check out our [contribution guide][contrib], come [join us |
| 104 | +on Discord][discord], or take a look at the list of |
| 105 | +[issues marked "low-hanging fruit"][low-hanging]. |
| 106 | + |
| 107 | +[contrib]: https://github.com/swarm-game/swarm/blob/main/CONTRIBUTING.md |
| 108 | +[low-hanging]: https://github.com/swarm-game/swarm/issues?q=is%3Aissue+is%3Aopen+label%3A%22C-Low+Hanging+Fruit%22 |
| 109 | +[discord]: https://discord.gg/kp8MuSgkPw |
0 commit comments