Yoshi FAQ(NES)
version 1.0.0
by Andrew Schultz [email protected]

Please do not reproduce for profit.  This is part of my part of the
efforts to preserve the memory of old games by providing original
literature.  However, if you wish to post this on your site, drop me an
e-mail discussing me and this FAQ by name, and I'll probably accept.

**** AD SPACE ****
My home page:
http://www.geocities.com/SoHo/Exhibit/2762/
Games page:
http://www.geocities.com/SoHo/Exhibit/2762/games/games.htm

================================

INTRODUCTION

POINTS, ETC.

STRATEGY AND BASIC PROBABILITIES

THEORY

 LIST OF MOVEMENTS

 TABLE OF MOVEMENTS

YOU CAN GET BLACKBALLED

================================
INTRODUCTION

"What this world needs...is a Yoshi NES FAQ!"  It came to me in a dream.

I've always wanted to write a FAQ/guide for a Tetris-style game, and
let's face it, they don't get any simpler or smaller than Yoshi.  I'm
trying to stay away from making this FAQ sound like a motivational
speech("Just concentrate hard, don't do anything dumb, improve your
reflexes, and you'll get a nice high score!")--what I want to find is,
how much rigor can I put into it?  There's a good deal of figure-
crunching, of course, but I wanted to cover some theoretical cases about
questions people might have after playing the game a few times.  I plan
to cover strategies for the A and B games but not for two-player mode
which I know nothing about.  There's also the standard point-scoring
section, etc.

Frequently I will use shorthand, W for white, O for orange, R for red, B
for black, and E for egg when describing what is in the columns.  I also
interchange objects and monsters in my vocabulary.

POINTS, ETC.

In both games, you get the same points for actions.  The only
differences are that you get bonus points for completing levels via game
B but not via game A.  With game A, a switch in levels drops a phalanx
of three guys down on the board.  With game B, you have the minimum of X
and 6 rows of monsters appearing at the start, where X is the level you
are on, but you get some bonuses at the end of the level.

--5 points for hitting one object with the same object above it
--50 points for putting a top-eggshell on a bottom-eggshell
--100 points for putting a top-eggshell over a bottom-eggshell, with a
few objects between them.  There can be more than one, but you still get
100 points.
--50*(minimum of level # and 6) points for completing a level in game B.
There's a brief skit where Mario rides on Toshi, who walks over to
something and pulls some sort of frog/okapi tongue out.  That something
is:  mushroom(1), rose(2), open red monster(3), bell(4), star(5),
apple(6 and beyond).

STRATEGY AND BASIC PROBABILITIES

 The first and bluntest try to buy time when in trouble is to pause,
but the screen disappears.  I suppose you could play on an emulator and
take screenshots, but that's really lame.  So on to more cerebral
strategy.

 It's not too tough to learn what to swivel when you have a lot of
time.  There is a list below.  But if one column is stacked near or at
the top, you will want to keep an eye on what's next.  Once the monster
at the top of the column is next, move it into place.  Even if a monster
is in the eighth row, this works.

 On a related note, if you swivel two columns, one with a falling
monster and another with a column higher than that monster, the monster
keeps falling at the same rate--this can be nice if, say, you've nailed
something at the top and need a break for a few seconds, whether or not
you actually do any planning.  You can even swivel columns into place
for what's dropping next.  Keeping ahead of the game for a few turns
will probably reduce your columns well.

 Unfortunately, I can't think of anything else that's not fluff, so
I'll go into probabilities that should give you confidence the game is
fair(although eventually a sequence will come along that will swamp you-
-I prove that below.  Even though the odds of it happening at any time
are not great, over an arbitrary time, that small finite probability
becomes greater, etc.)

 The game is basically fair;  when you have objects on each of the four
plates, you can generally reduce them over time.  Given a random mix of
2 objects falling down and objects in each of the four columns, there
are 4^6=4096 possibilities.  It turns out that there are(using a trusty
computer program:)
1588 ways to get two pairs, or 1588/4096=38.75% chance you can eliminate
4 objects
1992 ways to get one, or
516 to get none, or 12.59% chance you won't be able to eliminate any.
Overall, this leads to an expected value of 1072/4096(the two-baggers
minus the one-baggers) objects reduced with each pair that falls, or
26, as long as all four columns are filled in.  That's pretty good.
 With 3 objects your odds are still pretty good, so don't panic.  In
the 4^5=1024 possibilities, there are 256 ways to get two pairs, 564 to
get one, and 204 to get none.  That leads to an expected value of 256-
204/1024=52/1024=.05 expected value for monsters removed, so you still
at least break even in this case.  The intuitive method of just
balancing rows is probably the best.
 We haven't considered the randomly appearing egg shells, but they
probably only help--an egg-top always disappears and can be a big help
if there are any egg-shells anywhere on the board.  An egg-bottom can be
a bit of trouble, but it can also be a help in the long run if an egg-
top appears.
 As your distribution can be considered slightly better-varied than the
random, you can reduce a huge block of objects over time without needing
much luck.  What you need to do when two objects fall is to leave open
the most variety.  For instance, if the topmost objects are WWRB and you
have an OO dropping down, it would be a mistake to put it over the RB as
that would leave only two colors.  In fact, you might want to look at
the guys falling down next.  If you have a RW then you'll want to leave
an R and a W open.  If you have BE falling next then cover a W and a R.
Whenever a column is rid of objects, fill it up again.

 GAME A-SPECIFIC PROBABILITIES

 The main pain in game A is that three guys will fall down at once.
Because they fall down so quickly, you may need to do a little damage
control.  Focus on the highest monster in your columns and see if the
falling(or next) envoy will wipe him out.  If you get one(and you should
be able to) happy accidents should nail enough that you keep your head
above water.  More odds are below--there are 4^6=16384 different
combinations of monsters/spaces.  I assume there are 4 columns filled--
if not, you should really be fine!
2716 ways(16.58% chance) you'll be able to make three matches--but you
probably won't be able to flip the columns in time.
7740 ways(47.24% chance) you'll be able to make two matches
5004 ways(30.54% chance) you'll be able to make a match
912 ways(5.56% chance) you won't be able to reduce anything.  This is
the main problem you'll have, and fortunately it won't come up too much.
It will come up even less than randomly, because most of these cases
occur when there are only two colors of monster out there, in which
case, you've probably already done some reducing and can't keep track of
much below the top of the column, as it's not too tough to preserve some
sort of variety.  When this does happen, try to leave all four colors of
monster visible if possible.

 GAME B-SPECIFIC PROBABILITIES

 The main annoyance here is at the end;  you'll need to wait a lot for
the right opportunity.  Your main concerns are 1)how to get rid of those
last two guys and 2)how to do something when an odd number of monsters
is left.

 1)  well, if you can keep the number of monsters down overall by
