summary refs log tree commit diff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md141
1 files changed, 141 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3533ac0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,141 @@
+# Black Shades
+
+Black Shades was one of the winners of the uDevGame 2002 contest,
+out of about 40 contestants.  David Rosen aimed for a much simpler
+graphical style than in GLFighters and Lugaru in order to complete the game
+within the deadline. In Black Shades you control a psychic bodyguard,
+and try to protect the VIP (dressed in white) from a horde of zombies,
+snipers and other assorted would-be assassins.
+
+## Unique Features
+
+* Infinite randomly generated city
+* Rag-doll skeletal animation
+* Soul release mode
+* Fluid aiming system
+* Stop assassins by shooting them, knocking them unconscious,
+  disarming them, tackling the VIP out of the line of fire,
+  or any combination of the above
+
+## Instructions
+Try to keep your VIP (the guy in white) alive as long as possible.
+The assassins will all try to shoot or stab him to death.  You must do
+all you can to prevent this.  Your reputation has preceded you, so the VIP
+has absolute confidence in your abilities and will completely ignore all
+the assassins.  When an assassin is aiming at your VIP with a gun, you will
+psychicly see a line of sight extending from him to your VIP.  This line
+will narrow and redden until it disappears and the assassin fires.  Depending
+on the situation it may be best just to shoot the assassin(s), or to dive
+and tackle the VIP to the ground to avoid the bullet.  Unfortunately
+your psychic powers do not show the line of sight of knife-wielding assassins.
+
+If you are feeling overwhelmed you can use psychic aiming to temporarily
+speed up your thought processes and aim your shots better.  If there are
+no visible enemies you may want to release your soul and look for
+nearby enemies.  When your soul is released your VIP pulsates between
+blue and red, civilians between black and red, and assassins are solid red.
+
+If you die or your VIP is killed, the level restarts.  If you are interested
+in the theory behind this: you are a psychic bodyguard, so you can see
+small distances into the future. The failure only occured in a possible future
+which you are now going to try and avoid.
+
+### Controls
+* wasd = walk
+* shift = run
+* mouse = look
+* control = crouch/zoom
+* click = fire (while aiming) or smash (while running)
+  or pick up gun (while crouching over a body and not aiming)
+  or disarm (while not aiming)
+* q = aim or un-aim (important for picking up guns)
+* r = reload
+* e = psychic aim
+* z = toggle soul release
+* space = dive (while running forwards)
+* ctrl+g to grab/ungrab the cursor
+* alt+enter to switch to fullscreen and back again
+
+Keys for debug mode:
+* tab = 3rdperson toggle
+* f = force push :)
+* shift-x = switch weapons
+
+### Scoring System
+* 150 points for a successful disarm
+* 300 points for destroying a zombie (by blowing its head off)
+* 100+50x points for completing a mission where x is the mission number
+  (i.e. 450 points for completing mission 3)
+* 75 points for incapacitating an assassin, +50 if he had a knife
+* -300 points for hurting a civilian
+* -200 points for allowing the VIP to die
+
+The penalty for failing to protect the VIP is halved if you kill the assassin.
+
+You can edit levels by setting `Custom levels` to 1 in the config
+and editing the `customlevels.txt` file in the data folder.
+
+### Weapons
+#### Bare Hands
+Smack people with them.  Or if you want to be nice, walk or stand (don't run)
+near somebody with a gun and take it away.
+
+#### Knife
+Like bare hands, but deadly and with longer range.
+Look out for knife-wielding assassins, they are the most dangerous.
+
+#### Handgun
+One shot with this should be enough to incapacitate
+any human target, but they may remain conscious for a second
+(this can be bad if they are about to stab your VIP, aim for the head).
+
+#### Magnum
+Not as much ammo as the vanilla handgun, but one shot is an instantenous kill.
+
+#### Assault Rifle
+This weapon has quite a kick and is bigger and more unwieldy than the handguns,
+but it has a large magazine and can fire quickly if necessary.
+
+#### Sniper Rifle
+A bit more powerful than the magnum, with a scope.
+Very difficult to aim unless you are zoomed in (zoom by holding the control key).
+
+#### Shotgun
+Aim and shoot.  Very powerful but somewhat inaccurate.
+
+#### Grenade
+Hold down the mouse button to take out the pin, release the button to throw it.
+Crouch to change your mind and put the pin back in. You can knock people out
+if you hit them in the head, or of course you can just blow them to pieces.
+
+## Troubleshooting
+Right now it's all compiling...
+
+If you want fullscreen at startup, currently you have to `-DFULLSCREEN`.
+It is not recommended on OS X however as it seems to have a problem keeping
+the mouse properly grabbed, thus requiring some key combination.
+
+The only known bugs are:
+* It doesn't work too well under classic emulation
+* Occasional collision detection issues
+* Turning virtual memory off can cause speed issues
+
+## License and Credits
+Black Shades was originally developed by David Rosen for a Macintosh game
+programming contest called uDevGame held by iDevGames.com in 2002 and released
+under the freeware uDevGame License.  In 2021, David Rosen relicensed the game
+under the terms of the GNU General Public License version 3 or later.
+
+Main menu music is included with permission from musician John Graham,
+Copyright 2002.  Due to legal difficulties all other music is composed
+by David Rosen at the last minute based on some nice loops made by
+Carlos Camacho, hence the *programmer music*.
+
+Artist David Drew modelled the assault rifle,
+sniper rifle, handgun, shotgun and grenade.
+
+David Rosen's other friends and beta testers also helped
+during the early phases of development.
+
+Black Shades was ported to other operating systems by relnev,
+theoddone33, icculus and zakk.  The Bug was fixed by Toby Haynes.