+-----------------------------------------------------------------------------------+
                             R G C D   P R E S E N T S
+-----------------------------------------------------------------------------------+



    RRRRRRRR   OOOOOOOOOO   BB              OOOOOOOOOO   TT             ZZZZZZZZZZZ
   RRRRRRRRR  OOOOOOOOOOOO  BBBBBBBBBBB    OOOOOOOOOOOO  TTTTTT        ZZZZZZZZZZZ
  RR          OO        OO  BBBBBBBBBBBB   OO        OO  TTTTTT             ZZZZ
  RR          OO        OO  BB         BB  OO        OO  TT               ZZZZ
  RR          OOOOOOOOOOOO  BBBBBBBBBBBBB  OOOOOOOOOOOO  TTTTTTTTTTTT   ZZZZZZZZZZZ
  RR           OOOOOOOOOO    BBBBBBBBBBB    OOOOOOOOOO    TTTTTTTTTT   ZZZZZZZZZZZ

                                                                                [DX]

+-----------------------------------------------------------------------------------+
               R E V I S E D   R E L E A S E   -   J U L Y   2 0 1 0
+-----------------------------------------------------------------------------------+

0.  SYSTEM REQUIREMENTS
1.  INTRODUCTION
2.  PLAYING THE GAME
3.  RECOMMENDED STRATEGY/PLAYING TIPS
4.  KNOWN BUGS/ISSUES
5.  CREDITS
6.  CONTACT
7.  ROBOTZ DX ON THE WWW
8.  TOP DROID DESTROYERS
9.  VERSION HISTORY
10. FINAL WORDS


+----------------------------[ 0. SYSTEM REQUIREMENTS ]-----------------------------+

Robotz DX was created in GM8, and therefore should work on XP, Vista and Windows 7
PC's.  The game requires around 200MB of RAM (blame the Game Maker interpreter for 
that!) and 20MB of hard disk space.

I'm unaware of the exact system specifications (CPU, etc.), but any system capable of
running XP or Vista should cope with this simple little game.  Note that the title
screen uses slightly more CPU (about 5%) than in game.


+-------------------------------[ 1. INTRODUCTION ]---------------------------------+

Jacob was rudely awoken from a mildly drunken slumber by the shrill and piercing tone
of his military issue mobile communicator.  Blindly reaching out of bed to his jacket
pocket, he flipped open the receiver and held it up to his ear.

"Private! Get your shit together!", the voice on the other end barked. It was the
Sirius-Delta base Commander, and receiving a call from him at such an ungodly hour 
could only mean one thing; bad news.

"I need you back on base ASAP. I know you're on R&R, but HQ have an important mission
for you!"

Alarm bells went off in Jacob's head; if HQ were calling *him* back then something or
someone had seriously fucked up.

"Affirmative, Sir." he replied, struggling not to slur. 

"You'll be fully briefed before dispatch, but the short of it is that those quacks in
the military research unit were screwing around with some test EMP hardware, and 
someone set the bastard off.  Its chaos here; half the site is in flames, the 
barracks have been completely destroyed and no electronic hardware is working 
correctly - I had to get this civilian communicator shipped in by chopper!"

Jacob was intrigued. Slowly the adrenaline levels in his blood were negating the 
effects of the previous evening's alcohol consumption. "Is the base under attack, 
Sir? Who is the opposing force?"

"Negative, the situation is now under control. As for the hostile force, we 
were attacked by our own defence droids! Seems that following the blast, their
default emergency programming kicked in and they began registering everyone as enemy
targets. Alpha and Bravo squads were butchered in their sleep. The metal bastards 
caught us with our pants down."

Pausing to catch his breath, the Commander continued, "The robots on base have been
eliminated, but HQ is gravely concerned about the situation within the main RoboCorp
Industries site nearby. We are unable to make contact with them due to all our comms
equipment being reduced to garbage, and our emergency recon team has failed to 
return. You're the only available soldier within 100 clicks, and HQ need to ensure 
that any hostile robots at the site are destroyed; if any of the military droids 
based there break out to a civilised area the casualties will be off the scale."

Struggling into his uniform, the gravity of the situation sobered Jacob faster than
a bath in ice-cold coffee. "Sir, I'll be there within the hour."

