Slippy II: Kickboxing Legend
PhatOS version RC4 dated 11/11/97
by Martin Hock (oxymoron@bigsky.net)
http://missoula.bigsky.net/oxymoron/slippy/
It's about time for something new, wouldn't you say?
Note that this is Release Candidate 4.  As such it is subject to change.

The Story:
So, you're Slippy, the Slipshod Penguin, legendary Kicker of Boxes.  You just
spent the last era or so stumbling through 25 glorious levels in order to
retrieve some phat coinage to buy yourself a new hat.  Having collected the
final coin, you're ready to return home when, lo and behold, you realize that
you are lost.  You stumble for many days in search of food, all the while
freezing your little head off.  Finally, just when you're about to collapse,
a UFO appears.  "Just what I need," you grumble to yourself as you are
abducted by two scrawny gray bug-eyed evildoers and placed aboard the craft,
presumably to be mutilated like the billion or so cattle featured on Unsolved
Mysteries.  But, you are no cow, so you manage to escape and find yourself
lost inside the ship.
It's larger on the inside than you might think; in order to accomodate the
billion or so jars of cattle blood, a pocket universe had to be formed by
creating a warp bubble.  You note that the environment is very similar to
Antarctica, presumably because some of our universe leaked into this one.
However, you notice that there is some complex machinery on board: an object
that looks and acts like a spring, but isn't, and a little system of pegs,
trap doors, and speckled globes that somehow reminds you of Zelda 3, but
doesn't.  You also notice that some sections of the floor are old and
decaying, probably due to the corrosive nature of cattle flatulence.  Finally,
you determine that this warp bubble technology is run by specialized
antimatter smegma pustule packets o' fun, which the aliens refer to as 
TriSpiffium crystals.  To you, the starving penguin, they are lunch.
Your mission, should you choose to accept it: Gank the TriSpiffium crystals 
from the ship to satisfy your appetite and destroy the evil alien entity.

Now that we got that over with..

There are several types of objects in this pocket universe that you ought to
be aware of, because you'll have to use all of them in order to bust it
propa'.
Slippy: That's you.  Note that your rage has made you virtually indestructable
and there is no way for you to die.  You gotta go around and gank some stuff.
Note that you can walk off one side of the screen and get to the other due
to the odd properties of the warp bubble, but boxes are vaporized due to their
unstable nature.  Hey, and if you buy that, I have some nice waterfront
property for sale...
Boxes: You go up and kick these.  It keeps going forward until it bumps into
something, because the ground is slippery and stuff.  I wonder if that's why
I named it Slippy?  Nah.  Kick it into a pit and it fills up the pit. Kick it
into one of those globes and it busts some flippage.  Kick it into a spring
and it flies into the air and lands on stuff.  As the pocket universe is
unstable, if the box lands on anything solid, like a block, it along with what
it hits explodes.  If a box runs over a gem, it is destroyed, but since you're
a hungry penguin, that ain't good enough.  Better restart the level.
Pit: A barrier that can be eliminated by a box.
Block: A barrier that can only be eliminated if a box lands on it.
Spring: Slippy can use these to launch himself or boxes over one square.
Cracked Floor: Stable while you stand on it, crumbles away into a pit when
you get off.  Oddly enough, a box landing on it will not break it until it
slides off because of its magically delicious Jurassic Park II-like structure.
(Remember when they were on the glass and stuff?  Boy that movie sucked.)
Speckled Globe: Kick or slam a box into this to flip the trap doors and pegs.
Note that if a box lands on it, it will flip the sh..tuff, but then blow it
up in a spectacular display of gratuitous entropy.
Peg: Acts just like a block.  Turns into a trap door when flipped.  My tribute
to the late "Married... With Children."
Trap Door: Acts just like the normal ground.  Turns into a peg when flipped.
Normal Ground: It's pretty cool.  When you walk on it, you may notice that
your legs don't move.  This is because you're actually sliding around.  Hey,
it's not called Slippy for nothing.  Note that, while the ground is slippery
and stuff, the protagonist's stylings allow him to stop himself, but only at
certain intervals of 8 pixels horizontally or 7 vertically because of the way
the Cartesian latitude/longitude coordinate system works.  Slippy actually
aligns himself to certain magnetic field lines eminated from the hidden Tesla
power generating system hidden in the earth's core.  You didn't know that?