diversifying, learning to swivel quickly, etc., that is a help.  But
then there's the end, which seems to take a while--and it's not just
you.  Once you have two guys left, there's a decent chance you'll be
able to complete the level.  Looking at the "next" doesn't really come
into play here, so this probability is hard-and-fast:
 Assume you have two monsters of different color at the bottom.
WLOG(without loss of generality) you can assume that they are R and O.
It doesn't matter which columns they are in, either.  Then the following
combinations of monsters falling will not decrease the number of
monsters:  OO, OW, WO, OB, BO, RR, RW, WR, RB, BR.  The following will
clear the board:  OR, RO.  The following can't clear anything:  BB, BW,
WB, WW.  We are leaving eggs out here and will discuss them in point
two.  However, we see that there are 6 alignments that change the number
of monsters, and two(one-third) reduce and four(two-thirds) increase.
So when you're almost finished, there's a two-thirds chance of rejection
assuming decent randomization.
 2)  the game starts with an even number of monsters, but there are two
ways to change parity between odd and even.
   a)  top of an eggshell falls and breaks
   b)  you make a "sandwich" of a bottom eggshell, monster, and top
eggshell
     Either way, if you have an odd number of monsters in the columns,
eliminating two at a time while two at a time come out on the board will
never get you to zero, which is even.  So you have to rely on the eggs.
 If a top eggshell comes down, congratulations on your good luck!  If a
bottom eggshell comes down, put a monster over it ASAP.  Then a top
eggshell will kill it and restore parity(3 monsters will vanish.)  A
bottom eggshell will be annoying, but then either a bottom or a top
eggshell will get rid of it.  The eggshells can be a nuisance here but
they are the best way in the game to get points, and playing to get
eggshells so Yoshi's count can go up is about as good an alternate goal
as you'll find.

THEORY(WHAT THERE IS OF IT)

This theory is too light to be serious yet involved enough to turn off
the casual player, but it's part of an intellectual exercise, and maybe
someone will find it neat or be able to incorporate similar ideas into a
Tetris FAQ.

In general, the formula for number of turns you need to get from one
formation to another is as follows:
Total turns = (distance between A, before and after) + (distance between
B, before and after) + (0 if the outside two points include one of A, Af
and one of B, Bf OR 1 if A/B order is switched before and after and the
direction from A to Af is in the opposite direction of the direction
from B to Bf, OR -1 otherwise)
In other words, you'd add one if
AxxB became BxxA
but not if
AxBx became xxAB,
where A and B are the columns you wish to switch, and I put an x in the
two you don't.  This notation will be used throughout the FAQ.