"Good. We'll issue you with an auto-pistol and a belt full of clips when you get 
here, then escort you to the RoboCorp site. Unfortunately, the auto-pistols are the 
only weapon in the armoury that were unaffected by the EMP; I wish we had something
with a bigger bang to offer you, but that's all we've got."

Jacob grimaced. He didn't relish the thought of going up against an army of heavily
armoured robots, armed with what was effectively the military equivalent of a pea 
shooter.

"An auto-pistol? Even with AP rounds, that's not going to penetrate their shields!"

"Take out the shield emitters with the pistol, then eliminate the robots. Like I
said, you'll be fully briefed when you get here."

"Understood Sir."

The line went dead. Grabbing his keys, Jacob left his apartment and quickly marched
down the main corridor of the residential complex. The condensation in the cold, 
early morning air felt sharp against his skin, a cool reminder that he was a awake 
and alive. Jacob hoped that he would remain that way, but following his discussion 
with the Commander his chances of surviving the mission didn't sound promising...


+------------------------------[ 2. PLAYING THE GAME ]------------------------------+

Robotz DX is an unashamedly old-school, single-screen shoot-em-up with strategic game
play. Although simple in concept, it is a difficult game to beat; you will die many
times before you master all 30 arenas - and even when you do conquer the game, it's
randomly generated level layouts will provide a new challenge on every subsequent
play-through.

OK, with the hype and 80's sci-fi b-movie plot out of the way, let's talk about how
you actually play the game... :)

On each level, the goal is to destroy all the robots within a time limit of 60 
seconds. To destroy the (shielded) robots, the player has to blow up the red, 
pulsating shield emitters first. You'll know when you have successfully hit a target
because it will flash white.  There are bonuses to collect, and computer banks to
use as temporary cover, or to simply blow up for extra points (and note that there
is a small chance of the computers hiding an additional bonus within).

Sounds easy? Well, it isn't. The player takes one hit to kill (or contact with an 
enemy), and those 60 seconds run out fast.

<KEYBOARD CONTROLS>

Cursor Keys - Movement (8-directional).
Z/Y/C - Shoot. Hold down for auto fire, tap for rapid manual fire.
X - Hold down to lock your current facing direction (strafe).
P - Pauses game. Z or P continues play (in game only).
Q - Ends current game and returns to title screen (in game only).
F - Toggles full-screen/windowed mode (from title screen only).
I - Toggles instructions (from title screen only).
J - Toggles controller type (from title screen only).
ESC - Quits game.

The game (on first load) defaults to windowed mode with the keyboard for controls.
However, there is some limited joypad support, selectable via two seperate 
configurations by pressing the 'J' key on the titlescreen; JoyA and JoyB.

<JOYA - XBOX360 JOYPAD CONTROLS>

POV Hat/D-Pad - Movement (8-directional).
Button A - Shoot. Hold down for auto fire, tap for rapid manual fire.
Right Shoulder Button - Hold down to lock your current facing direction (strafe).
Start - Pauses game. Button A continues play (in game only).

<JOYB - GENERIC JOYPAD CONTROLS>

X/Y Axis - Movement (8-directional).
Button 1 - Shoot. Hold down for auto fire, tap for rapid manual fire.
Button 6 - Hold down to lock your current facing direction (strafe).
Button 8 - Pauses game. Button 1 continues play (in game only).

Note that the joypad code is a bit of a rush job; the button layout may not be 
suitable for your particular joypad.  I strongly recommend that after loading the
game for the first time (which creates the .ini file), you open robotz.ini
in notepad and change the shoot, strafe and pause button numbers to something more
comfortable.

In the next major build I will provide a simple joypad config utility for the game 
from which you can map your own buttons.

<THE HUD>

Across the bottom of the screen, the following information is displayed (from left to
right):

Lives left. This counter shows how many lives you have in stock. 0 means that you 
have your last man in play.

Time left. You receive a bonus of 50 points for every second left when completing a 
level, so be quick! Run out of time, and you'll lose a life.

Bullet counter. You can have 5 bullets in play at any time. Why? Well, because that's
an old-school game-play mechanic that forces the player to be careful with their 
shots and stops them from aimlessly spamming the screen with flak. ;)

Level counter. Tells you what level you are on (out of 30).

Score. Obvious really. :)

<THE SHIELD EMITTERS>

