*******************************************************************************
*                                                                             *
*             ___  ____ ____   _  _ ____ ____ ___  ____ ____                  *
*               /  |  | |  |   |_/  |___ |___ |__] |___ |__/                  *
*              /__ |__| |__|   | \_ |___ |___ |    |___ |  \                  * 
*                                                                             *
*                            	                                              *
*                          the 1983 Arcade Game                               *
*                            FAQ/Walkthrough                                  *
*                                                                             *
*                          Guide By:  SloDeth                                 *
*                                                                             *
*                      v1.0            August 21, 2001                        *
*******************************************************************************






XXXXXXXXXXXXXXXXXXX
 Table of Contents
XXXXXXXXXXXXXXXXXXX


INTRODUCTION
 What is this game?
 What is MAME?
 What do I need to play this game?
 When I run the ROM, it just says THIS LOCATION...what do I do?
 Can I put this guide on my website?

GAMEPLAY
 Level One
 Level Two
 Level Three
 Scoring

GAME BACKGROUND

CONCLUSION
 Contact Info
 Copyright

******************
What is this game?
******************

This is Zoo Keeper, an arcade game from 1983.  This guide also encompasses its 
clones/hacks, Zoo Keeper set 2 and Zoo Keeper set 3.

*************
What is MAME?
*************

MAME is an acronym for Multiple Arcade Machine Emulator.  To sum it up, it is a 
program which can run ROMs, or arcade game files, allowing you to play thousands 
of classic, nearly extinct arcade games on your own computer.  Check out 
www.mame.net for more info.

The intent of the program is to preserve a piece of video gaming history.  
Unfortunately, this puts it on shaky legal ground.  While MAME itself is 
perfectly legal, it is illegal to own ROMs for arcade games which you don't own.  
However, like owning copyrighted MP3s, it is very unlikely that you will get in 
trouble for owning ROMs.  I personally feel no remorse for owning illegal ROMs, 
since the original developers can no longer profit from the game, and it is 
impossible to find these games in real life without some serious trouble.  I 
feel different when it comes to MP3s - almost all music is easy to legally 
obtain.

*********************************
What do I need to play this game?
*********************************

First, you need the latest release of MAME - grab it at www.mame.net.  Follow 
the simple installation instructions.

Next, you need the ROM file for Zoo Keeper or one of its clones.  I can't 
legally tell you where to find it(cough, edgeemu.com, cough), but if you fire up 
your favorite search engine, you should have no problem finding it - search for 
MAME, rom, and the name of the game.  When you download it, unzip it in the 
correct folder([folder where you installed MAME]\[name of zip]) - mine is 
C:\MAME\zookeep.

If you have any further problems with MAME, don't ask me about it - read the 
Help files and the FAQ on mame.net for the answers!  It's not too hard to 
understand if you READ THE INFO FIRST.

**************************************************************
When I run the ROM, it just says THIS LOCATION...what do I do?
**************************************************************

Hit one of the F buttons...try F9, then the rest.

***********************************
Can I put this guide on my website?
***********************************

Yes, you may...this guide may be fully distributed, zipped with other files, and 
even printed out, as long as it isn't edited or sold.  Don't change it, and 
don't sell it!  The latest version of the guide will always be posted at 
www.gamefaqs.com.


000000000000000000000000000000000000000000000000000000000000000000000000000000
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= GAMEPLAY =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
000000000000000000000000000000000000000000000000000000000000000000000000000000


Gameplay cycles between three different level types...typically, you will play 
two rounds of level one, the one round each of level two and three.

*LEVEL ONE*: As you walk around a rectangle, you lay some bricks.  These bricks 
form a large cage for the animals inside.  Unfortunately, as you lay them, the 
animals claw their way out.  If they escape, they run around the rectangle(note: 
as soon as they escape, they go in the opposite direction that you're going - 
this is useful if you want them all to go in the same direction).  If they touch 
you, you lose a life.  You can jump over them for points.