This is easily proven by noting that if A and B do not switch
orientation, you can move one of A or B to its desired position without
crossing over the other.  (If not, assume A is to the right of B.  Then
the new A would be to the left of B and the new B would be to the right
of A and thus to the right of the new A.)  Each move makes |Af-A| + |Bf-
B| one smaller.
If they do switch orientation, then you need to worry about if both A
and B go toward their desires goals or away from them.  If they both go
toward the goals, then you have eliminated a necessary step.  Otherwise
you need to add one.

The moves below indicate the positions Mario needs to be in to swivel
the stacks so that you get what you want.
1:  swap leftmost and 2nd-left
2:  swap 2nd-left and 2nd-right
3:  swap 2nd-right and rightmost

Note that some solutions require you to shift over twice, and none
require more than five flips.  This fits in with the theorem above.
Maximum distance switch is 6, and then we must subtract one--but with a
distance switch of 5, we also subtract one in the formula, since for A
and B to be in the same order as Af and Bf, each can only be switched by
two, i.e. from ABxx to xxAB is clearly the maximum.  Note there are
several ways to achieve 5;  AxxB to BxxA.

In general, I try to move the A into position first, and then the B,
unless you can flip the B more efficiently.  And probably the most
annoying one, flipping one column over the other(BAxx to xABx, for
instance,) is done two ways:  1,2,1 and 2,1,2.  Obviously use the one
you start closer to.

 LIST OF MOVEMENTS

**ABxx:

 ABxx-
 AxBx-2
 AxxB-2,3
 BAxx-1
 xABx-2,1
 xAxB-2,3,1
 BxAx-1,2
 xBAx-1,2,1
 xxAB-2,3,1,2
 BxxA-1,2,3
 xBxA-1,2,3,1
 xxBA-1,2,3,1,2

**AxBx:

 ABxx-2
 AxBx-
 AxxB-3
 BAxx-2,1
 xABx-1
 xAxB-3,1
 BxAx-2,1,2
 xBAx-1,2
 xxAB-3,1,2
 BxxA-1,2,1,3
 xBxA-1,2,3
 xxBA-1,2,3,2

**AxxB:

 ABxx-3,2
 AxBx-3
 AxxB-
 BAxx-3,2,1
 xABx-1,3
 xAxB-1
 BxAx-1,3,2,1
 xBAx-1,3,2
 xxAB-1,2
 BxxA-1,2,3,2,1
 xBxA-1,2,3,2
 xxBA-1,2,3

**BAxx:

 ABxx-1
 AxBx-1,2
 AxxB-1,2,3
 BAxx-
 xABx-1,2,1
 xAxB-1,2,3,1
 BxAx-2
 xBAx-2,1
 xxAB-1,2,3,1,2
 BxxA-2,3
 xBxA-2,3,1
 xxBA-2,3,1,2

**xABx:

 ABxx-1,2
 AxBx-1
 AxxB-1,3
 BAxx-1,2,1
 xABx-
 xAxB-3
 BxAx-2,1
 xBAx-2
 xxAB-3,2
 BxxA-2,1,3
 xBxA-2,3
 xxBA-2,3,2

**xAxB:

 ABxx-1,3,2
 AxBx-1,3
 AxxB-1
 BAxx-3,2,1,2
 xABx-3
 xAxB-
 BxAx-3,2,1
 xBAx-3,2
 xxAB-2
 BxxA-3,2,1,3
 xBxA-2,3,2
 xxBA-2,3

**BxAx:

 ABxx-1,2
 AxBx-1,2,1
 AxxB-2,1,2,3
 BAxx-2
 xABx-1,2
 xAxB-1,2,3
 BxAx-
 xBAx-1
 xxAB-1,2,3,2
 BxxA-3
 xBxA-1,3
 xxBA-3,1,2

**xBAx:

 ABxx-1,2,1
 AxBx-2,1
 AxxB-2,1,3
 BAxx-1,2
 xABx-2
 xAxB-2,3
 BxAx-1
 xBAx-
 xxAB-2,3,2
 BxxA-1,3
 xBxA-3
 xxBA-3,2

**xxAB:

 ABxx-2,1,3,2
 AxBx-2,1,3
 AxxB-2,1
 BAxx-2,1,3,2,1
 xABx-2,3
 xAxB-2
 BxAx-3,2,1,3
 xBAx-2,3,2
 xxAB-
 BxxA-3,2,1
 xBxA-3,2
 xxBA-3

**BxxA:

 ABxx-3,2,1
 AxBx-3,2,1,2
 AxxB-3,2,1,2,3
 BAxx-3,2
 xABx-1,3,2
 xAxB-1,2,3,2
 BxAx-3
 xBAx-1,3
 xxAB-1,2,3
 BxxA-
 xBxA-1
 xxBA-1,2

