KleinRL: 7DRL failure, 14DRL success!

S D kleinroguelike at gmail.com
Mon Oct 25 10:15:49 PDT 2010


Hi everyone,
Two weeks ago I started a 7DRL project. After a week I'd made more
progress than ever before on a roguelike (I hadn't completed a
roguelike before), but not made a playable game. I decided to try the
project as a 14DRL instead, and the result is KleinRL!

Download link: http://sliekas.org/quendus/kleinrl.zip
Roguebasin article: http://roguebasin.roguelikedevelopment.org/index.php?title=KleinRL

The game requires python and curses bindings. The file to run is
kleinrl.py, but have a glance at rtfm.txt (reproduced here) first:

> kleinrl.py is the file to run.
>
> kleinRL is set on the surface of a klein bottle,
> which is rather different from a torus.
> kleinRL requires python and a python curses module.
>
> 'd'iggers like to move the walls around; they can cause inconvenience.
> 'z'ombies just walk around randomly; they're annoying.
> 'h' is supposed to be running away from you, but can be vicious when cornered.
> 'B' and 'D' want to kill you!
> all of these might have picked up nice equipment from the floor.
> equipment is green, consumables are blue.
> better equipment will generally have a cooler name.
>
> you can walk with vi keys or number keys. you can only rest with 5.
>
> press 'p<dir>' to 'p'ick up a piece of the wall and do the
> same again to drop it in an empty space.
> press 'w[-](0-9)' to 'w'ear/'w'ield a piece of equipment from
> inventory or floor (no rings on toes or other silliness)
> press 'g(0-9)' to 'g'et an item from the floor (identifier required if there's more than one item)
> press 'd[-](0-9)' to 'd'rop an item from inventory or equipment (free action)
> press 'e' to list current 'e'quipment
> press 'i[-](0-9)' to 'i'nspect items in inventory/equipment. Only really useful in debug.
> press 't(0-9)' to 't'ake off equipment
> press 'q[-][(0-1)' to 'q'uaff a potion from inventory or floor
> press 'r[-][(0-1)' to 'r'ead a scroll from inventory or floor
> press 'x<dir>*' to e'x'amine tiles
> press '{[-](0-9)' to inscribe an item (overwriting previous inscription)
> press '}[-](0-9)' to uninscribe an item from inventory or equipment
> press 'P' to pray for potentially useful effects (or a smiting)
> press 'Qy' to quit

Warnings: code is quite spaghettified due to 2 all-nighters and less
than 14 days spent actually working on the project; code isn't yet
optimised for speed, though in a turn-based roguelike that's only a
problem if you want to play on legacy hardware.

Advice, comments, criticism, berations, and especially bug reports
welcome. (but be gentle, this is my first completed RL)

--

emails should be sent to "quendus" at google's domain for email,
rather than this address, which is sacrificed on the spam altar.


More information about the roguelike-announce mailing list