Notice the bar at the top - it is your timer.  The round ends when the bar 
reaches the end.  Along the way, there are four items...they are either bonus 
items or nets.  The bonus items simply add to your point total.  When you grab a 
net(I know, it looks more like a frying pan), you send all the animals you touch 
back to the center of the cage, just like those flashing dots in Pac-Man. 

When you die, you have to start the round again.  The timer resets completely, 
but the bricks you've laid remain in position.


*LEVEL TWO*: You must rescue the lady at the top by jumping across moving 
platforms and avoiding coconuts.  Jumping on these platforms is worth points, 
and the items on the platforms are worth points.  These values increase as you 
ascend.  As soon as you touch her, the round ends.  If you touch any coconuts, 
you die.  Note that the longer you spend on the level, the more difficult it 
becomes.  Coconuts don't disappear - they just bounce off the walls.  Also, the 
bottom platform isn't replaced by another.  After a minute or so, it will be 
completely gone, and you could easily fall off the bottom of the screen.

This level type appears once after every two rounds of Level One.  Each new 
round comes with different colors, more coconuts, and more points.  After Round 
Ten, the platforms are black, i.e. invisible.  This is quite difficult, but 
there are fewer coconuts.  The bonus items are still visible, so you can use 
them to judge the position of the platforms.  Good luck...you'll need it.


*LEVEL THREE*: Win a bonus Keeper!  In this level, you must jump over the 
stampeding herd of animals and their cage.  This isn't too difficult at first.  
Make sure you have enough room to jump over the cage at the end.  If you 
misjudge, you get pushed backwards, usually onto an animal.  After jumping over 
the cage, you land on an escalator, which takes you to the next line.  The lady 
awaits you at the top with a bonus Keeper...and something else...

This level type appears after each Level Two round, except the first time.  The 
first round of this level has two layers/lines of animals to jump over.  The 
second round has three, and the rest have four.  These last layers are much more 
difficult, since the animals come out more consistently, thus fewer gaps.


*SCORING*: Here's a list of all the actions that score you points in the game:

LEVEL ONE: jumping over animals
           grabbing bonus items
           having animals in the cage at the end of the round

LEVEL TWO: jumping on platforms(you score whenever you switch layers)
           grabbing bonus items
           reaching the top(5k the first round, then 10k, then +10k after that)

LEVEL THREE: jumping over animals
             reaching the top(gives you an extra life, but no points)

All the scoring actions in the game use a scoring system roughly like the one 
below.  This is the system of animal-jumping listed here - jump one animal for 
100 points, two for 500 points, etc.  When you jump on platforms in the second 
level, the first platform gives you 80 points, and the second gives you 150 
points...roughly doubling as you ascend.

100
500
2,000
4,000
8,000
15,000
30,000
60,000
120,000
250,000
300,000

The values for catching animals in your cage at the end of the round are listed 
in the beginning.  The only explanation needed is for the lions - they're worth 
30,000 points when they first appear in round six, then they increase by 10,000 
each round until round ten, then they reset back to 40,000...at least, that's my 
theory.

Bottom line?  You score the big points in the first level.  Keeping animals in 
their cage turns out to be too difficult and inefficient...you score big points 
by jumping over long lines on animals and surviving.  Grab nets whenever you can 
to keep you from dying, then use it to bag as many animals as you can when the 
round is close to ending.

The other two levels are pretty much a waste, unless you want to exploit a 
scoring bug...when you jump on the top platform, you score some points.  If you 
jump off and back on, that number doubles.  If you jump off and back on again, 
it doubles AGAIN until it reaches 300,000.  This is the quickest and cheapest 
way to get points in the game.  As long as you avoid the coconuts, you can keep 
doing this over and over.

My high score is 223,080 without using any cheats or exploiting bugs.  I'm sure 
you can do better!



0000000000000000000000000000000000000000000000000000000000000000000000000000000
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= GAME BACKGROUND =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
0000000000000000000000000000000000000000000000000000000000000000000000000000000



Zookeeper is an arcade game, released by Taito in 1983.  Its unique, fast-paced 
gameplay made it quickly addictive.  It was one of the most popular games of its 
time...unfortunately, it was a rough time for arcades.  