These red, pulsating and almost phallic looking devices prevent the player from 
blasting robots. When active, robots are invincible - so you'll need to take these
out as fast as possible, before the robots hunt you down. Each emitter takes 5 shots
to destroy, and rewards the player with 100 points.

<THE ROBOTS>

In total, there are 8 different types of enemy (well 9 really, but lets count the 
mini-drones and spawners as one type for argument's sake).  These are split into
three groups, and I'll use the development nicknames for them as I can't be bothered
to make up new ones; Daleks, Randoms and Spawners/Drones.

The daleks have a specific movement pattern; they track the players location, move
a step of 16 pixels (a tile) then open fire before moving again.  They have basic
path-finding AI, and will try to overcome obstacles in their way.  Learn their
behaviour - you'll need to become adept at luring them into safe locations so you 
can get past them.  As with the player, they can move and fire in 8 directions.  
They take 2 shots to kill (when unshielded), and reward the player with 100 points
each.

Silver and green daleks are the basic models, with staggered movement and firing.
Black daleks have rapid fire (gulp!) and red ones are lethal; they fire in all 
eight directions after every movement.

Randoms are a real pain in the ass, as their movement is completely unpredictable.
They travel in four directions only, but move continuously, firing every couple of
seconds (or so).  Silver randoms mostly turn anti-clockwise upon hitting a wall, and
green ones turn clockwise.  Red ones fire in all 8 directions (waaah!) and have no 
preference as to what direction they turn in.  Each is worth 100 points, and take 
two shots to kill (when unshielded).

Spawners are access entrances in the floor that open and close, and they create 
armies of little red drones that kill the player on contact. The spawners take three
shots to kill, and are always unshielded.  They reward the player with 100 points, 
as well as the peace of mind that no more drones will be produced.

Drones are weak little robots that both player and robots shots destroy with a 
single hit. Drones continuously follow the player, taking the shortest route open
to them, and are worth 10 points each (when destroyed by the player).

<COMPUTER BANKS/BONUSES>

Most levels contain a number of computer banks that can be used as temporary 
cover from enemy fire, or just blown up for a 50 point reward and the chance of
finding a bonus pickup underneath.  They take two hits to eliminate.

There are also score bonuses scattered around the levels; floppy diskettes are
worth 100 points, ROM chips and PCB's earn the player 250, and coins give a 500
point boost! :)

Points and bonuses are important in Robotz DX; every 5000 points the player will be
rewarded with an extra life (and you'll need them).

For every second left upon completing a level, the player is awarded 50 points.
You'll also earn 1000 points if you completely clear a room (all robots and computers
destroyed *and* all bonus items collected).  You'll need to decide yourself whether
it's worth the risk of spending valuable time collecting bonuses instead of blasting
droids! ;)


+----------------------[ 3. RECOMMENDED STRATEGY/PLAYING TIPS ]---------------------+

* Rapid, manual fire is the best way to play, but be cautious not to use the five
  bullet allowance on one robot as you'll have nothing left available for another
  encounter until your bullets have regenerated!

* Learn the movement and firing patterns of each robot, and use them to your
  advantage.

* Due to the random nature of the game, some levels may appear to be un-winnable; in
  fact, occasionally they will be near impossible to beat.  Remember to lure daleks 
  out of the path to the emitters by moving the player, and leg it past them when you
  can.  Their 8 directional fire means that there is always a blind spot where they 
  cannot hit you, so if there is no available cover, that's where you want to stand.
  If all else fails and you know that you cannot beat the level in time, go for the 
  computers and bonuses instead to build up your score - points will soon add up and 
  reward you with a much needed 1UP. :)

* Spawners should be given a high target priority. If they are easily accessible from
  your start location, go for them *before* the shield emitters. Battling robots is 
  hard enough without having to wade through an army of annoying little drones as 
  well!

* Play strategically. If a robot is trapped behind a computer bank, try to 
  keep it there until you are ready to confront it; don't just blow up computers
  carelessly for the score bonus. Likewise, lure robots to park on top of spawners 
  that you cannot reach to prevent them from creating more drones. 

* Note how the player fires slightly off-centre (from the position of where the gun
  is, in fact).  Use this to your advantage, especially when firing diagonally
  around corners - you can usually position yourself so that you can hit a target
  without being shot.

