Skip to content
Andy edited this page Oct 19, 2025 · 15 revisions

This is the Avara wiki. Here you can find documentation about playing and working on Avara.

Use the right hand navigator to select a topic.

Frequently Asked Questions

What is Avara?

Avara is an action shooter! In Avara one controls a walking tank drone from first- or third-person perspective. One's objective is to eliminate the enemy using onboard plasma cannons and combo grenade/smart missile launcher.

Avara was released in 1996 for Apple Macintosh. This project is a port of the open source code released in 2017. For more see A Short History of Avara.

What is Avaraline?

The "-line" part stands for Hotline. Avaraline was one of two fan-run Avara Hotline servers. The group of people behind Avaraline have stuck together (mostly) since the 90s. Many built engineering careers of some kind, and Avaraline makes up the majority of contributors to the project currently. One can still find Avaraline on IRC and Discord (for now).

Why hasn't there been a release since (insert years ago date)?

The project is NOT dead! The release mess is due to some tech debt in our CI/CD process via Github Actions. Basically, instead of releases, we do a build every time there are commits to main, and the same release gets updated with a new artifact.

Versioning and releases are in the works, but for now we base everything off of the commit hash of the tip of the main branch. There have been improvements to this area, including Release Notes and a tag for what we consider a stable version of the game (which will eventually become the release tag).

Don't make me think, how do I download it?

For Windows/MacOS: Go to the nightly release page and open the Assets drop down (if it isn't already open). Grab the file for one's platform: Avara-<platform>-Nightly-<date>-<version>.zip. This is as simple as we can make it at this time.

OK, I downloaded this thing, what do I do now?

When one opens Avara for the first time one will be presented with a number of floating sub-windows inside the game's main window. These windows partially emulate the original interface for Avara (a replacement interface is in the works). A level will load by default and the view will fly around the empty level in the background.

Labelled screenshot of the Avara interface

If one just wants to jump into a game quickly to see what it is like, one can immediately press the "Start/Ready" button in the "Levels" window. This will drop one into the loaded level in solo mode. But before one does, note how to pause or abort the game: Escape and the 0 key respectively by default.

Before one goes online, one should change their name: find the "Player" window, which should be the first window in the upper left, and double-click "Unnamed Player" to select-all, then one can type one's preferred moniker.

To go online, use the "Refresh" button in the "Tracker" window to show currently online game servers. If one is present, a "Join" button will be shown on the right hand side, and one can click this to join into a game.

After one joins, other players on the server will be shown in the "Roster" window. Focus (click inside) this window to chat in-between games. To change one's team color, click one's name in the roster to get a drop-down.

If there are no game servers available, one can use the "Server" window to start hosting. The top text field is the optional title of one's game server, the second field is the optional password, and the third button will start it up.

The checkbox for "Register With Tracker" should be checked by default. If one checks this box and hosts a server, a notification will go out to other players that one wants to play, and one should see some people join up if it is a reasonable US hour. Alternatively, one can uncheck the "Register With Tracker" box to make a private server that one must invite people to via one's public IP address.

The "Server" window also hosts two important controls: one for Latency Tolerance or LT, and one for the framerate of the game.

Latency Tolerance is Avara's method of lag compensation. This is a factor by which local inputs are delayed so that input frames of other players with slower connections have time to arrive. Usually one wants to leave Auto-LT enabled, but for continental US players, one can clamp it to 1.00 or 2.00.

One can adjust the framerate to 64 ms to see the way that Classic Avara played in 1996. Then switch back to 16 ms for that 60fps feel.

That was too much. Can I have a TL;DR?

Find the "Start/Ready" button and click it! Use WASD to walk around and click to shoot! Use Esc to pause!

How do I change my keyboard controls?

This is one of our more pressing issues: there is no graphical UI for configuring the game, besides the limited amount of controls shown in the sub-windows.

All preferences are stored in a JSON file under one's user folder on the OS one is using. Unfortunately, for keyboard configuration, this is the only option at this time. See Configuring your controls.

For other numeric or boolean options, you can use the /p text command, see Text command interface.

How do I make levels?

This is currently a very manual process, eventually we would like to publish an integrated level editor.

To create levels for Avara, you need a combination of knowledge of Classic Avara and the port. The original Avara Level Design Manual has much of the game-related info you need. However, the parts about the level file format and resource forks are no longer applicable: for more info see the Modern Avara Level Design (MALD) Guide.

Contributing

Would you like to help Avaraline build the open-source Avara? The game is built with C++, but the repo contains a fair bit of Python as well. See Build instructions. Avara works quite well on most Linux distributions, we test on Fedora and Alpine (with musl). A considerable amount of development is done with Xcode on MacOS. It would be swell if you could join us on IRC and/or Discord for discussion. Some quick ground rules:

  • All patches must go through Pull Requests and pass the test suite
  • Absolutely no LLM-generated content is allowed
  • Golden Rule: Project contributors must be courteous and show respect for marginalized peoples and other contributors/users
  • No racism, fascism, sexism, or other exclusionary intolerance is acceptable in any way

Note that we are a small project with limited resources. Formal organization policy and CoC is still TBD.

Clone this wiki locally