Controls:

Title Screen:
More: Choose a level file.  Nifty, eh?  Note that due to the nature of the way
the 85 stores files, this puppy only goes forward, but it'll wrap around.  Oh
yeah, and it'll remember your chosen level from session to session, unless you
do something stupid.  And note that if the level file was placed on the
calculator right after PhatOS, it won't be accessible. This is due to the
evils of Whitey.  Just play along. You could always use the Usgard version,
except that it's larger and not done yet.
Slippy II comes with three level files:
tutorial: 5 levels that teach you about the intricacies of Slippy's environs.
slippy1: The 25 original Slippy levels.  They don't use the new widgets.
molvl: 10 new levels using the new widgets.  I like 'em.
10 levels not enough for you?  Make your own!  And check out my web page
periodically for new stuff.
Enter: Confirm selection.
Exit: Quit.

Status Screen:
+/-: Select level.  Note that you can't select levels that you haven't earned.
The maximum level that you can select is indicated by "Maximum Level".  Again,
just blame Whitey.  You can play old levels for practice or to show your
friends your badass Slippy ability.  (NOTE: Not related to 'SKILZ')
F5: Reset the level file.  Not only will the "Maximum Level" and "Current
Level" be set to 1, but the file will be flagged as uneditable.
Exit: Go to the Title Screen.
More: Return to the actual Game. 

Game:
Direction: Walk.  Note the smooth sprites.  Bow down to my badass coding.
2nd+Direction: Kick it.  Note that boxes go smoothly too.  Who the man?
F1+Direction: Jump (if on spring).  I wanted to use Alpha but due to the
crapulence of the TI-85 hardware, no dice.  And believe me, I tried just about
everything.  The 86 is even worse though.
Alpha: Restart level.
Graph: Capture screen to the graph memory.  Note that Slippy doesn't use the 
graph mem though it has smooth sprites.  How DOES he do it?
Exit: Return to Main Menu.

The editor:
Note that you can only edit files flagged as editable.  All freshly-created
levels are.  To make a file uneditable, press F5 on the status screen when
you're playing it in Slippy.  You'll want to make levels uneditable after you
finish them.  But make sure it's really finished first!
On the menu, More selects a level and Enter uses it, just like before.
Directional keys: Move cursor.  Note that you can hold a direction and a
widget to "paint" the widget.
0: "Blank" widget
1: "Box" widget
2: "Pit" widget
3: "Block" widget
4: "Down peg/trap door" widget
5: "Up peg" widget
6: "Flip globe" widget
7: "Gem" widget
8: "Spring" widget
9: "Cracked ice" widget
Note that if you put a box on top of a down peg or on top of cracked ice, it
will not erase what is below it, instead creating a "Box on top of a down peg"
or "Box on top of cracked ice".  Most of the time, however, the brush erases.
2nd: Move Slippy to desired spot (Slippy always starts out on a blank spot so
whatever is below him will be erased.  Prevents vertigo when starting level.)
+/-: Select level.  The "Current Level" will be changed to this level so when
you run the main engine, you can test the level easily.
Enter: Remind yourself what level you're editing.
^: Copy level to "clipboard."
: Paste level (That's a divide sign for those of you with sucky ASCII).
More: Return to main menu.  Do this if you want to work with another level
file, like if you want to copy a level from one and paste to another.
Exit: Quit it.  The level you're working with is saved as the "Current Level"
so playtesting in the engine should be simple.  (Unless you suck.)

Hints for good level design:
1) Don't overuse the new widgets.  But do try to use them; they were hard to
   program :)  They have many uses, and I bet you can think up new ones.