Here's the story straight from the mouth of John Morgan, one of the primary 
programmers.  It's an interesting read...dig right in!


"In 1982, Keith Egging was the Director of Creativity (or some weird title like 
that). He always had a human skull on his desk which opened up on a hinge and 
was filled with Hershey's kisses. One day a TV news crew came over to do some 
interview, and Keith showed them around. He took them back into our area and 
really played it up (feed them some pretty thick bull which they really ate it 
up). He took them to the farthest office of cubicles and said that this was DEEP 
THOUGHT - where all the heaviest thinking took place. Of course this was just 
made up (the office being picked for it's distance only), but hey, they bought 
it. The main programmers (me, Mark Blazczyk and Rex Battenberg) took off on this 
and other of Keith's tall tales and frequently made up whoppers about everything 
under the sun to one up each other with our far fetched stories. Pretty cool for 
those days. 

Anyway, Keith came up with a weird game idea which I was going to program (back 
in those days there was only one programmer for pretty much all aspects of the 
entire game). His idea was to have a game where a crab would run around a 
rectangle on the screen. There were little eggs with faces on them that came out 
of the inside of the screen and would bounce off the rectangle and take bites 
out of it. When they went all the way through to the outside of the rectangle 
they would become tadpoles running around the rectangle edge. If the tadpole 
touched the crab it would be killed. 

The crab would move around the screen and jump over the tadpoles, with it's 
claws opening and closing. To repair the wall damage where the eggs bit off 
chunks of the wall, you pressed a button and a thick line would shoot across the 
screen from underneath the crab and away from it (horizontally or vertically as 
appropriate). We were going to use the sound of castinets when this line was 
fired out - he really loved that sound. 

This is about the stage where Keith's input finished, and the rest of the 
changes were almost entirely from my ideas. 

Now, as a sidenote, we had no way to get art into the games. So I wrote some 
software that would allow you to use a modified control panel (with more 
buttons) so that you could create art (pixel by pixel) on the screen itself, 
complete with animation control. We hired a part time animator to use it to 
design the animals, complete with great motion for the time. 

Secondly, we had to have sound effect and music. Tom Fosha (another programmer 
and a bit of a sick puppy in his own right) had been playing around with code to 
do some sound effects. Note that every sound sample was computer controlled 
(just like the graphics were). I looked at them and saw that they all either 
played with the volume of the samples (thus affecting the amplitude), or the 
duration inbetween the samples as they were output (thus affecting the 
frequency). I decided to write a single unified piece of code from scratch where 
you had two 24 byte buffers. One buffer held the volume levels for the looped 
sample (fairly traditional), and the second held the duration from each sample 
to the next (cutting a bit of new ground here). I then allowed each of these two 
waveforms to be independantly controlled. You could smoothly morph a waveform 
from one to another (again pretty new for that time) or you could slowly add 
waveforms. You could avoid clipping of the signal (where a value is too positive 
and becomes negative etc) or you could force it to occur (this had some really 
weird sounding effects). Since 24 samples is a multiple of 2, 3, 4, 6, 8, or 12, 
you could have samples which had different frequencies in the samples 
themselves. They made me a switchbox with 8 switches, so that I could try out 
code and use the swithes to select amoung 16 voltage waveforms, and 16 frequency 
waveforms which combined with the particular controlling code I was trying. With 
trial and error, I came up with a zillion really weird sounds that I had never 
imagined. The ones I liked I kept, and that is where all of the sound effects 
came from in the game. They were all experimentally procedural. 

For the musical tunes, Tom Fosha wrote a seperate multi-tone player, and 
composed the tunes himself which were used for all the melodies in the game. He 
was really into jazz, and that came over beautifully in the game. 
OK, back to the game. I wanted to somehow allow you to shoot out more walls to 
hold in the eggs. So I put little locks on the screen randomly. When you shot a 
line which hit a lock, it would shoot two lines out perpendicular to your line. 
If any of these lines hit another lock, you would get a cascade effect. When 
enough locks appeared it could be pretty cool visually. But the problem was that 
so many walls evenly distributed could trap the eggs near the outside of the 
rectangle (instead of the middle) and they'd just bounce & eat their way out to 
the outside anyway. 

So then I made the distribution of the locks more towards the four corners. This 
tended to make solid walls around the outer edge, which helped, but you could 
still trap the eggs near the outside and they'd still escape. That's about the 
time when I said that seeing a big crab get killed by eggs which turned to 
little tadpoles was a bit goofy. I suggested that we change the crab to a person 
who ran around the rectangle and where he ran he would lay bricks which would 
fill from the outside in. The brick laying would stop if there was an enemy 
there so that there would be a clear space for it to return to the center. 

I suggested we change the eggs to animals which kept their form when they 
escaped, and would similarly kill the guy if he didn't jump over them. Since the 
guy was trying to keep the animals in then it seemed to make sense that he was a 
Zoo Keeper (I believe this was in a meeting with Ray Heidel, the Engineering 
Director). So we put a small cage in the center from which the animals escaped. 
I thought it would be cool to allow the Zoo Keeper to have a net which he used 
on the escaped animals which would put them back in the cage. And so I made the 
time line fuse which burned down, and along it were nets which would briefly 
give the Zoo Keeper this power. The actual art made the net look more like a 
frying pan (by accident), but that seemed pretty cool so I kept it and gave it 
an appropriate sound and effect when hitting the animals. I thought it'd be 
great to flash the entire screen for 1 frame when you did this. It had a pretty 
amazing subliminal effect on the excitement level. 

In the original version, when the animals escaped the rectangle they would 
randomly decide whether to run clockwise or counter clockwise. This made it hard 
to survive since you couldn't predict their behavior if they escaped near you, 
and having roughly half of the animals running each way made it pretty hard to 
survive for long by jumping over them. So I decided that when the animal 
escaped, it would run in the direction away from you (where you were at that 
time). This way they wouldn't escape near you and run into you, so you'd have a 
lot of warning before they got you. 

I made the reward for jumping over animals based on how many animals you jumped 
over. For each extra animal I roughly doubled the score. This continued for as 
many animals there were maximum in the game (16ish or so?, it's been a long time 
:-) So if you jumped a really massive number of animals you would get a 
gazillion points. But how do you get the animals to clump up for such a massive 
jump? 

That's when I decided to remove the initial bricks around the rectangle at the 
start of a level. I delayed the initial animals escaping the cage, to give you 
time to drop down and start laying the wall as you saw fit. The trick was to run 
in one direction and cover just slightly over 50% of the rectangle with a wall 
and then just stop. This would allow the animals to immediately escape, but 
they'd always run away from you which forced them to all go in the same 
direction. And since they were in the same direction it was easier to survive, 
and since different animals moved at different speeds, they would tend to clump 
together periodically so you could wait for that to happen and then jump over a 
huge number of animals in a single jump - and voila - you could get huge scores! 

Now, when the net came out, you would only want to knock in the animals that 
were running opposite to the direction of the herd. This you'd try to stand near 
a hole to force the escaping animals to run in the same direction as the herd. 

This pretty much completed the game play of the initial level. It was really 
fun, but I wanted to have something more to break up the monotiny. So I came up 
with the idea of the ledge screen. You started at the bottom and could jump up 
on the moving ledges to get to your girl and save her. She was help captive by a 
gorilla throwing coconuts at you which would kill you (yeah, a bit of 
inspiration from Donkey Kong was going on here). I think it was Keith who came 
up with the name of Zeke and Zelda for the Zoo Keeper and his lady. 
I decided to make the ledges come out in a pre-determined sequence to reward the 
experienced player in that they would learn their preferred sequence of jumps to 
get safely to the top. This level was pretty cool, but I wondered what else I 
could do. 

So, I came up with the idea of the escalator screen (similar to the ledge screen 
but with a different game play layout). This time when Zeke got to the top Zelda 
would give him a kiss. 

Now you could cycle between these 3 levels for as long as a person could 
survive. If they made it far enough to loop back to levels they'd already done, 
I'd just speed things up a bit each time. Eventually they wouldn't be able to 
survive. For added coolness, I made the last escalator level so that when you 
saved Zelda a curtain would draw down over both of you, and a whole bunch of 
kisses would be all that appear. I wanted to make the kisses go up and down but 
we thought that would be a bit too much :-) 

