Links List for The Light Princess
This is a collection of links frozen from the Wiki Site.
Please go there to add links and/or see the newest ones. Periodically,
I will update the links to this site so as to have them on the
You need some other programs in order to run The Light Princess,
so here are some links to their parent sites. Although the fancier tricks
in AutoManga and Emerald will (I hope) make game play much more interesting, it is
important to note that we can implement a working game using little
beyond the existing PUB implementation and "state machine" characters. So
we do have a bit of hedge on betting on these riskier technologies (besides,
what do we have to lose?).
Originally this was going to be the entire game engine, but I've streamlined
the project down to its one really interesting feature, which is the generation
of active manga-animation-style avatars based on character emotion. This will
allow our character agents to "express their emotions" which will be an important
part of the game play in The Light Princess. Other aspects of the
game engine are mostly provided by existing components now, so that the new
game engine "Universe" is just a thin framework tying them all together.
- Python Universe Builder
PUB is an interactive fiction (text adventure) game package that maintains
a "topological world" model for the game, parses commands, and manages character
and item objects in the game world. The same technology can be used to drive
the game-logic for a graphic (even 3D) game, and this is what we are doing
for The Light Princess. "Universe" will be just a graphical shell around
the Python Universe Builder, from whence comes its name (actually, there's
a bit more to it than this, but that's the idea.
Emerald will be a "shallow broad emotional agent" add-on for Python
Universe Builder and Universe, based on ideas from Carnegie Mellon
University's Oz Project,
a 4-D phase-space "emotion" implementation based on literature on
modeling real emotions, and ideas derived from Rosalind Picard's
book, Affective Computing, and references therein.
- You will need version 2.3 or later to run the Universe game engine which
TLP is to be based on.
PyGame is an SDL library binding for Python with lots of support for writing
games. TLP runs on top of PyGame, and thus on SDL. You may also need a
patch (but I haven't written it yet) to provide SVG rendering via Cairo.
Not surprisingly, you also need the Simple Directmedia Layer (SDL) library
to run TLP. This provides cross-platform multimedia support for C or C++
(and via PyGame, Python).
AutoManga uses SVG data for storing animation cels, and the libsvg-cairo
library is used to render SVG data to SDL surfaces.
- Soya 3D
Universe uses Soya 3D for the 3D-rendered part of the game (basically,
the "walk mode", so obviously, you need to have Soya installed.
Build Dependencies & Authoring Tools
In addition to the dependencies for running the program, there are
a number of software packages you're going to need for working on
development of the game or contributing creative work to it.
Skencil is a python scriptable vector graphics application (other
than its scripting features, Skencil is comparable to Corel Draw,
Adobe Illustrator, or Inkscape. I am creating a number of Skencil
scripts (and possibly Plugins) to facilitate development of the
game (mainly through AutoManga. You will also want to visit the
page for additional scripts.
I don't plan to use Gimp so much on this project, because we are
relying more on vector graphics. However, when you want a "painted"
look to a static view or background, bitmap graphics will be the
way to go, and Gimp is the tool to do it with. Gimp will also be invaluable
for creating texture maps to be used in 3D models.
When we started The Light Princess, Blender was a
free download, but not "free software", so we were waffling
a lot about relying on it. However, in the intervening time, while
The Light Princess was closed down, a miracle happened, and
Blender was sold off to the community to be open-sourced under
a GPL license. Halleluiah! Anyway, Blender is the 3D modeller of
choice on this project, and will be used for creating "sets", "props",
and armature-based 3D characters. Low-poly / fast-rendering models
will be used in 3D mode, and high-quality ray-traced output will
be used for some of the still images used in the game.
Other Free-licensed Graphic Adventure Games
The Light Princess is not the only free-software adventure
game, nor the only one written primarily for Linux (in fact, TLP
will be cross-platform, because of SDL -- it should play fine on
Windows or Macs).
(Please see the wiki links list for games).
About George MacDonald and his work
We'd be nowhere without our muse. George MacDonald was a brilliant
and subtle 19th century fantasy writer who influenced many later
writers, including J.R.R. Tolkien. Here's some more information
about him, including some of his other works (The Light Princess
is by no means his most popular work, though obviously we like it!).
This page will get updated only infrequently, but the Wiki page
should be much more active. Go there to find more recent links,
and in particular, to add your own references for the game.
Project services hosted by:
- George MacDonald on Wikipedia
The Wikipedia entry is a good starting place.
- George MacDonald at Project Gutenberg
Project Gutenberg has a number of stories by MacDonald in its
database, including The Light Princess, The Princess
and the Goblin and many others.