Package: shadowloss
You have no shadow, your limbs are all sticks, and your movements look
funny. You have been transformed into a stickman.You have the ability to run very fast —extremelyfast. You can
run so fast that you are in a constant risk of hurting yourself. If
you don’t slow down, you’re going to run straight into a wall and die.But how to slow down, you ask?When you were a stickboy you had trouble learning the alphabet. To
this day your stickfriends still tease you. However, you have just
realized that letters are everywhere, and that whenever you pass a
letter while running, you just have to press that letter on your inner
keyboard. This will both make you learn the alphabet and slow down
(because you have to concentrate about the letter).There is a catch: if you press a letter on your inner keyboard when
you’re not passing it on your running path, your mind gets chaotic,
which makes you run even faster. You are forced to concentrate so that
you can come to a complete stop before you reach the wall.Later on, when you have realized the power of the alphabet, you must
learn to accept how numbers behave as well. The thing is, passing
through numbers make you go faster for a while. For example, if you
cross the number 3, your speed will be greater for 3 seconds, after
which it will decrease. The reason why you react this way is because
youlikenumbers. You simply don’t have to concentrate to understand
them — and because of that, you speed up, but only until you realize
that you should slow down. The higher the number, the longer it takes
for you to realize that. If you feel like it, you can always destroy
numbers with your laser beam, but sometimes it may be beneficial to
speed up temporarily.Licenseshadowloss is free software under the terms of the GNU General Public
License version 3 (or any later version). The author of shadowloss is
Niels Serup, contactable atns@metanohi.org. This is version 0.1.0 of
the program.The libraries used by shadowloss are GPL-compatible.All data (music, sounds, etc.) is available under free licenses. See
the details in the file LICENSING.txt.InstallingWay #1Just run this (requires that you have python-setuptools installed):$ sudo easy_install shadowlossWay #2Get the newest version of shadowloss athttp://metanohi.org/projects/shadowloss/or athttp://pypi.python.org/pypi/shadowlossExtract the downloaded file and run this in a terminal:# python setup.py installDependenciesPython 2.5+ is probably a requirement.shadowloss depends on cairo and cairo’s Python bindings for generating
images. To install it, do one of these things:For DEB-based distros (Debian etc.): typeapt-getinstallpython-cairoFor RPM-based distros (Fedora etc.): typeyum install pycairoFor other distros: do something similar or get it athttp://cairographics.org/download/shadowloss depends on PyGame 1.8.1+ (perhaps earlier versions are also
supported) for showing generated images. To install it, do one of
these things:For DEB-based distros (Debian etc.): typeapt-getinstallpython-pygameFor RPM-based distros (Fedora etc.): typeyum install pygameFor other distros: do something similar or get it athttp://pygame.org/download.shtmlshadowloss depends on qvikconfig for parsing config files.Web address:http://pypi.python.org/pypi/qvikconfig/License: GPLv3+Installing:easy_install qvikconfigAuthor: Niels SerupNote thatqvikconfigis included with shadowloss, so you don’t really
have to install it.Optional extrasIf present, shadowloss will also use these Python modules:termcolorWeb address:http://pypi.python.org/pypi/termcolor/License: GPLv3+Installing:$ sudo easy_install termcolorAuthor: Konstantin Lepa <konstantin lepa at gmail com>Note thattermcoloris included with shadowloss, so you don’t
really have to install it.setproctitleWeb address:http://pypi.python.org/pypi/setproctitle/License: New BSD LicenseInstalling:$ sudo easy_install setproctitleAuthor: Daniele Varrazzo <daniele varrazzo at gmail com>UsingSimply runningshadowlosswill start the game with its default
options. Runningshadowloss--helpwill show a list of available
command-line options. These options can also be specified in config
files, but they cannot be changed in-game (that would clutter the
interface). Config files use aproperty = valuesyntax
(e.g.fullscreen = trueorsize = 640x480) separated by
newlines.Controls<letter>: letter
<SPACE>:  when playing:           laser beam
<SPACE>:  when level is finished: next level
<RIGHT>:  when level is finished: next level
<LEFT>:   when level is finished: previous level
r:        when level is finished: restart level
ESCAPE:   quit programCreating levelsshadowloss levels are simple config files. They consist of global and
local options.Global options:start speed(what speed to start at, default 1.0)stop speed(what speed to stop at, default 0.0)start position(where to start, default 0.0)length(length of level, default 500)speed increase(when pressing a wrong letter, default 0.5)speed increase per second(default 0.0)stickfigure(what stickfigure to use, currently only ‘zorna’ and
‘bob’, default ‘zorna’)font heightletter height(default 75, overrides ‘font height’)number height(default 40, overrides ‘font height’)default temporary speed increase(during number penalties)default speed decrease(when pressing a correct letter)default object duration(the duration of a subobject, default 0.5)default letter duration(overrides ‘default object duration’)default number duration(overrides ‘default object duration’)default object destruction duration(the time it takes for a laser
beam to destroy the object, default 0.3)default letter destruction duration(overrides ‘default object
duration’)default number destruction duration(overrides ‘default object
duration’)lettersnumbersExcept forlettersandnumbers, all of these options need only
simple numbers assigned to them.lettersandnumbersare
lists, and they offer support for local options.Syntax:letters|numbers = <position>:<letter1>(opt1=val1;opt2=val2;...):\
<letter2>:...[opt3=val3;opt4=val4]Options enclosed in()are local options, while those in[]are global (object-wise).Local options:lettersdec(overridesdefault speed decrease)dur(overridesdefault letter duration)ddur(overridesdefault letter destruction duration)numbersinc(overridesdefault temporary speed increase)dur(overridesdefault number duration)ddur(overridesdefault number destruction duration)Example:letters = 230:A(dec=0.3;dur=1;ddur=0.1):Q:R[dur=0.5]Developingshadowloss is written in Python and uses Git for branches. To get the
latest branch, get it from gitorious.org like this:$ git clone git://gitorious.org/shadowloss/shadowloss.gitThis documentCopyright (C) 2010  Niels SerupCopying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without any warranty.