Movies
Versions
Mixed-Up Mother Goose is a Sierra adventure game.
git clone https://www.bamsoftware.com/git/mumg.git
Map
There are 44
rooms,
which are internally numbered 1–44.
Rooms 1–35 are overworld rooms.
Rooms 36–44 are interior rooms.
Blue circles in the diagram show the destination rooms
to which the numbered items 18–30 have to be delivered.
Gold squares show where random item assignment may place items;
see below.
Items
There are 20 items, numbered 11–30.
Items 11–17 are "walking" items that follow the player
around while they are in the inventory.
Items 18–30 are "pocket" items that disappear from the screen
while they are in the inventory.
The important difference is that walking items
cannot remain in interior rooms:
the initial random items assignment will not
place a walking item in an interior room,
and if you swap a walking item for another item
while in an interior room,
the walking item will not remain there,
but will warp to some other overworld room.
# | Item | Type | Delivery room |
---|
11 | Wife | walking | 12 |
12 | Miss Muffet | walking | 9 |
13 | Mouse | walking | 41 |
14 | Fiddlers Three | walking | 37 |
15 | Sheep | walking | 23 |
16 | Little Dog | walking | 27 |
17 | Little Lamb | walking | 13 |
18 | Fiddle | pocket | 7 |
19 | Pie | pocket | 43 |
20 | Knife | pocket | 3 |
21 | Steak | pocket | 36 |
22 | Pipe | pocket | 37 |
23 | Bowl | pocket | 37 |
24 | Broth | pocket | 21 |
25 | Candlestick | pocket | 33 |
26 | Pail | pocket | 1 |
27 | Watering Can | pocket | 31 |
28 | Sixpence | pocket | 15 |
29 | Ladder | pocket | 5 |
30 | Horse | pocket | 18 |
Random item assignment
See
Forum/Posts/515748
for details of the random number generator
and the item assignment algorithm.
mumg-assign.csv
shows the item assignment for every random seed.
Game mechanics
Movement
The player character can move 1 pixel per
game cycle
(horizontally or vertically or both).
It may look like the player moves 2 pixels per cycle horizontally,
but that is because the game's graphics are stretched 2× horizontally—internally,
the x-coordinate only changes by 1 unit.
If you need to move both horizontally and vertically,
the time needed is proportional to the
maximum
of the horizontal and vertical distances (
Chebyshev distance).
The walkable area of rooms is usually 160 pixels wide and 80 pixels tall, but there are many exceptions.
Collection and delivery of items
is usually triggered by being within
a certain radius of a certain point.
For example, the graphic below shows the delivery radius of Jack in room 33.
The delivery area is diamond-shaped
because that is the shape of a circle
in the way the game measures
distance.
Most interaction areas are a radius like this, but not all.
For example, Old King Cole in room 37
has a rectangular delivery area.
In general, you
have to check the logic code in every case.
The goal is not necessarily to enter the delivery area as quickly as possible.
Starting a deliver cutscene slows the game down to Normal speed,
and then the player character usually moves to a fixed waypoint under
program control.
It is usually worth spending extra time moving
to a favorable point at the edge of the delivery area,
to minimize the distance to the first waypoint
for the player character to move there slowly and automatically.
Movement carryover
Many effects in AGI are driven by serial state updates
to flags or variables.
It may happen that a delivery cutscene, for example,
is irrevocably triggered in one game cycle,
but does not actually begin until the next cycle.
During this "halfway" cycle,
it may be possible to continue moving the player character
even though the cutscene has technically already been triggered.
The main takeaway is that you should take advantage of this kind of movement,
when possible,
to move closer to the first forced waypoint.
An important special case of the movement carryover effect
is when walking between rooms.
Do not hold down the movement key only long enough to trigger
the room transition—hold it for at least one cycle longer.
The extra cycle of keyboard input will give you one free pixel
of movement in the new room, before you regain control of the player character.
Item swap
You can only carry one inventory item at a time.
If you collect an item while already holding one,
You will drop the item you are holding and pick up the other.
If you are in an interior room and currently have a walking item
in your inventory,
the walking item will not remain in the room after being swapped,
but will warp to another room.
Item warp
The destinations of item warps are controlled by a stack.
At the beginning of the game,
the 2 overworld rooms left unassigned
by the item assignment algorithm
are at the top of the stack.
Below them are rooms 4, 25, 18, 5, and 33.
Whenever you are in an overworld room, have an empty inventory,
and pick up an item,
the current room is pushed to the top of the warps stack.
Whenever an item is warped,
it pops the location off the warps stack.
Known shortcuts
There are many places where a room's logic code
defines special connectivity that can save time.
For example,
prefer walking behind Mother Goose's house, not in front of it,
whenever crossing from room 32 to room 31 or vice versa.
The room transition triggers are closer to the center of the screen,
and you are placed a farther into the new room, not at the edge.
Out of bounds in shoe house (room 44)
There is a gap in the barrier that defines the walkable area in room 44.
You can get out of bounds,
but still close enough to the item to collect it.
It saves time because you can exit the room
just by walking south,
rather than having to walk all the way back to the door.
Jump the wall from clock house (room 24)
There is 1 pixel behind the clock house where you can walk north
and end up outside the wall, rather than inside.
Jump the wall to pumpkin house (room 19)
There is a small area outside the wall
where you can walk north and end up inside the yard
of the pumpkin house in room 12,
rather than outside.