1 Install and play

1.1 Dependencies

You need a correct Common Lisp implementation (look at SBCL for
Unix-based systems and Clozure CL for Windows or OS X).
Also, be sure to have ASDF installed (provided with SBCL, don't know
for Clozure CL).
There are only two libraries needed for robotime: Alexandria and
Until It Dies.

1.1.1 Alexandria

1.1.2 Until It Dies

Since Until It Dies is a fairly new library, it's only available
through the git repo at github, and robotime needs it's devel
branch. Basically, here are the steps to install it (on an Unix-based
system):

1.2 Robotime

If you get a CL-DEVIL:COULD-NOT-OPEN-FILE condition, you can adapt
the variable *resources-dir* in graphic.lisp, eg. :

(defparameter *resources-dir* #p"/home/user/robotime/resources/")

1.2.1 Keybindings

Action

Key

Move north

r

Move south

v

Move west

d

Move east

g

Move north-west

e

Move north-east

t

Move south-west

c

Move south-east

b

Forward the time

f

Backward the time

y

Use a blast

space

Quit

escape

2 Gameplay

Robotime is a robots-like game. Robots is an old turn-based game (you
can test the original one by installing bsdgames if you're under
Linux) with a very simple principle:

Robots is played on a two-dimensional rectangular grid. The objective
of the game is to escape from a number of robots, which have been
programmed with only a single objective: to kill the player. – Wikipedia

Robotime has some differences with the original robots games:

2.1 Time control

You can control the time in both directions (forward and backward). If
you go back in the time, robots will backtrack and you'll lose some
power. If you advance the time, robots will move in your direction
and you'll gain power. You can also gain power with some bonus. When
you control the time you can't move, so be carefull not to be caught
by robots. If you die, you'll simply be teleported somewhere else on
the grid.

2.2 Bonus

There are two kinds of bonus in the game, which appears and disappears
randomly if the player don't take them:

A power bonus which increase your power

A blast bonus which gives you one more blast. You can use a
blast by pressing space, it'll blow some robots that are near
you.

When you go back in the time, bonus may reappear if you didn't take them.

2.3 The grid

The grid is a 20x40 isometric grid

3 Conclusion

3.1 Lisp

Lisp is very usefull for rapid game prototyping. The game had to be
done in nine days, but after 2 days it was already playable (with
awful graphics). CLOS is very nice to use and provides usefull things
(around methods etc.). Also, macros allows you to save a lot of lines of
code. By example, here's how the power bonus is defined:

It might be ok for one or two bonus only, but with the new-bonus macro we
can define easily a lot of new bonus, without repeating everytime the
same code.

3.2 Libraries

Common Lisp has a lot of libraries, but when it comes to games related
libraries, there are only two or three libraries. Or rather, there
were two or three libraries, because those dto's ILGE has motived
some people to work on games and games related libraries, and now
there are much more good games libs and bindings (see here). Even if
most of them are not officially released and still in developpement,
they're quite usable, and if you encounter some bugs you can still
contact the authors on #lisp or #lispgames.

3.3 Graphic Stuff

3b's entry made me discover OpenGameArt.org. Those kinds of site are
usefull, but really lack of content. I know a bit of gimp,
inkscape and blender, but I don't have the knowledge to create my own
graphic stuff. I think graphics are what free games miss the most, and
sites like OpenGameArt might help with that, but apparently they're
not enough known from graphists.