Rutabaga

Afp
Rutabaga team

Page contents

Introduction

Rutabaga's Rogue of the Lavender is a rogue-like game developed in Haskell and GTK by the Rutabaga group. It boasts features such as field of vision, random level generation, saving & loading games and exciting battles between players and monsters. The game remains suspenseful throughout as monsters become more and more challenging throughout the levels.

Challenge your friends by sharing game seeds and learn tactics to avoid getting hurt by monsters. Turnips and lavenders can be picked up in the game, raising or restoring your maximum health.

The goal of the game is to survive as long as possible. Share your highest level and game seed and see how other players compare!

Installation

Prerequisites

The programs listed below are required; make sure that they have been properly installed before you get started.

  • GHC 6.8.1
  • GTK2HS

The mandatory Data.Binary package has been included in the source directory; if you wish to place your import directory elsewhere, move this package to that location.

Download

The game source can be downloaded below:

A precompiled version for Windows and Ubuntu is also available if you want to play the game without all the hassle:

  • rutabaga_bin.zip: Rutabaga's Rogue of the Lavender binaries (for Windows and Ubuntu)

Compiling

Unpack the source files to a desired location. From there, run GHC's compiler as follows:

ghc --make Rutabaga.hs -XFlexibleContexts

Execution

Run the generated executable, or extract and run the precompiled binary delivered in the package.

The source code may be interpreted instead, but a significant drop in performance may be observed. In order to do this, run GHCi as follows:

ghci Rutabaga.hs -XFlexibleContexts

Game details

Interface

Rutabaga's Rogue of the Lavender consists of two main screens:

  • Startup screen
  • Main screen

Startup screen

Screenshot of startup screen

A new game can be created at any time, and is selected by default in this screen. If the player desires, a game seed can be specified. Filling in this seed will result in the exact same dungeon regardless of previous saves or the platform upon which Rogue of the Lavender is run.

In order to resume a previously saved game, select the desired game and press "Play".

Main screen

Screenshot of main screen

When a game is opened, the main screen displays the current level. One should bear in mind that the player has a limited field of vision, and therefore initially, the contents of the display window will be fairly small.

Navigation is done using the keyboard, which is discussed in the next section.

In order to save the game, simply press the "Save game" button. Beware of dying, however, because your saved game will be lost also!

A new game can be made at any time by pressing the "New game" button. Just as with closing, the previous game is ended. If it has not yet been saved, the user is prompted to save the game first.

Navigation

The player can navigate his or her way through the dungeon using the keyboard. The various key bindings are shown in the table below.

Key Action
Move left
h
Move right
l
Move up
k
Move down
j
y Move left and up
b Move left and down
u Move right and up
n Move right and down
PageUp Walk up staircase
<
PageDn Walk down staircase
>
v Change viewing mode

The viewing mode (changed by the v key) allows the user to "cheat", displaying various degrees of visual data on the screen. Pressing the key cycles through the following viewing modes:

  • Normal mode shows only that area of the map within the field of vision
  • Full map mode displays the entire map
  • Monster mode displays all monsters, including those outside the field of vision
  • Smell mode displays the trail of smell left behind by the player

Demonstration

Here is a series of images to demonstrate how a player may navigate through the dungeon. In the course of a short period, the player explores three chambers. A fourth chamber is being entered in the final frame after slaying a monster. A fifth chamber has become partially visible, because the player was able to peek through a darkened corridor.

Frame 1

Frame 2

Frame 3

Frame 4

In order to play this game, please select game seed #180.

Known issues

There are two platform-dependent issues concerning Rogue of the Lavender.

Save/load file problems

On some Windows machines difficulties have been experienced loading saved games. The systems affected were runing Windows XP SP2 or Vista. The cause of this corruption is related to the way readFile is performed on Windows; the saved game is opened without problems on other platforms.

Thread errors in compiled code

Two hyperthreaded machines, one running Windows XP and the other Ubuntu, seemingly at random gave thread errors upon execution of the compiled code. If you experience these difficulties, please attempt running the source code via the GHC interpreter instead.

Authors

Rutabaga consists of the following four Haskell developers:

  • Mathijs Lagerberg
  • Paul Lammertsma
  • Jos van der Maas
  • Paul Visschers

Topic attachments
I Attachment Action Size Date Who Comment
pngpng rutabaga_big.png manage 240.4 K 06 Apr 2008 - 21:24 PaulLammertsma Rutabaga's Rogue of the Lavender logo
zipzip rutabaga_bin.zip manage 2432.2 K 07 Apr 2008 - 11:10 JosVanDerMaas Rutabaga's Rogue of the Lavender binaries (for Windows and Ubuntu Linux)
zipzip rutabaga_src.zip manage 2592.0 K 07 Apr 2008 - 11:11 JosVanDerMaas Rutabaga's Rogue of the Lavender source code
pngpng screen1.png manage 177.5 K 06 Apr 2008 - 22:51 PaulLammertsma Screenshot of startup screen
pngpng screen2.png manage 26.9 K 06 Apr 2008 - 22:52 PaulLammertsma Screenshot of main screen