* Always take cover after releasing a volley of shots at an enemy so that they cannot
  retaliate just before they are destroyed.  Keep on the move so you are a difficult 
  target to hit, but be careful not to run into another firing line when avoiding 
  bullets!

* Keep an eye on the timer. Those 60 seconds don't last for very long.

* Stay calm, and don't panic!

+-----------------------------[ 4. KNOWN BUGS/ISSUES ]------------------------------+

1. Robotz DX uses Chevy Ray's system for scaling up the 320x240 resolution graphics, 
and I know that surfaces are not compatible with all video cards.  However, it works
fine on all my systems here, so I have no way of checking what the compatibility is
like on other machines.

2. Joypad support is limited to two seperate configurations; JoyA uses the POV hat 
for movement (the XBox 360 d-pad), and JoyB uses the x/y axis instead (compatible 
with Saitek pads).  As mentioned above in the game control section, the control type
used can be selected in game from the title screen, or via editing the .ini file 
after the first time you load the program.  For both JoyA and JoyB config's, the 
button mapping has to be set from within the .ini file manually. This is something 
I would like to address in the future, but for now you can use most joypads if you 
reconfigure (if necessary) the button layout, or use the excellent joy2key utility 
available from the address below (google for it if this url is dead);

  http://www.electracode.com/4/joy2key/JoyToKey%20English%20Version.htm

3. Exiting the game via the ESC key shuts down BGM.dll correctly. Using the X button 
on the game window does not. I've had to 'fix' this by removing the buttons from
the game window... Sorry! :P

4. A bug(?) has been reported regarding music failing to play on the title screen on
one user's system, but fine in game.  I've been unable to replicate this error, so I 
cannot solve it.

