Caveman, a game by Neil Chinnery
================================

O.K. it's finaly finished - well, at least it's finished as far as I'm
concerned ;-)

This game was written using the wonderful freeware C/C++ compiler, DJGPP.  If
you haven't got it, get it.  It's the best C/C++ compiler I have ever seen;
the support is second-to-none, and best of all, it's free!

The game also makes extensive use (well alright, couldn't have been written
without) the superb Allegro library by Shawn Hargreaves.

The game comes supplied with three levels and a level editor that lets you change
and/or create your own levels.  It also comes with the source code to both the
game and level editor so you can see how I did it.

To run the game, just type:  Caveman

To run the level editor, just type: leved levelx.npc
where 'x' is the level number you wish to edit, e.g. level2.npc

Once inside the level editor, everything should be self-explanatory.  The only
thing that needs to be explained is the 'Place Enemies' function.  When you click
on this, the screen will show you the available enemies.  Select the enemy you
wish to place by clicking on it - your cursor should then change to that sprite.

Enemies are placed on paths that go right-to-left.  To define a path, click on
the start point (i.e. the right-most point you want your sprite to go to), then
move the cursor left until you reach the left-most point and then click again.
All being well, the screen should now show two sprites facing each other from
the beginning and end of the path.  These two sprites represent the path that
your *single* sprite will walk along - when it gets to the end of the path it
will turn around and walk back to the beginning, and so on.

If you want to create your own levels in addition to those that are already
there, you will need to change the source code and re-compile the game.  It
should be obvious what you need to change, but for the sake of clarity, here
is an example:

You have created a level called level4.npc using the level editor.  You then
need to change the definition of MAXLEVELS on line 21 of the file caveman.c
to read '4' instead of '3'.  You will then need to add the following line
after line 418:

if (curlev==4) sprintf(levl, "level4.npc") ;

then recompile the program with

gcc caveman.c -o caveman.exe -lalleg

And there you have it - another level added to the game.

I hope that the game is fun to play and that the source code helps you with
your own projects.  If it does, let me know - I'd love to hear from you.  If
you design your own levels, it would be really nice if you would send them to
me - if I get enough, I will put them up on my web-site for everyone else to
download and play.

As I said before, as far as I'm concerned the game is finished.  If you want
to add to it or nick any of the routines, please feel free to do it - just
give me some credit in whatever you use it for. Feel free to e-mail me if you
are unsure of how some of the code works, or if you just want to say Hi!
However, please don't e-mail with bug reports, suggestions for improvement,
etc. - like I say IT'S FINISHED AS FAR AS I'M CONCERNED!

Finaly some thanks:-

To Shawn Hargreaves for the awesome Allegro Library and all his help

Ari Feldman for the superb graphics

David Jenkins for a huge list of suggestions - I've only had time to implement
a few of them (sorry David), but there are some other things that I've been
hankering to look at for a while now, and I can't wait any longer ;-)

Joel Utting for some bug-fixes, a major improvement in the speed of the game,
and some good constructive criticism (sp?) - are you ever gonna finish your
level Joel? ;-)

Dominic 'Oh My God' Cooney for the game-speed control routine (hopefully the
game should now run the same regardless if you are using a 486 66mhz or Pentium
II 266mhz), for the additional level, for solving the 'jump-left and gpf' bug
which drove me mad for ages, and for the encouragement.  Also an apology to
Dominic for mis-spelling his name in this file in the first release - Sorry
Dominic :-(


That's more-or-less it from me.  Enjoy the game, hope it provides some fun.

You can contact me at:

cs19@cityscape.co.uk

or look at other stuff on my web-site at:

http://www.geocities.com/SiliconValley/Park/1077

If you do go to my web-page, please take the time to sign the guestbook - a
joke, a quote or just a smiley would be nice!


Later

Neil




