尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A top-down game about a growing army, alone or with up to three others over the internet. You are one little runner at the centre of a few thousand of them, and the world is a 1000 x 1000 tile meadow, broken up by ice, lava and swamp, full of things that want to stop you: nests, raiding hordes, and eight bosses (the last one, the Sovereign, comes back after you fell it). Pick up the babies that enemies drop, grow the army to the thousands, point it at whatever is in the way, and wall in whatever you can't fight.
Written in Rust with macroquad. Every sound and the music are synthesised in code, so the only assets are the fonts.
R recalls them. Three
formations (F) change how the rest of the army follows you: a ring with you safe in the middle (the usual one), a wedge, or a line.
Playing alone there is also Free, where the units just pile up on you; in a hosted or joined game that one is left out, as it costs too much with several armies.Space skips it). Playing alone the
world crawls meanwhile; with others it can't be slowed for one of you, so you keep steering and the entrance ends early if your army is in trouble.Q (Absolute Zero, Meteor Storm, Tempest, Fault Line and Rapture), and
elements react: burning and frozen make steam, shocked and burning overload, poisoned and burning spread plague fire. The
roster on the right shows each one's power coming round; click a row to find it in the world.The game is built for a lot of units: 15,000 by default (the settings take it anywhere from 5,000 to 50,000), drawn as instanced ships (small darts that point the way they are going, drawn in the shader, with plain circles as a setting) with the army's work shared over all your processor cores. It runs at your display's refresh rate (it was developed on a 120 Hz screen). The ground is a meadow drawn by a shader: blades of grass at every zoom, bending as gusts of wind roll across it. Patches of other ground break it up, and each one changes the fight. On ice the army slides and enemies are chilled until they freeze. Lava burns units and sets enemies alight, so lure them across it and keep the army off it. In a swamp everyone wades at a crawl. The minimap shows where they are.
You are a stick figure that runs: facing you going down, showing its back going up, in profile going across. Zoomed far out, you, the ships and the champions stop shrinking past a point, so the army is easy to see at any zoom.
| The Eclipse, one of seven bosses | A MASSACRE combo with three hordes closing in |
| Key | Does |
|---|---|
W A S D | move |
| mouse wheel | zoom |
| click an enemy | send a squad |
R | recall the squads |
Q | set off the champions' ultimates that are ready |
F | change the formation |
| click, drag | build walls |
| right click | delete a wall |
1 - 5 | what to build |
G | man a tower |
Tab | minimap: near or world |
M / N | mute / music on or off |
F5 / F9 | quick save / quick load |
F11 | fullscreen on or off (the game always starts fullscreen) |
Space | skip a boss's entrance |
1 2 3 | choose a relic |
1 2 | choose a champion's final form, at level 10 |
| click a champion in the roster | find it in the world |
Esc | menu (settings, controls, save, load) |
The game also saves on its own, and the title screen offers to carry on from where you left off.
Up to four players share one world over the internet. One of you hosts: the host's game runs the world, and everyone else sees and plays in it with their own army of up to 12,500 units, their own relics and their own walls. Each player's colour tints their army, their names float over them, and an arrow at the edge of the screen points at whoever is off it. Nothing is needed but the host's password: games are found on the lobby list, and nobody types or sees an address.
Hosting. Press M on the title screen for Multiplayer, then Host a game: pick your name, a password (4 characters or more) and a port (47821 unless you
change it), and Start hosting. Your game goes on the lobby list (below) so that friends can find it. Friends who join appear in the lobby; press New run (or Continue party, below) when everyone is in. Players can still join after the run has started.
sudo ufw allow 47821/udp.Joining. M on the title screen, then Join a game: give your name and press Find games, pick a game from the list, and type its password. There is no address to type, and none is shown.
Join local. To try the game out, or to play two at one computer, host in one window and choose Join local in the other: it joins a game hosted on this computer by its port (47821 unless the host chose another), with the name and password.
Coming and going. A player who drops (or closes the game) has their army held where it was, out of reach of everything, and shows as AWAY in the list.
Joining again with the same name gets it back, and a guest whose connection is lost tries to rejoin for a minute by itself. The host saves the whole party
(F5, the menu, or on its own); next time the host's lobby offers Continue party, and each friend takes their army up again by joining with their name.
Only the host saves and loads. If the host ends the game, it ends for everyone.
The lobby list. Every hosted game is on a list of open games, and every other player joins from it. It is a tiny web service (in lobby-server,
written for Vercel and a free Redis database) that only holds the list: the games themselves are still played straight with the host. The game already knows where it is,
so there is nothing to set up. lobby-server/README.md has the steps to run a list of your own.
Builds for Windows and Linux are attached to each release. They need nothing installed.
Windows: unzip it and run TheArmy.exe. Windows may say "Windows protected your PC" because the program isn't
signed. Click "More info", then "Run anyway". (Or right-click the zip, choose Properties, tick Unblock, and extract it after that.)
Linux: extract the tarball and run ./TheArmy. It needs the usual desktop libraries; on Arch and CachyOS:
sudo pacman -S --needed alsa-lib libx11 libxi mesa
Saves and settings live in %APPDATA%\TheArmy on Windows and ~/.local/share/TheArmy on Linux.
You need Rust (edition 2024, so a recent stable toolchain).
cargo run --release
On Linux you also need the development libraries:
# Debian / Ubuntu
sudo apt install libasound2-dev libx11-dev libxi-dev libgl1-mesa-dev pkg-config
Use --release: a debug build is much slower with thousands of units. Set THE_ARMY_WINDOWED=1 to start in a window
instead of filling the screen.
cargo test --release
The multiplayer tests open real connections on this machine (they need loopback networking, nothing else).
The code is one file for each part of the game; src/main.rs has the map of them, and every tuning constant is in
src/config.rs. Pushing a tag like v0.1.0 makes GitHub Actions build the Windows and Linux downloads and publish a release.
The fonts are Audiowide and
Chakra Petch, both under the SIL Open Font License (the licenses are in
assets/fonts).