Anyway, I got to be pretty good at the game and could survive longer and longer. 
I decided to add a visually frantic feel to the game at these levels by cycling 
the color of the outer background. This massive color cycling effect would 
slightly distort the screen image due to power blooming of the monitor. This 
really cranked up the adrenaline. I'd survive so long that I'd have the maximum 
number of animals out in almost the same direction and jumping almost all of 
them at once occasionally for some phenominal score. This whole time I did this 
I was wrenching the joystick like I was going to break it off and the whole 
machine was rocking like the back seat in a drive in. I knew something was 
happening here. 

Then I survived so long that I came to a ledge screen where the ledges had 
disappeared completely. Seems I found a bug. But the thrown coconuts were 
bouncing off of them even though they were invisible. So I gave jumping a try. 
Remember that the ledge sequence was completely predictable and I had gotten 
quite familiar with it. So I actually had a chance of getting to the top. That's 
when I decided to not fix the bug, but make it a feature (I guess the old saying 
"It's not a bug, it's a feature!" really did apply here). 
We were ready to test the game. I put in the needed diagnostics so the operator 
could control it. Since speed of the game was key to how long people could play, 
I made two operator speed adjustments. The first controlled the speed when a 
person initiall joined. The second controlled the speed when a person played for 
a long time. We put the machine out on test and I watched the players and timed 
them with a stopwatch. Then I tweaked these adjustments until they seemed 
optimal for fun and earnings. 

