Umbra is an open-source computer RPG developed by Mark Hughes in 2001–2002. This is an unofficial Python 3 port of the Python 2.1 source code.
From the game's webpage:
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.
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!
The game is unfinished. There is no way to complete it and no story progression. However, the game world is open to explore. You can walk around towns and in the wilderness, which has what we would now call "biomes", enter dungeons, engage in combat, have your path blocked by a rat, buy and sell items, learn skills, and level up.
Obstacle placement is far from optimal. Dense map sectors can be frustrating to get through. Felling trees helps. You can also bypass it to an extent by walking along the sector border, which is always clear.
The original developer log is preserved in docs/history.txt
.
Python 3.8 or later. Earlier versions of Python 3 may work but are not supported. GUI is optional. Unusually for a game, Umbra can run either with first-person Tkinter graphics or in text mode.
This port has been tested on
- Ubuntu 22.04
and lightly on
- Debian 12
- NetBSD 9.3
- Windows 10
- Install Python 3.8 or later.
- Clone this repository.
- On *BSD, Linux, and Mac, run
umbra.sh
to play in graphics mode; on Windows, runumbra.cmd
. Runumbra.sh --text
orumbra.cmd --text
respectively for text mode.
For the original documentation, see docs/README.html
.
zlib.
See license.txt
.