**xBxA:

 ABxx-3,2,1,2
 AxBx-3,2,1
 AxxB-3,2,1,3
 BAxx-1,3,2
 xABx-3,2
 xAxB-2,3,2
 BxAx-1,3
 xBAx-3
 xxAB-2,3
 BxxA-1
 xBxA-
 xxBA-2

**xxBA:

 ABxx-3,2,1,3,2
 AxBx-3,2,1,3
 AxxB-1,2,3
 BAxx-2,3,1,2
 xABx-2,3,2
 xAxB-3,2
 BxAx-2,1,3
 xBAx-2,3
 xxAB-3
 BxxA-2,1
 xBxA-2
 xxBA-

 TABLE OF MOVEMENTS

   |ABxx|AxBx|AxxB|BAxx|xABx|xAxB|BxAx|xBAx|xxAB|BxxA|xBxA|xxBA|
ABxx|   0|   1|   2|   1|   2|   3|   2|   3|   4|   3|   4|   5|
AxBx|   1|   0|   1|   2|   1|   2|   3|   2|   3|   4|   3|   4|
AxxB|   2|   1|   0|   3|   2|   1|   4|   3|   2|   5|   4|   3|
BAxx|   1|   2|   3|   0|   3|   4|   1|   2|   5|   2|   3|   4|
xABx|   2|   1|   2|   3|   0|   1|   2|   1|   2|   3|   2|   3|
xAxB|   3|   2|   1|   4|   1|   0|   3|   2|   1|   4|   3|   2|
BxAx|   2|   3|   4|   1|   2|   3|   0|   1|   4|   1|   2|   3|
xBAx|   3|   2|   3|   2|   1|   2|   1|   0|   3|   2|   1|   2|
xxAB|   4|   3|   2|   5|   2|   1|   4|   3|   0|   3|   2|   1|
BxxA|   3|   4|   5|   2|   3|   4|   1|   2|   3|   0|   1|   2|
xBxA|   4|   3|   4|   3|   2|   3|   2|   1|   2|   1|   0|   1|
xxBA|   5|   4|   3|   4|   3|   2|   3|   2|   1|   2|   1|   0|

YOU CAN GET BLACKBALLED

It is possible for the computer to screw you over.  For instance, if it
put out, in a cycle, two reds, two oranges, two whites, two blacks, two
egg bottoms, you would lose very quickly.  It seems self-evident.  In
order to make any progress, you need to be able to get a bunch of double
knock-outs in a row, and the way everything falls down, it's not really
possible.  A proof is below, and I expect it extends to if there were
only four creatures.

Replace each block with a pair of numbers.  Then note that, if no blocks
vanish and we have an infinite well, the least the maximum height could
be is x/2, where x=the number of blocks that come down.
Now, assume that we can never have a height of 9 blocks.  Also note the
following:  the minimum # of blocks, given what the computer puts out,
to achieve a height of Y blocks in one row and knock it down again is
4Y+1.  I.e. if we put in red/orange/red/orange we could knock it down
with orange/red/orange/red.

Proof:  note the following case establishes the minimum is true.
4Y
4Y-2
4Y-6
...(descend by twos)
2Y+2
2Y-2
...(descend by twos again)
6
2
0
..would make it so there are 2Y total items(0..4Y by 2's, without 2Y)
That there can be no fewer is as follows:  note that you need five
blocks for one row.  Drop color 0 in, then you'll have to wait for color
4.  Assume by induction that a height of Y blocks needs at least 4Y+1.
Then...
1.  You need to cycle through {X+4Y..X} to build up to Y blocks and
break the blocks down again.
2.  See how to make a height of Y+1 blocks.  Add any number, X+4Y+A, and
see how we would "counter" that with a block at the bottom--the answer
is with X-4+(A mod 4).  But A - (-4+(A mod 4)) >= 4.  So each time the
column height increases, the minimum blocks increase by at least 4.
Above we showed it doesn't increase by more.

So let X = the # of blocks we put down overall, and let Y = the # of
blocks in row A that we can vanish.  Then note we can never have a
height of 9 blocks, so Y < 9/19(# of blocks,) but in some row we have
over 1/2 the number of blocks.

9/19(# of blocks thrown in well) + 32(this is the max # of blocks
remaining) <= 1/2(# of blocks thrown in well.)

32 <= (1/2 - 9/19) (# of blocks in well)
# blocks >= 32*38=1216.  So after 1216 blocks we are assured of losing,
and I know it takes a lot less time than that.  But I should cut the
proof off here.

END OF FAQ PROPER

================================

VERSIONS/CREDITS

1.0.0 Sent to GameFAQS 8/16/2001