2) Try to have a plan before you start.  Perhaps you want all your levels to
   follow a theme.  At least have an idea of how big it will be.  For each
   level, think of a central concept behind it and create a rough version of
   it in the editor, then hone it, adding extra complexities and features.
3) The most masterful levels are simple-looking but actually difficult.  Of
   course, huge box-filled Tae Ho-style levels are cool too.  Actually, there
   are a great many styles to choose from.  Create your own.
4) Make sure to test your levels thoroughly.  You don't want to miss a spring
   that can allow you to skip parts of it.  If possible, give it to a friend
   to test too.
5) Have fun with it!
If you make a level file, send it to me at oxymoron@bigsky.net.  I want to
set up an official page of levels.  I will play each one and rate it for
difficulty, originality, and addictive quality (fun).  Of course, if you don't
want it rated, tell me and I won't.
If you're looking for levels, try http://missoula.bigsky.net/oxymoron/slippy/
This is probably where I will have the page.

Level creator:
Up/Down: Select number of levels that will be present in the file.  Max 200.
Why 200?  Seemed like a nice round number.  Also, files on the TI-86 must be
under 16k in order for the addressing scheme to work correctly.
Alpha keys: Type in the name (it will appear in lowercase).  This uses my new
BALIR (Bad-Ass Letter Input Routine) code, which is less than 50 bytes.
Normal letter input routines have a data table alone that takes up more than
this.  BALIR is too cool for a data table.
Del/Left: Delete the last-typed character.
Enter: Attempt to create file with indicated parameters.  You'll get a little
message telling you of the outcome.  Press any key to clear this message.
Currently this can only create level files on ROMs 3.0A, 8.0, 9.0, and 10.0.
If you run it on something else, it will give you a little message but it
won't crash your calculator.
Exit: Quit

Version History:
Betas: Really sucky.
1.x: Sucky.  OK, not THAT sucky.  But rumor has it that I wrote Slippy 1.0
in a single day.  The engine, anyway.  The levels took a while.
1.5: Integrated engine/editor/data.  Not released.  Slightly sucky.
2.0: So awesome, you want to send me large sums of money.

E-Mail address, in case you missed it the first time: oxymoron@bigsky.net
Snail-mail address, in case you want to send me large sums of money:
Martin Hock
123 Southridge Drive
Missoula, MT 59803-3376
Note that Slippy is Freeware, and is (C) Martin Hock, since I wrote all of the
code all by myself.  You can play it all you want for free, but if you feel
the inclination to send me stuff, hey, I don't mind at all.  Note that sending
me stuff will generate Good Karma, which is a lot like Good Cholesterol, only
better.

Special Thanks:
Researchers of the 85, for finding out how it works.  Especially Dines
Justesen, whose ti-rom.txt lead me to the rom routine used to create files
and whose romdump stuff allowed me to find out exactly where it was.
Creators of the 86 for documenting some of the stuff, and other people on the
86 for filling in the gaps.  Too bad the information is quite scattered, but
Jimmy Mardell's Sqrxz had the important numbers all in the same place.  Alan
Bailey's development system was very helpful also, though I don't understand
why Prgm86 needs a DPMI server.  Oh well, at least it works!
Andrew Von Dollen, for spreading the word of Slippy to platforms large and
small.  The 92 is pretty large if you ask me.  It doesn't even fit in my
pocket.  Well, actually, it depends on the pants.
Mike Baker, for teaching me how the VAT works when I was working on PhatOS.
You, for realizing the inherent badassiness in the Kickboxer's stylings.
Those who create levels, for embodying the Tao of Slippy.  Remember, Slippy
will be nothing unless you make levels.  It's a lot like when you see the
dying child on television and it's your fault that it's dying because you
don't send just 70 cents a day.  Don't you want to belt the guys that spend
thousands of dollars or whatever to fly over there and show the starving
children on television and somehow they blame YOU for their condition,
probably while munching on a candy bar right in front of them while off
camera?  Eh?  Eh?
