Umbra is an open-source computer role-playing game written in Python.
The world is randomly-generated for new play every time, but there is an
eventual goal and storyline. It was heavily influenced by roguelike games,
Alternate Reality,
console RPGs, and the works of
H.P. Lovecraft and
Clark Ashton Smith.
You can also read my Design Notes, which lay
out what the game is, why it is this way, and what's coming for it.
Umbra is set after a Lovecraftian apocalypse - the ancient god Mogth has
risen from ages of deathlike slumber, conquered the world, thrown down
civilization, and now man huddles in primitive communities, scattered and
dying out. You play a band of heroes who will attempt to free humanity!
open the "umbra" folder and double-click on umbra.cmd
Windows:
open the "umbra" folder and double-click on umbra.bat
Start a new game, wait a few moments for it to create the world, create
one or more characters, and you will see a starting town! If you walk into
the wireframe grid at the edge of the map, you enter a new "sector". The
world is vast, though currently only the town and plains are populated.
Your game is saved automatically when you quit. If you want to make
backups of a saved game, Copy it from the main menu.
If you get the message "RuntimeError: Bad magic number in .pyc file", you
don't have Python 2.1; the bytecode format is different between every minor
version, and very different from 1.5. You can get Python 2.1 at
Python 2.1 download.
Peformance is a problem. I develop on a K6-2 550MHz/128MB, with a crappy
video card, and get acceptable but not great speed. If you're below that,
`-viewdist 8` will probably make a huge improvement. You probably can't
plausibly run it on less than a P-200. And you know, 15 years ago,
Alternate Reality did almost as much (with better graphics, oh, the shame
and humiliation) on a 1.77MHz 6502/64K. To compute is to laugh.
Send me some feedback at
<mark@markdamonhughes.com> -
let me know if this is the greatest thing you've ever seen, or if you had
troubles installing or running it, or if the interface is just awful, or
anything you feel like sharing with me.
I WANT TO HEAR YOUR OPINION.
Thank you.
You can use the following options on the command line:
umbra.sh/bat/cmd <OPTIONS>
-hack
If specified when you start a new game, you will start at the door of
a temple, one sector west of the usual starting town (so head
towards the sunrise to get back to town), with some minimal equipment
instead of cash.
-viewdist {distance}
Changes the number of grid squares (2m*2m) ahead and to the sides that
you can see. The default of 8 is just barely acceptable on my own
machine, so you might want to lower it if you have a slow video card, or
increase it if you have a fast one. (The default used to be 16, but the
lighting slowed things enough that a lower default made sense).
-nolight
Disables lighting, which requires some heavy processing at present; as
soon as I can optimize the lighting code, this option will be going away.
-nolightlos
A less drastic solution, this disables line-of-sight checks for
lighting, so that light sources work through walls, doors, etc. This
option will also go away when the lighting code is sped up.
-timing
A debugging tool, if you're not sure why it's so slow on your machine,
this shows exactly what's taking up all the time. "turn" includes
updating other creatures and your map. "redraw" includes, among other
things, working out the lighting. "showMap" is the actual drawing of
everything, "showSky" is just the sky-based part of showMap, and "update"
is the redrawing of the player status bar. If your showMap is the largest
part, your video card is not up to snuff. If your turn or redraw is
higher, you need a faster CPU.
-size {pixels} (UmbraTk only)
Changes the size of the view window; the default is 480 now.
-fog (UmbraTk only)
Turns on distance fog, which makes objects "popping" into visibility
more acceptable for some people.
Each grid shows a 'map key' (@, A..H on this example), which is
defined below the map; then a two-character terrain type, also defined below
the map; then the light level, 1..9 indicating 10-90%, ' ' indicating
fully-lit. Any empty grid is not visible, either because it is blocked by a
wall, or because it is too dark to see.
It's not pretty, but it's usable if you don't have a machine fast enough to
run the Tk version.