Maze Race by Andrew Roth
copyright October 1998


Description
===========

Maze Race is a fun game for all games.  Each player, up to four
on the same computer, control an arrow.  The rules are simple:
Be the first to reach the indigo ending point, while hitting the
wall as few times as possible.  Players can change their color,
and keys, but where Maze Race really shines is it's ability to
easily create custon mazes.  966 kb zipped, requires windows 95.
And the best part is, it's TOTALLY FREE.  Feel free to distribute
as long readme.txt, a working setup.txt, MazeRace.exe and the
first 8 mazes are included.  HAVE FUN!

IMPORTANT NOTE
==============

Maze Race does not run properly in anything lower than "True Color
(24 bit)"

To change this setting, right click on your desktop, and choose
"Properties".  Then choose the "Settings" tab.  The "True Color"
option is then under "Color palette"

However it will still run with anything < 24 bit, just in the
starting you will not start in the exact center.

--also--

the mazes themselves are .jpg when you expand them, as they are
smaller, but in some cases (usually depends on color, ie 24 bit)
the endings -will not work properly-.  If you have the 3 meg to
spare I highly recomment you use the .bmp's!!

The mazerace.zip should contain:
================================

MazeRace.exe - the actual executable of the game
readme.txt - info about maze race.  This file.
config.txt - has settings stuff of maze race.
setup backup.txt - a backup of the setup file, if the original gets
                   screwed up, lost, ect
maze1.jpg \
maze2.jpg  \
maze3.jpg   \
maze4.jpg   |- 8 mazes I've made.
maze5.jpg   |
maze6.jpg   /
maze7.jpg  /
maze8.jpg /

maze4.bmp - the same thing as maze4.jpg but in .bmp format, just as
            a .bmp example
mazesBMP.zip - contains all of the mazes in .bmp format.  They are
               better in .bmp format and I do suggest you use those
               instead, if possible...but the .jpg's are much smaller.

Msvbvm50.dll - file needed to run maze race.  Put in same
                 directory as MazeRace.exe .
Tabctl32.ocx - another file needed to run maze race.  Put in same
                 directory as MazeRace.exe .

General
=======

Maze Race was made in Visual Basic 4 (then recompiled in 5), from 
scratch, except for using bitblt which I got from the book, "The
black art of Visual Basic game programming", both great books check
at your local bookstore for them!  Maze Race is released as
freeware, use it all you want!


Keys Explanation
================

To change a key, click on a BUTTON (in the settings part that is)
then just hit the key you want to correspond to that direction.

To set someone's keys to the arrow keys, click the "arrow keys"
button (in top left area of "Keys:" frame).  What is set in the
text boxes aren't accurate for the arrow keys.  The button is
necessary because Visual Basic doesn't take arrow keys as a "keydown"
event, but that button will set the player's keys to the arrow keys.

There are two methods players can set their keys to - clockwise or
literal.  For both, there are four keys:  Left, right, up and down.

In clockwise, the up and down keys become accelerate and deaccelerate
respectively, and the right and left keys become turn clockwise and
turn clockwise respectively.

In literal, left right up and down are used, well, literally - if you
hit "up" key, for example, your arrow will turn until it gets into the
upright position.  In addition, if you are facing a direction and you
hit that direction's key then your arrow will accelerate.  However,
this makes it hard to move in a diagonal direction, so I added an
actual accelerate key and deaccelerate key (these are ignored when
the type is set to literal).

ps - if the keys seem to not work, try clicking on the maze
thing itself, as it has to be in focus to receive any key
events.


Setup.txt, other player settings, and General Preferences
=========================================================

Maze Race loads up setup.txt for the settings.  You can modify this
text file but I recommend using the "Edit settings" part of the Maze
Race program.


Player preferences in the setup.txt are:

- each player's key type, literal or clockwise.

- each player's up, down, left, right, accelerate, and deaccelerate
  key.

NOTE: for the keys, they sometimes appear inappropriate.  For example,
the keypad keys appear as lowercase letters.  I don't know why this
happens, just work with it (as it still works in the game).

- each player's color, held in red, green, blue values (0,0,0 is
  black, 255,255,255 is white).


Also in the setup.txt are general preferences which apply to ALL
PLAYERS:

- Angles In One Turn, how many degrees a player will turn when a turn
  button is pressed.  Usually set to 30, but feel free to modify it
  to your likeing.

- NumbPlayers, how many players set in each game.

- interval, this is how fast things are moved, in milli-seconds.  Set
  higher if things are too hard.

- factor, this is basically how fast players move.  3 is a good speed,
  set it lower if things are too hard.  Oh, the + and - keys near the
  backspace key modify this in the game, + making things faster
  (increases factor) and - making things slower (decreases factor)

- currpath, this is the path the current maze.  Maze Race will load
  this when it is run.  If there is no drive given, Maze Race will
  take it that the maze is in the same folder the the Maze Race
  executable is in.  Therefore, if you get a "Path not found" run-time
  error 76 when MazeRace.exe is run, try deleting any path/folder stuff
  in currpath.


Creating your own mazes
=======================

A great feature of this game is that anyone can make their own mazes.

IF YOU MAKE A COOL MAZE, SEND TO AS A (zipped) TO: canuck3@hotmail.com

Just run a graphics editor that can write .bmp file (mspaint which
comes with windows does nicely - just go start menu -> run ->
mspaint, and Paint Shop Pro also works great, search for it on the
internet, it's shareware).

Maze race can also read in .jpg files, they are usually smaller which
is their main advantage.  mspaint does not write .jpg files but Paint
Shop Pro does.

The starting point is indicated by a magenta pixel:

Red:   255
Green: 0
Blue:  255

The furthest left then the most northern magenta pixel is taken
as the starting point.


The ending point is indicated by a cyan pixel.

Red:   0
Green: 255
Blue:  255


To create a circular starting/ending point where you start in the
middle, make the colors just slightly off - instead of 255 use
250 for one of the colors, then make the correct pixel color in the
very center.

To make walls, just make a black line of

Red:   0
Green: 0
Blue:  0

and be sure to make it THICKER THAN 1 PIXEL, otherwise the arrows
(players) can go through it.

Oh, the same idea for the circular starting points can be used
with walls, try to find out what I mean in maze8.  Hint:  it's in
the SE, at mouth level :)   It doesn't seem to work in 16 bit
colour though.

Lastly, be creative..theme mazes or even things that aren't mazes
are great ideas, infact the possibilities are endless - maybe multiple
endings??


Msvbvm50.dll (and Tabctl32.ocx)
===============================

Maze Race requires this dll.  It is inlcuded in the mazerace.zip.

If you have Msvbvm50.dll already, then don't expand the one in the
zip.  If you don't have it, expand it either to the same folder
as MazeRace.exe or to c:\windows\system\ .  Both will work.

Oh, don't worry, they are entirely safe for your computer.  As I made
maze race in Visual Basic 5 (well compiled it in VB5 atleast), it seems
to want that .dll file to run, that's all.

The same goes for Tabctl32.ocx

About the author
================

Yeah, me :)  In grade 10, enjoys programming, playing games (TA!!!),
volleyball, tennis, baseball.. if you have any comment/suggestions
I'd love to hear em, send them to cm479@freenet.carleton.ca or
canuck3@hotmail.com !

Special thanks to:

Oskar for his encouragement and suggestions
PF for explaining the math stuff and other help
Oskar, Mantis, PF, and mecca for beta testing