5. A bug has been reported regarding the graphics being displayed incorrectly; moving
sprites are instead shown as black squares and so on. This is most likely due to
incompatibilities with some video cards. As I cannot replicate this error, I doubt I 
can fix this one either! :(

6. When playing in full screen mode DO NOT ALT-TAB out of the game, as the desktop
resolution will be 640x480, and you won't be able to use your PC very well in this
mode. It will also (most likely) cause a stream of 'can't draw surface' errors when
you ALT-TAB back into the game. Sorry about that!


+----------------------------------[ 5. CREDITS ]-----------------------------------+

Design............................................................Heavy Stylus (RGCD)
............................................................................Project X

GML Code..........................................................Heavy Stylus (RGCD)

GML Advice..................................................................Chevy Ray
.............................................................................Derek Yu
............................................................................Flexaplex
...........................................................................Locomalito
...........................................................................NilsAnders
...............................................................................Ptoing
.............................................................................Torigara

Graphics..........................................................Heavy Stylus (RGCD)
............................................................................Project X
..............................................................................Vierbit

Music...................................................................505 (Paradox)
.....................................................................Crazy_Q (G-Spot)
................................................................Damo (Reservoir Gods)

SFX...............................................................Heavy Stylus (RGCD)

Testing....................................................................Locomalito
................................................................TomChi (NoExtra/RGCD)
..............................................................................Vierbit
.........................................................................Young Stylus

Robotz DX is an enhanced PC remake/re-imagining of the Atari ST game 'Robotz' 
originally by Project X. A lot of effort was made to try and contact the original
coder/artist, but to no avail. If you know who Project X is, please get in touch!

The SNDH soundtrack to Robotz DX has been used with permission granted from the 
original artists. Do not use the MP3 versions without their authorisation first.

Original game artwork is copyright Project X and was ripped on my request from the 
Atari ST version of Robotz by GGN of D-Bug (http://dbug.kicks-ass.net).

Additional pixel art and fonts by Vierbit and Heavy Stylus (RGCD).

BGM.DLL & BASS.DLL are used for mp3 playback. Sound effects were generated using
the excellent SFXR.

+----------------------------------[ 6. CONTACT ]-----------------------------------+

If you'd like to contact me to provide feedback, bug reports or anything else, just
drop me an email!  It would be great to hear why you love/hate Robotz DX, and 
friendly emails will encourage me to work on other games.

Email: heavystylus@yahoo.co.uk (Heavy Stylus)
WWW:   http://www.rgcd.co.uk/robotdx

Robotz DX is freeware, and can be freely copied amongst your friends and family. I do
not expect anything in return for developing this game, however, paypal donations to 
the above address will be very gratefully received and will further motivate me to 
complete future projects! :)

A boxed, CD copy of the game complete with source code and all assets used will be
povided to anyone who makes a contribution of £5 or more, and you'll be added to the
beta testing team for my next release (if you are interested).


+-----------------------------[ 7. ROBOTZ DX ON THE WWW ]---------------------------+

Homepage: http://www.rgcd.co.uk/robotzdx/
Pouet Entry: http://www.pouet.net/prod.php?which=55240
IndieDB Entry: http://www.indiedb.com/games/robotz-dx
Yoyo Games Entry: http://www.yoyogames.com/games/130972-robotz-dx

Review on BDL: http://news.bigdownload.com/2010/07/09/freeware-friday-robotzdx/


+----------------------------[ 8. TOP DROID DESTROYERS ]----------------------------+

The following players have sucessfully completed the game (list generated July 2010).

  Calvin Nguyen..............................................................201660
  Alex Weldon................................................................188100
  Erico Monteiro.............................................................181700
  Vierbit....................................................................176970
  Pixel Prospector...........................................................160720
  Heavy Stylus (Beaten at my own game!)......................................150870


+------------------------------[ 9. VERSION HISTORY ]-------------------------------+

Version 1.02:
Improved joypad support and fixed a bug that prevented joy2key and xpadder working
with the game (whoops). Improved the .ini file system so that selected joypad 
config is automatically saved, and hiscore is recorded even if you quit mid-game.
Also, reworked the tutorial code so that you can only not skip the intro on your 
very first play of the game (again this is saved in the .ini file). Fixed the 
windowed mode so that the game window can be hidden (previously it always stayed on 
top). Tweaked level 25 so that spawners don't appear in difficult to reach 
locations. (July 2010).

Version 1.01:
Added basic (amateurish) XBox 360 Pad support, fixed some bugs with the .ini file 
load, added a title to the game window, corrected the drone hatch animation, fixed a
score bug by freezing the player when a room is cleared and slightly reduced the size
of the player hitbox (July 2010).

Version 1.00:
Initial Release (June 2010).
               

+--------------------------------[ 10. FINAL WORDS ]--------------------------------+

First of all, an apology to Project X and fans of the original game; Robotz DX is NOT
a straight 1-2-1 remake of the Atari ST public domain classic.  The design evolved
during development to the point where only the basic dalek movement and shield- 
emitter-destroying game-play is faithful to the source material, so really this
should be considered a tribute to Robotz, or a re-imagining.

Let's discuss the differences (in brief). In the original Robotz, the walls were 
deadly (not at all fun), shield emitters took about 20 shots to destroy (annoying) 
and the player only was allowed to fire one bullet at a time. Also, the robots had
only one movement pattern, and took turns in moving one tile at a time. There were a
maximum of six robots in a level, and shooting at them when shielded paused them for
a second or so.

The deadly walls were removed first, but then the game became too easy, so pausing
robot moves was removed and two shot kills were implemented to make it harder.
Simultaneous robot movement/firing and more aggressive attitudes meant that I had to
balance the game by adding more player shots.  Bonuses, computers, and more enemy 
types were simply added to provide variety and more bombastic action.

The end result is a game that clearly resembles the original, but plays as though it
has been injected with steroids.  When playing, I find Robotz DX to be equally 
addictive and frustrating - which was exactly what I was aiming to achieve. :)

I suppose that I should also add here the confession that Robotz DX is my first
post-tutorial Game Maker game and although it was written in GML instead of D&D, the
structure and code is pretty shoddy.  I think I've killed off most of the bugs, but 
I'm sure there are more in there. :P

I'll probably create a follow-up to this game in the future, with larger rooms 
(8-dir scrolling), interactive scenery (doors, switches, etc.), more enemy types
(and large boss enemies), etc., etc.  But let me improve on my GML by working on a 
couple of smaller projects first ;)

Read the scroller on the title screen for the extensive greets list and further info
on the game, and look out for the release of 'r0x zer0' for the Atari STE (hopefully)
later this year! (Yeah, we're still working on it!)

Robotz DX is dedicated to my son, Jacob James Monkman, who was born during the game's
development.  The game itself was created solely for shits and giggles while Tomchi
was busy with coding r0x zer0.

(James Monkman/HS)


+---------------------------------[ END OF FILE! ]----------------------------------+
