This is the INSTALL file for the RLX roguelike engine.
Installation and basic playing instructions are provided.
1. You need a Common Lisp implementation. Only tested on SBCL right
now. You must also have the SDL libraries installed. How to do this
is beyond the scope of this document. See libsdl.org for more
information. In addition, the LISPBUILDER-SDL libraries are also
required and these should be compiled from their latest
SVN. (see below for instructions.)
Your Linux distribution will have SDL packages for sdl, sdl-image,
and sdl-mixer, all of which are required libraries.
2. If you have not already done so, download RLX:
mkdir ~/src
cd ~/src
git clone git://github.com/dto/rlx.git
3. Then link the rlx.asd file into your ~/.sbcl/systems directory:
ln -s ~/src/rlx/rlx.asd ~/.sbcl/systems
4. Download and install a required library called CLON. Example
commands:
mkdir ~/src
cd ~/src
git clone git://github.com/dto/clon.git
Then link the clon.asd file:
ln -s ~/src/clon/clon.asd ~/.sbcl/systems
5a. Install some prerequisites for LISPBUILDER-SDL. This should be quick.
(require :asdf)
(require :asdf-install)
(asdf-install:install :cffi)
If it asks about any GPG-KEY-CHECKS, press the appropriate listed
key to skip them.
Now install your GNU/Linux distribution's packages for libsdl,
libsdl-image, libsdl-mixer, and libsdl-gfx.
5b. The latest development version of LISPBUILDER-SDL is required. Use
Subversion to check out the source code:
mkdir ~/src
cd ~/src
svn checkout http://lispbuilder.googlecode.com/svn/trunk/ lispbuilder
Then symlink all the .asd files in that tree into ~/.sbcl/systems
(or wherever your .ASD files go) like this:
cd ~/.sbcl/systems
for i in `find ~/src/lispbuilder -name "*.asd"`; do ln -s $i .; done
6. OPTIONAL: configure module directories
Add something like this to a new file called ~/.rlxrc:
(setf rlx:*module-directories* '(#P"/home/dto/src/rlx/"))
The filename should be wherever you installed the RLX source
tree. This is auto-detected as the current directory if you don't set
it. NOTE: These must be pathnames (prefixed with #P) and must contain
a trailing slash.
7. At the shell, cd to the install directory for RLX, run SBCL, and
then at the REPL:
(require :rlx)
(rlx:play "blast")
If you get an error about TRIVIAL-FEATURES-TESTS, try this:
(require :trivial-features-tests)
See the separate file $INSTALLDIR/invader/manual.org for playing
instructions.
8. Here is my example .rlxrc:
;; -*- Mode: lisp -*-
(setf rlx:*module-directories* '(#P"/home/dto/rlx/"
#P"/home/dto/rlx-modules/"))
(setf rlx:*user-keyboard-layout* :qwerty)
(setf rlx:*use-sound* t)
(setf rlx:*message-logging* t)
;; fullscreen is a pain if RLX hangs
(setf rlx:*fullscreen* nil)
9. For dvorak users:
g c r
\|/
h-.-n
/|\
m w v
Add (setf rlx:*user-keyboard-layout* :dvorak) to your ~/.rlxrc.