From 55a6e620caa73908707464cd37cd794b06e9a18d Mon Sep 17 00:00:00 2001 From: Brent Yorgey Date: Tue, 14 May 2024 17:26:50 -0500 Subject: [PATCH] Update install instructions (#5) Updates to the main page and installation instructions. --- index.md | 46 ++++++++++++++++++++++------------------------ installing.md | 23 +++++++++++------------ 2 files changed, 33 insertions(+), 36 deletions(-) diff --git a/index.md b/index.md index b80c126..64d41c9 100644 --- a/index.md +++ b/index.md @@ -5,10 +5,10 @@ title: Home Home ==== -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. Check out the [installation +Swarm is a terminal-based 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. Check out the [installation instructions](/installing), join the [IRC channel](https://github.com/swarm-game/swarm/blob/main/COMMUNITY.md), take a look at the [wiki](https://github.com/swarm-game/swarm/wiki), @@ -21,21 +21,19 @@ log.](/images/tutorial/log.png) Features include: * Practically infinite 2D procedurally generated worlds -* Simple yet powerful programming language based on the polymorphic - lambda calculus + recursion, with a command monad for describing - first-class imperative actions -* Editor support with LSP and highlighting +* Simple yet powerful statically typed programming language based on + the polymorphic lambda calculus + recursion, with a command monad + for describing first-class imperative actions +* Editor support with syntax and error highlighting via LSP * In-game tutorial -* Multiple game modes: - - In Classic mode, you start with the ability to produce only very - basic, limited robots; collecting resources allows you to - bootstrap your way into programming more sophisticated robots - that can explore more of the world, collect more resources, etc. - - Creative mode places no restrictions: program robots to your - heart's content using whatever language features you want, - without worrying about collecting resources. - - There are also challenge scenarios where you attempt to program - robots in order to solve pre-designed puzzles or challenges. +* A classic open-world mode, in which you start with the ability to + produce only very basic, limited robots; collecting resources allows + you to bootstrap your way into programming more sophisticated robots + that can explore more of the world, set up automated production + pipelines, and unlock additional language features. +* A large collection of standalone scenarios, challenging you to use + your ingenuity and programming skill to complete specific tasks + using only the given resources or language features. Community ========= @@ -44,10 +42,10 @@ Check out the [COMMUNITY](https://github.com/swarm-game/swarm/blob/main/COMMUNITY.md) page for ways to connect with others in the community. -If you want to contribute, you're most welcome! There are *lots* of -ways to contribute, regardless of your Haskell background. For -example, even someone with no Haskell experience whatsoever could -still help with *e.g.* game design, playtesting, and creating -challenges and scenarios. Check out the +If you want to contribute, you're most welcome! There are many ways +to contribute, regardless of your Haskell expertise. For example, +even someone with no Haskell experience whatsoever could still help +with game design, playtesting, and creating challenges and +scenarios. Check out [CONTRIBUTING](https://github.com/swarm-game/swarm/blob/main/CONTRIBUTING.md) -file for more specific information about how to contribute. +for more specific information about ways to contribute. diff --git a/installing.md b/installing.md index 68dbf56..936ca65 100644 --- a/installing.md +++ b/installing.md @@ -5,17 +5,12 @@ title: Installing Installing ========== -**NOTE**: Swarm requires a POSIX-style terminal environment that -supports `terminfo`. Linux and MacOS should work out of the box. On -Windows, you will need to use [Windows Subsystem for -Linux](https://learn.microsoft.com/en-us/windows/wsl/); you should -then be able to follow instructions for installing on Linux. - -It is recommended that you use a relatively large terminal window -(*e.g.* 170 columns x 40 rows or larger). To find out the size of -your terminal, you can type `stty size` at a command prompt. If it's -not big enough, try decreasing the font size. You can read about -and/or share recommended terminal settings in [this GitHub +Swarm supports Linux, Mac OS, and Windows. It is recommended that you +use a relatively large terminal window, *e.g.* 170 columns x 40 rows +or larger. (To find out the size of your terminal on a POSIX system, +you can type `stty size` at a command prompt.) If it's not big enough, +try decreasing the font size. You can read about and/or share +recommended terminal settings in [this GitHub issue](https://github.com/swarm-game/swarm/issues/447). - [Installing via binaries](#installing-via-binaries) @@ -38,7 +33,7 @@ chmod +x ./swarm # make it executable echo $PATH | tr ':' '\n' # choose one of the listed directories mv ./swarm /my/chosen/bin/directory/ ``` -You will also need to extract the data to your local Swarm folder so +You will also need to extract the data directory to a local Swarm folder so the executable can find it: ```bash mkdir -p ~/.local/share/swarm/ @@ -54,6 +49,10 @@ able to install with cabal install swarm +Currently Swarm supports GHC 9.2, 9.4, or 9.6 (GHC 9.8 support should +be coming soon; it's possible that it already supports 9.8 but we +forgot to update this message). + If you don't already have the `cabal` tool, first [install `ghcup`](https://www.haskell.org/ghcup/), then run `ghcup install cabal` (if `cabal` was not automatically downloaded as part of