The game went out in 1983 and was about the number three game of the year 
nationwide, which was quite good. Unfortunately, this was right at the time when 
the whole arcade market took one huge dive, so the game only sold a fraction of 
what it would have if completed just a year earlier. As Keith said, "The cash 
box is a cruel mistress!" It is indeed. "

(       found on the Giant List of Classic Game Programmers at:              )
(                 http://www.dadgum.com/giantlist/                           )




0000000000000000000000000000000000000000000000000000000000000000000000000000
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= CONCLUSION =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
0000000000000000000000000000000000000000000000000000000000000000000000000000



Contact Info
------------

E-mail:    slodeth@iname.com
ICQ UIN:   15025844
Web Page:  http://go.to/SloDethFAQs

E-mail Rules(abbreviated):  Please be intelligent!  If I can understand you, you 
will get an intelligent and polite response, most likely.  Use your best 
judgment.  Praise is appreciated, as well as constructive criticism.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please do not distribute this guide in any way without my explicit permission.
I'm sure you could use it and mutilate it to your pleasing, but I'd appreciate
it if you ask permission first.  Do not sell this guide, or do anything to pass
it off as your own guide.  I am well aware of my rights, and I will take the
necessary actions to protect my work.  Check out 
http://www.templetons.com/brad/copyright.html if you have any doubts.

Or, as they say, This document Copyright 2001 by Martin Silbiger.

                              .___.
          /)               ,-^     ^-.
         //               /           \
.-------| |--------------/  __     __  \-------------------.__
|-=====-| |>>>>>>>>>>>>> | />>\   />>\ |>>>>>>>>>>>>>>>>>>>>>>:>
`-------| |--------------| \__/   \__/ |-------------------'^^
         \\               \    /|\    /
          \)               \   \_/   /
                            |       |
                            |{/\/\/}|
                            \       /
                             ^-----^
  _______  _        _______  ______   _______  _________  _      _
 /_______|| |      /  ___  \| ____ \ | ______||___   ___|| |    | |
| |       | |      | /   \ || |   \ || |          | |    | |    | |
| |_____  | |      | |   | || |   | || |____      | |    | |____| |
\______ \ | |      | |   | || |   | || _____|     | |    |  ____  |
       | || |      | |   | || |   | || |          | |    | |    | |
_______| || |_____ | \___/ || |___/ || |_____     | |    | |    | |
|_______/ |_______|\_______/|______/ |_______|    |_|    |_|    |_|