clanehin edited this page Apr 3, 2011 · 5 revisions
Clone this wiki locally

This is the manual for roguestar. Roguestar is:

  • A roguelike science fiction computer game.
  • Free: distributed under the AGPL
  • Written in the functional programming language Haskell.
  • In the early stages of development.

Installing Roguestar


You can play roguestar comfortably on cheap commodity hardware. While writing this manual, I'm testing my instructions on a $200 emachines netbook with a 1.6 mhz atom processor.

Roguestar is a turn based game, so you don't need a souped up graphics card to play it.

Roguestar does, however, happily take advantage of multi-core CPUs.


At this time, there are no published binaries of roguestar. You will need to compile roguestar yourself. Fortunately, this is easy if you use cabal-install (described below).

These instructions assume that you are comfortable using a command line interface.

These instructions also assume that you will read and follow documentation on linked third party web sites, such as this link to the Haskell Platform.

The Haskell Platform

To install and play roguestar, you need a working haskell build environment. If you don't already have it, install the Haskell Platform. This is the quickest and easiest way to get up and running.

OpenGL, GLUT and Direct Rendering

Roguestar depends on OpenGL and GLUT, and you will need to have direct rendering enabled to get decent performance. Fortunately, most operating systems ship with OpenGL enabled.

The OpenGL web site provides some general information on setting up OpenGL.

MacOS X users only need to install Apple's X-code development environment.

Linux and BSD users probably want to use Mesa. On debian and ubuntu systems, you want libgl1-mesa-dri, libgl1-mesa-dev, freeglut3, and freeglut3-dev.

Third Party Libraries

Roguestar depends on a number of third party haskell libraries. These are all available from hackage.

If you use cabal-install, cabal will automatically install all dependencies for you. If you use git, the Makefile in the roguestar metapackage has a policy of calling out to cabal install to get any dependencies that aren't provided by the Haskell Platform. If you use any other build method, the configuration process will halt and advise you whenever it detects that a library is missing. All such libraries can be found on the hackage web site.

Roguestar-glut -vs- roguestar-gtk

There is a traditional roguestar-glut and an experimental roguestar-gtk. For the moment, I recommend roguestar-glut. Roguestar-gtk will eventually incorporate inline help and message history, but for the moment, it has at least one very annoying known bug.

You must install one or the other (or both).

Install Using Cabal-Install

Cabal is a system for installing haskell programs and libraries. It works on Windows, MacOS X and Unix-like operating systems. Even with cabal-install, you still need a working build environment.

If you have cabal-install, installing roguestar and all dependencies is as easy as typing:

$ cabal install roguestar-engine roguestar-glut roguestar

$ ~/.cabal/bin/roguestar

Install using Git

To check out the latest features, which will probably be broken in some way, use git.

Git is a revision control system that stores the most up-to-date version of roguestar.

$ git clone
$ cd Roguestar
$ make install

$ ~/.cabal/bin/roguestar

You can safely use the -j flag to invoke parallel make.

I would be very excited to receive any new patches or features from the community. Most haskellers, however, are darcs users. There is a brief guide to git for darcs users.

To learn more about git, you can always type: git help.

How to Play

Character Creation

When you begin play, you'll be asked to choose a species and occupation. These choices will determine your physical appearance, what objects you will be carrying when you begin play, and your starting abilities.

At this time, the differences between species and occupations are fairly trivial.

Each species and occupation has a letter next to it. Type the letter to choose that species or occupation.

You can also type . (period) to regenerate new traits for any character.


You play roguestar using only the keyboard. Here is a list of keyboard commands:

Movement Actions

Movement actions are actions that move your character that act in a particular direction.

hjklyubn, 48267913: Movement keys.

f + movement key: Fire a weapon, if you're holding one.

F + movement key: Attack (Fight). This is not really needed; just move into a creature to fight it.

J + movement key: Short teleport jump. Teleport jumps sometimes fail.

c + movement key: Clear terrain. As this is a science fiction game, you have the ability to disassemble obstacles at the molecular level. This takes time, during which you will be vulnerable to attack creatures.

Inventory Actions

Many inventory actions will display a menu asking you to choose an item to operate on. Use the arrow keys to choose an item, and press enter. When looking at a menu, you can type Esc at any time to cancel.

a: Activate an object. If you are holding a material sphere, this will heal you.

, (comma): Pick up an object, if you are standing over it.

d: Drop an object that you are carrying.

w: Wield an object that you are carrying. You can only wield one object at a time.

- (dash): Put a wielded object back in your inventory.

m: Make something using whatever raw materials you are holding. A menu will come up asking you what to make, and what materials to use. To make an object, you need three types of materials: Chromalite (a high-yield energy material), a metal or other construction material, and a gaseous medium. You can cannibalise other objects for materials, or use raw materials that you pick up. At any time, you can hit escape to cancel.

Graphics Actions

[, ] (left and right square brackets): Zoom in, zoom out.

#sky-on, #sky-off: Turn the sky on or off.

#quality-bad, #quality-poor, #quality-good, #quality-super: Set the graphics quality. Default is currently 'poor'. A high setting here will both increase the demand on the graphics card and burst the CPU more heavily while models are being generated.

Utility Actions

#quit: Quit the game. You can also simply close the window at any time.


Finding a Weapon

When you first start, you will be stranded on a planet without a weapon. There should be a weapon somewhere randomly close to you. Pick it up. (If, for some reason, there is not a weapon nearby, how is that my problem?)

Once you leave your home planet, you'll only have the supplies you brought with you.


Your character is carrying a compass which will indicate the direction to the nearest gateway. Gateways provide travel between planets.

Gateways go in two directions. If you go forward through a gateway, you'll go to the next planet. If you go backwards through a gateway, you'll go back to a previous planet.

Some objects attract your compass, but aren't gateways. The compass will point to the nearest object that attracts it.


On each planet, after the first, you can find underground crawlspaces that lead into various dungeons. Somewhere within these dungeons, you will find glowing orbs. By collecting these orbs, you will increase your experience and skill as an adventurer. When you are underground and on the same dungeon level as an orb, the compass will guide you toward it.


Once you leave your home planet, other creatures will attack you. The terrain and sky may also be markedly different on other planets.

Be careful with your weapon. It can explode or discharge violently, especially if you are untrained in its use.

If an enemy is trailing you and you can't shake it, try teleporting.


roguestar-engine and roguestar-gl are distributed under the GNU Affero General Public License version 3.

RSAGL, the RogueStar Animation and Graphics Library, is distributed under the 3-paragraph BSD license.

This document is licensed under a Creative Commons Attribution-Share Alike 3.0 License.


  • Christopher Lane Hinson is the original and ongoing author.
  • Max Bolingbroke contributed number-pad support (0.2.x series)
  • Gwern Branwen cabalized the first version of roguestar, wrote the first version of the launcher script, and uploaded it to hackage.