  The Hatman README
  James Pharaoh & Tim Fisken
  2 March 1999

  This document gives brief help on installing and getting started with
  Hatman.  Hatman is a hi-res Pacman clone for Linux, which runs on 486
  and better computers.
  ______________________________________________________________________

  Table of Contents


  1. Introduction

  2. Getting ready to play

     2.1 Where to get Hatman
     2.2 Compilation & Instalation
     2.3 What to do if compilation fails

  3. Playing Hatman

  4. Customizing Hatman

     4.1 Creating levels
     4.2 Creating games
     4.3 Creating sprites

  5. Contacting the authors

     5.1 By e-mail
     5.2 The Hatman web page
     5.3 Joining the mailing list

  6. Help wanted

  7. Copyright & Credits

  8. Epitaph



  ______________________________________________________________________

  1.  Introduction

  Welcome to Hatman. Hatman is basically a pacman clone, but it also a
  lot more. Drop-in gamefile support will eventually allow you to run
  games similar to the original pacman games, or inferior clones
  released throughout the years. And of course there will be many new
  games with lots of fun features we make up ourselves...

  Hatman was originaly written one day when we were looking for fun
  games for linux, and we decided luxman was not as good as it ought to
  be; it also doesn't look to be developing. So we decided to write our
  own, and thus, hatman was born.


  2.  Getting ready to play

  2.1.  Where to get Hatman

  This document assumes you are using the source version of hatman. If
  you are using one of the binary distributions available you should
  follow the instructions for the relevant install program (eg: rpm).

  If you have WWW access, check out the web page (see ``The Hatman web
  page'' for more details. Otherwise go straight to ftp:


  o  Main FTP site:  <ftp://croftj.net/usr/hatsoft/hatman/>

  You will need a few libraries to compile and run hatman. Remember,
  some distributions separate their files into runtime and developer
  packages. To compile you need both installed. Alternatively you can
  download the source. If it doesn't work, try upgrading to the latest
  versions of all libraries.


  o  IJG jpeg library

  o  FreeType library

  o  GGI or svgalib


  2.2.  Compilation & Instalation

  Untarring the archive shouild put hatman in a directory something
  along the lines of hatman-x.y.z. Change to that directory.



       cd hatman-x.y.z




  Hatman is now an autoconf program, which means that it is (or will be)
  easy to compile on different computers. Run the configure script
  included:



       ./configure




  This may take a few minutes, outputing the information it determines
  along the way. When it is finished you should be able to compile
  hatman:



       make




  Assuming the compile finishes succesfuly you should be able to play
  hatman from the current directory:



       hatman/hatman -dlib




  If that doesn't work, something is up. Note that if you are using
  svgalib, and sometimes with GGI, you will need to run this as root to
  get the correct permissions.

  You can then install hatman (the location can be changed with options
  to the configure script). This will normally need to be done as root:



       su
       make install-strip




  This also strips the binaries, ie: gets rid of all the debugging
  gubbins which seriously increase it's size.

  Remember that if you needed to test hatman as root then you will need
  to run it as root. To allow normal users to do this set the suid flag,
  substituting wherever you installed hatman:



       chmod +s /path/to/hatman





  2.3.  What to do if compilation fails

  If something goes wrong it is likely to be one of two things:

  The most common will be people who need to upgrade gcc. The new gcc
  2.8 vastly improved c++ things like templates and hatman makes use of
  the new syntax etc... If you get errors about template declerations
  please upgrade gcc.

  The other problem is likely to be people running an old version of
  ggi. Around the start of february 99 a feature was added -
  ggiFlushRegion. Whilst it seems to make little difference at the
  moment, this is used by hatman, so if you want to use ggi you will
  need to upgrade to a fairly recent version.

  If your problem is different, try and fix it yourself. If you are
  really stuck, then e-mail the mailing list with an full description of
  what is wrong, and preferably some logs of you trying to compile. Some
  information about your system would be nice too. If you do manage to
  fix it, please send us details anyway, so we can make any appropriate
  changes, and advise other people with the same difficulties. The
  contact address should be the mailing list.


  3.  Playing Hatman

  Remember, hatman is beta, so you shouldn't be surprised if a lot of it
  seems extremely unfinished. The interface is currently not the
  greatest, and the game seems to start and finish quite quickly, among
  other problems (including the occasional seg-fault). Remember,
  however, it gets better - trust us!

  If hatman is installed and in your path then just type hatman to run
  it. To see a list of options you can pass, use hatman -h.

  The title screen will show while it is loaded and then the menu will
  appear. You can move around the menu using the arrow keys or a mouse.
  Some of the options don't work just yet, though. Basically, you want
  to select "play" and then anyy of the options that comes up on the
  games menu.

  This will drop you straight into the game; feel free to use the arrow
  keys to move around. You have three lives, and you lose a life if you
  get eaten by a ghost. If you eat all the little dots on a level, you
  go onto the next level (if we've bothered including any). At the edge
  of the screen there may be passageways apparently going nowhere - if
  you follow one you will wrap all the way around and appear at the
  other side of the screen, yes - really, as if by magic you have been
  transported from one side of the screen to the other, and the ghosts
  won't know what's hit 'em. Also, every now and then some fruit might
  appear at the edge of the screen. Being a healthy-eating sort of guy,
  hatman loves fruit, so you should go and eat it - it's extra points,
  you know.

  But the icing on the cake is the power-pellets. Eat one of these and
  the tables are turned. The ghosts turn gray (as one does, when one is
  scared) and now it's your turn to do some serious getting. Whilst the
  ghosts remain gray you can eat them - getting more points for each one
  you eat, once you eat them their eyes (hatman doesn't like the eyes -
  they give him indigestion) run back to the ghost's base and gets a new
  body. Don't worry about them turning back too suddenly - you will get
  a bit of a warning first.

  It's easy, and it's great fun.


  4.  Customizing Hatman

  4.1.  Creating levels

  This is not recommended as I plan to rewrite loads and loads of stuff
  that is quite important to the level design. It is probably one of the
  parts of the game that is closest to its original state, which you can
  tell by looking at the really really hideous code.

  To add new levels, you must enter the dangerous world of the level
  designer.  The level designer is run by typing



       hatman -l <level-file>




  And selecting the level editor option from the menu. This will bring
  up a picture of the level, (or a blank level if the file you named
  doesn't exist already) and a menu of the blocks along the right-hand
  side. Use the following keys to create your level:


     page up/down
        Slides the blocks up and down on the left.

     space
        Puts the top-most block into the white box.

     a  Tries to automatically line up the walls.

     s  Saves your level.

     t  Lets you test your level.


  But level design isn't all fun and games, oh no. There are rules,
  goddammit.


  o  Each level must contain at least one yellow dot.

  o  Each level must contain exactly one base (the thin wall).

  o  Each level must contain exactly one hatman

  o  Each level must contain at least one score box. This should consist
     of a left-box, followed by five middle-boxes, followed by a right-
     box. This is not strictly checked by the game, so be careful!

  o  Each level must contain fruit at the edges of the screen, where you
     want it to appear. If it doesn't contain any fruit, no fruit can
     appear.

  So long as you follow those rules, your levels will always work. But
  there are other considerations...

  When you've finished, press s to save your level, and q to quit the
  editor. Or, if you are feeling fairly bold, press t to test your
  level. Actually, I think I deleted the code to do that.  We're sure
  you'll get the hang of it eventually. If you need some help, check out
  our levels (not all of them work currently), or feel free to e-mail
  us.


  4.2.  Creating games

  Another important unit in Hatman is the ``game''. A game consists of a
  file, with a list of levels and lots of numbers and stuff in. Take a
  look at the example hatman.game for more information - but be aware
  this file is going to change somewhat in a future release.


  4.3.  Creating sprites

  The sprite editor has taken a bit of a break. Erm, maybe I'll write a
  new one some time, but right now it's not there. Sorry.


  5.  Contacting the authors

  5.1.  By e-mail

  The simplest way to get help with something is to e-mail us, at
  hatman@pharaoh0.demon.co.uk - you should get a reasonably quick
  response. Don't post any big files there though, firstly because it's
  impolite, and secondly because your message will be bounced. Instead,
  ask if anyone is interested, and tell them to reply to your address,
  ok? Good.

  Do send us lots of mail, comments, suggestions, bug-reports etc... We
  like to hear from you. But do bear in mind that hatman is not finished
  (not until it gets a 1 in it's version number), and check the TODO
  file before mailing us. Erm, actually, I don't think there is a TODO
  file.


  5.2.  The Hatman web page

  The web page,  <http://croftj.net/~hatsoft/hatman/>, contains screen-
  shots, info on how to download, and what the latest version is, and
  all that. It also has the latest version of this file. Visit it,
  please. We want you to. We could do with some suggestions for stuff to
  put on the web site to make it more interesting.


  5.3.  Joining the mailing list

  There is a mailing list for developers, and it gets all the ``help''
  mail too, although to be honest it's throughput is very low (it will
  hopefully start picking up soon). To join the mailing list sending e-
  mail to majordomo@pharaoh0.demon.co.uk, and include the phrase
  ``subscribe hatman'' in the message body. The mailing list is really
  for people who are actually interested in the development of hatman,
  so don't join it if you are not.


  6.  Help wanted

  That's right. We need people to write, design, compile and test
  hatman, or to just give us suggestions. If this appeals to you, join
  the mailing list (see ``Joining the mailing list''), and mail us,
  telling us what you want to do.


  7.  Copyright & Credits

  Hatman is Copyright (C) June 1997 - 1999 by James Pharaoh and Timothy
  Fisken. Read COPYING, you'll feel better for it. COPYING is, BTW, the
  GNU General Public licence, so you can read that instead if you
  prefer.

  Well, Hatman was originally designed and written by James Pharaoh and
  Tim Fisken, very eary one Januray 1st 1997...

  All the code in Hatman is our own, although some of it may bare a
  strong resemblance to other peoples. We have not lifted other peoples
  code, but we may have been ``inspired'' by it. If you want to
  complain, email the mailing list (see above).

  All the sprites are our own, too. And very nice they are too, if I do
  say so myself.

  The one thing we have gratuitously ripped of is the background
  picture.  That is a sample picture from the POV-Ray package, created
  by Ville Saari and Copyright (C) 1991 Ferry Island Pixelboys. Or so it
  says. We added a nice hat, of course. You can get POV-ray from
  <ftp://alfred.ccs.carlton.ca/pub/pov-ray> Cheers to Ville Saari, by
  the way. It's a great picture.

  Finally, we think you may have heard of a small company called Atari.
  They wrote some pish game called Pacman a few years back. Nicking our
  ideas eh? Ah well, that's they way the world is.


  8.  Epitaph

  I'm not sure what an epitaph is, but I'm sure this is as good if not
  better. What next, is what I mean, and that is obvious. We shall write
  such classics as hatCraft II, hatInvaders, hatSet-Willy, and then,
  only when we have written every hatty game in creation, we shall move
  onto applications, hatPerfect, hatBase, hatPublisher, and soon, hatOs,
  oh yes, the world is our oyster, there is nothing they can do to stop
  us now, nothing. Ha ha-ha-ha WA-ha-ha-ha-ha-ha A-HA-HA-HA-HA-HA-HA-HA.




