title Memories Of Castlemouse
author Wayne Myers
homepage www.conniptions.org

text_color lightgreen
again_interval 0
youtube CnjtQbU0Gg8

========
OBJECTS
========

Background 
Black

Wall
Brown DarkBrown
00010
11111
01000
11111
00010

Floor
#888855 #885588
00100
01110
11011
01110
00100


Hole
Black #222222 Brown
21112
10000
10000
10000
10000

Marker
Red
00.00
0...0
.....
0...0
00.00

MMarker
Purple
00.00
0...0
.....
0...0
00.00

CMarker
Purple
00.00
0...0
.....
0...0
00.00

DMarker
Purple
00.00
0...0
.....
0...0
00.00

EMarker
Purple
00.00
0...0
.....
0...0
00.00

Mouse
LightGrey Black
.....
.1.1.
.000.
.010.
..1..

UpMovingMouse
LightGrey Black
.....
.1.1.
.000.
.010.
..1..

LeftMovingMouse
LightGrey Black
.....
.1.1.
.000.
.010.
..1..

RightMovingMouse
LightGrey Black
.....
.1.1.
.000.
.010.
..1..

DownMovingMouse
LightGrey Black
.....
.1.1.
.000.
.010.
..1..

Cat
White Green Pink Grey
0...0
00000
01010
30203
.000.

RightMovingCat
White Green Pink Grey
0...0
00000
01010
30203
.000.

LeftMovingCat
White Green Pink Grey
0...0
00000
01010
30203
.000.

UpMovingCat
White Green Pink Grey
0...0
00000
01010
30203
.000.

DownMovingCat
White Green Pink Grey
0...0
00000
01010
30203
.000.

Dog
DarkBrown Black
.0.0.
01010
00000
00100
01110

UpMovingDog
DarkBrown Black
.0.0.
01010
00000
00100
01110

DownMovingDog
DarkBrown Black
.0.0.
01010
00000
00100
01110

LeftMovingDog
DarkBrown Black
.0.0.
01010
00000
00100
01110

RightMovingDog
DarkBrown Black
.0.0.
01010
00000
00100
01110

Elephant
LightGrey Black #eeeeee Grey
.000.
31300
32330
30000
.0..0

UpMovingElephant
LightGrey Black #eeeeee Grey
.000.
31300
32330
30000
.0..0

DownMovingElephant
LightGrey Black #eeeeee Grey
.000.
31300
32330
30000
.0..0

LeftMovingElephant
LightGrey Black #eeeeee Grey
.000.
31300
32330
30000
.0..0

RightMovingElephant
LightGrey Black #eeeeee Grey
.000.
31300
32330
30000
.0..0

=======
LEGEND
=======

X = Background
. = Floor
# = Wall
E = Elephant and Floor and Marker
D = Dog and Floor and Marker
C = Cat and Floor and Marker
M = Mouse and Floor and Marker
3 = Elephant and Floor
2 = Dog and Floor
1 = Cat and Floor
0 = Mouse and Floor
H = Hole and Floor

Player = Marker

Obstacle = Wall or Hole

VerticalMovingElephant = UpMovingElephant or DownMovingElephant
HorizontalMovingElephant = LeftMovingElephant or RightMovingElephant
MovingElephant = VerticalMovingElephant or HorizontalMovingElephant

VerticalMovingDog = UpMovingDog or DownMovingDog
HorizontalMovingDog = LeftMovingDog or RightMovingDog
MovingDog = VerticalMovingDog or HorizontalMovingDog

VerticalMovingCat = UpMovingCat or DownMovingCat
HorizontalMovingCat = LeftMovingCat or RightMovingCat
MovingCat = VerticalMovingCat or HorizontalMovingCat

VerticalMovingMouse = UpMovingMouse or DownMovingMouse
HorizontalMovingMouse = LeftMovingMouse or RightMovingMouse
MovingMouse = VerticalMovingMouse or HorizontalMovingMouse

MoveMarker = MMarker or CMarker or DMarker or EMarker

=======
SOUNDS
=======

SFX0 40739509 (Mouse in hole)
SFX1 65087301 (Scared mouse)
SFX2 10901907 (Hit wall)
SFX3 45415107 (Scared dog)
SFX4 80636305 (Scared cat)
SFX5 3673502  (Scared elephant)

================
COLLISIONLAYERS
================

Background
Floor
Hole
Mouse, MovingMouse, Cat, MovingCat, Dog, MovingDog, Elephant, MovingElephant, Wall
Marker, MoveMarker

======
RULES     
======     

(Marker rules)
[ > Marker Mouse ] -> [ MMarker > Mouse ]
[ > Marker Cat ] -> [ CMarker > Cat ]
[ > Marker Dog ] -> [ DMarker > Dog ]
[ > Marker Elephant ] -> [ EMarker > Elephant ]

startLoop

(Elephant rules)
[ UP Elephant ] -> [ UP UpMovingElephant ]
[ DOWN Elephant ] -> [ DOWN DownMovingElephant ]
[ LEFT Elephant ] -> [ LEFT LeftMovingElephant ]
[ RIGHT Elephant ] -> [ RIGHT RightMovingElephant ]

[ UpMovingElephant ] -> [ Up UpMovingElephant ] again
[ LeftMovingElephant ] -> [ Left LeftMovingElephant ] again
[ RightMovingElephant ] -> [ Right RightMovingElephant ] again
[ DownMovingElephant ] -> [ Down DownMovingElephant ] again

right [ Elephant | Stationary Dog | No Obstacle ] -> [ Elephant | right Dog | SFX3 ]
left [ Elephant | Stationary Dog | No Obstacle ] -> [ Elephant | left Dog | SFX3 ]
up [ Elephant | Stationary Dog | No Obstacle ] -> [ Elephant | up Dog | SFX3 ]
down [ Elephant | Stationary Dog | No Obstacle ] -> [ Elephant | down Dog | SFX3]
right [ VerticalMovingElephant | Stationary Dog | No Obstacle ] -> [ VerticalMovingElephant | right Dog | SFX3 ]
left [ VerticalMovingElephant | Stationary Dog | No Obstacle ] -> [ VerticalMovingElephant | left Dog | SFX3 ]
up [ HorizontalMovingElephant | Stationary Dog | No Obstacle ] -> [ HorizontalMovingElephant | up Dog | SFX3 ]
down [ HorizontalMovingElephant | Stationary Dog | No Obstacle ] -> [ HorizontalMovingElephant | down Dog | SFX3]

[ > MovingElephant | Cat | ] -> [ Elephant | Cat | SFX5 ]
[ > MovingElephant | Mouse ] -> [ Elephant | Mouse ]
[ > MovingElephant | Dog | Obstacle | ] -> [ Elephant | Dog | Obstacle | SFX3 ]
[ > MovingElephant | Dog | No Obstacle ] -> [ Elephant | > Dog | SFX3 ]
[ > MovingElephant | Obstacle | ] -> [ Elephant | Obstacle | SFX2 ]

(Dog rules)
[ UP Dog ] -> [ UP UpMovingDog ]
[ DOWN Dog ] -> [ DOWN DownMovingDog ]
[ LEFT Dog ] -> [ LEFT LeftMovingDog ]
[ RIGHT Dog ] -> [ RIGHT RightMovingDog ]

[ UpMovingDog ] -> [ Up UpMovingDog ] again
[ LeftMovingDog ] -> [ Left LeftMovingDog ] again
[ RightMovingDog ] -> [ Right RightMovingDog ] again
[ DownMovingDog ] -> [ Down DownMovingDog ] again

right [ Dog | Stationary Cat | No Obstacle ] -> [ Dog | right Cat | SFX4 ]
left [ Dog | Stationary Cat | No Obstacle ] -> [ Dog | left Cat | SFX4 ]
up [ Dog | Stationary Cat | No Obstacle ] -> [ Dog | up Cat | SFX4 ]
down [ Dog | Stationary Cat | No Obstacle ] -> [ Dog | down Cat | SFX4]
right [ VerticalMovingDog | Stationary Cat | No Obstacle ] -> [ VerticalMovingDog | right Cat | SFX4 ]
left [ VerticalMovingDog | Stationary Cat | No Obstacle ] -> [ VerticalMovingDog | left Cat | SFX4 ]
up [ HorizontalMovingDog | Stationary Cat | No Obstacle ] -> [ HorizontalMovingDog | up Cat | SFX4 ]
down [ HorizontalMovingDog | Stationary Cat | No Obstacle ] -> [ HorizontalMovingDog | down Cat | SFX4]

[ > MovingDog | Mouse | ] -> [ Dog | Mouse | SFX3 ]
[ > MovingDog | Elephant ] -> [ Dog | Elephant ]
[ > MovingDog | Cat | Obstacle | ] -> [ Dog | Cat | Obstacle | SFX4 ]
[ > MovingDog | Cat | No Obstacle ] -> [ Dog | > Cat | SFX4 ]
[ > MovingDog | Obstacle | ] -> [ Dog | Obstacle | SFX2 ]

(Cat rules)
[ UP Cat ] -> [ UP UpMovingCat ]
[ DOWN Cat ] -> [ DOWN DownMovingCat ]
[ LEFT Cat ] -> [ LEFT LeftMovingCat ]
[ RIGHT Cat ] -> [ RIGHT RightMovingCat ]

[ UpMovingCat ] -> [ Up UpMovingCat ] again
[ LeftMovingCat ] -> [ Left LeftMovingCat ] again
[ RightMovingCat ] -> [ Right RightMovingCat ] again
[ DownMovingCat ] -> [ Down DownMovingCat ] again

right [ Cat | Stationary Mouse | No Wall ] -> [ Cat | right Mouse | SFX1 ]
left [ Cat | Stationary Mouse | No Wall ] -> [ Cat | left Mouse | SFX1 ]
up [ Cat | Stationary Mouse | No Wall ] -> [ Cat | up Mouse | SFX1 ]
down [ Cat | Stationary Mouse | No Wall ] -> [ Cat | down Mouse | SFX1]
right [ VerticalMovingCat | Stationary Mouse | No Wall ] -> [ VerticalMovingCat | right Mouse | SFX1 ]
left [ VerticalMovingCat | Stationary Mouse | No Wall ] -> [ VerticalMovingCat | left Mouse | SFX1 ]
up [ HorizontalMovingCat | Stationary Mouse | No Wall ] -> [ HorizontalMovingCat | up Mouse | SFX1 ]
down [ HorizontalMovingCat | Stationary Mouse | No Wall ] -> [ HorizontalMovingCat | down Mouse | SFX1]

[ > MovingCat | Elephant | ] -> [ Cat | Elephant | SFX4 ]
[ > MovingCat | Dog ] -> [ Cat | Dog ]
[ > MovingCat | Mouse | Wall | ] -> [ Cat | Mouse | Wall | SFX1 ]
[ > MovingCat | Mouse | No Wall ] -> [ Cat | > Mouse | SFX1 ]
[ > MovingCat | Obstacle | ] -> [ Cat | Obstacle | SFX2 ]

(Mouse rules)
[ UP Mouse ] -> [ UP UpMovingMouse ]
[ DOWN Mouse ] -> [ DOWN DownMovingMouse ]
[ LEFT Mouse ] -> [ LEFT LeftMovingMouse ]
[ RIGHT Mouse ] -> [ RIGHT RightMovingMouse ]

[ UpMovingMouse ] -> [ Up UpMovingMouse ] again
[ LeftMovingMouse ] -> [ Left LeftMovingMouse ] again
[ RightMovingMouse ] -> [ Right RightMovingMouse ] again
[ DownMovingMouse ] -> [ Down DownMovingMouse ] again

right [ Mouse | Stationary Elephant | No Obstacle ] -> [ Mouse | right Elephant | SFX5 ]
left [ Mouse | Stationary Elephant | No Obstacle ] -> [ Mouse | left Elephant | SFX5 ]
up [ Mouse | Stationary Elephant | No Obstacle ] -> [ Mouse | up Elephant | SFX5 ]
down [ Mouse | Stationary Elephant | No Obstacle ] -> [ Mouse | down Elephant | SFX5]
right [ VerticalMovingMouse | Stationary Elephant | No Obstacle ] -> [ VerticalMovingMouse | right Elephant | SFX5 ]
left [ VerticalMovingMouse | Stationary Elephant | No Obstacle ] -> [ VerticalMovingMouse | left Elephant | SFX5 ]
up [ HorizontalMovingMouse | Stationary Elephant | No Obstacle ] -> [ HorizontalMovingMouse | up Elephant | SFX5 ]
down [ HorizontalMovingMouse | Stationary Elephant | No Obstacle ] -> [ HorizontalMovingMouse | down Elephant | SFX5]

[ > MovingMouse | Dog | ] -> [ Mouse | Dog | SFX1 ]
[ > MovingMouse | Cat ] -> [ Mouse | Cat ]
[ > MovingMouse | Elephant | Wall | ] -> [ Mouse | Elephant | Wall | SFX5 ]
[ > MovingMouse | Elephant | No Obstacle ] -> [ Mouse | > Elephant | SFX5 ]
[ > MovingMouse | Wall | ] -> [ Mouse | Wall | SFX2 ]
[ > MovingMouse | Hole | ] -> [ No MovingMouse | Hole | SFX0 ]

endloop


(Late marker rules)

late [ Mouse ] [ MMarker ] -> [ Mouse Marker ] []
late [ Cat ] [ CMarker ] -> [ Cat Marker ] []
late [ Dog ] [ DMarker ] -> [ Dog Marker ] []
late [ Elephant ] [ EMarker ] -> [ Elephant Marker ] []

==============
WINCONDITIONS
==============

No MovingMouse
No Mouse

=======     
LEVELS
=======

Message In 2001 I was very lost.

XXXXXXXXXXXXXXXXXXXXX
X###################X
X#...............###X
X#..#........#...###X
X#...............###X
X###...M..#........#X
X##H..........#....#X
X###..#.....#......#X
X#.............#...#X
X#..#....#.........#X
X#..............####X
X###################X
XXXXXXXXXXXXXXXXXXXXX

Message I was just trying to hide from the world.

XXXXXXXXXXXXXXXXXXXXXXXXXX
X########################X
X#...##....###.###....###X
X#...##....#H#........###X
X#.M.............#......#X
X#....##..##.....##.....#X
X#.....#......##........#X
X#..##.......###........#X
X#..##....#.......###...#X
X#.......##........##...#X
X#...##..##........##...#X
X#...##.................#X
X###.........###.....####X
X###.........###....#####X
X########################X
XXXXXXXXXXXXXXXXXXXXXXXXXX

Message I spent a lot of time playing a game called Castlemouse.

XXXXXXXXXXXXXXXXXXXXX
X###################X
X#.................#X
X#.........#.......#X
X###...............#X
X##H.....0.....#...#X
X###...............#X
X#.................#X
X#....#..........###X
X#.........0.....H##X
X#C..............###X
X###################X
XXXXXXXXXXXXXXXXXXXXX

Message Everything seemed to be slipping away from me.

XXXXXXXXXXXXXXXXXXXXXXXXXX
X########################X
X#.......##.###.........#X
X#......##..#H#.........#X
X#.................#....#X
X#..........0...0#......#X
X###....#...............#X
X##H..................###X
X###......0...........H##X
X#........#.....#.....###X
X#................#.....#X
X#......0...............#X
X#.C.......#H#..........#X
X#.........###..........#X
X########################X
XXXXXXXXXXXXXXXXXXXXXXXXXX

Message The world seemed full of fear.

XXXXXXXXXXXXXXXXXXX
X#################X
X#...............#X
X#.......1#......#X
X###.............#X
X##H....0........#X
X###.............#X
X#.............###X
X#.D......0....H##X
X#.#...........###X
X#...#...........#X
X#################X
XXXXXXXXXXXXXXXXXXX

Message Everything was falling apart for me at once.

XXXXXXXXXXXXXXXXXXXXXXXXXX
X########################X
X###..................###X
X##H.......0.0........H##X
X###..................###X
X#......................#X
X#..#...................#X
X#.1.........#..........#X
X#.........0............#X
X##.........1...........#X
X#.......D..............#X
X###..................###X
X##H.........0........H##X
X###.......#..........###X
X########################X
XXXXXXXXXXXXXXXXXXXXXXXXXX

Message I don't remember that time very well.

XXXXXXXXXXXXXXXXXXX
X#################X
X#...............#X
X#.......1#......#X
X###.............#X
X##H....0........#X
X###.............#X
X#.............###X
X#.....2..0....H##X
X#...#.......E.###X
X#...#...........#X
X#################X
XXXXXXXXXXXXXXXXXXX

Message I don't even remember exactly how Castlemouse went.

XXXXXXXXXXXXXXXXXXXXXXXXXX
X########################X
X#....................#.#X
X#....1..........#......#X
X#...........0...#...2..#X
X#......................#X
X#..........#H#.........#X
X#..........###.........#X
X#..........###.........#X
X#..........#H#.........#X
X#...........0..........#X
X#...2...........1......#X
X#.E...................##X
X#......................#X
X########################X
XXXXXXXXXXXXXXXXXXXXXXXXXX

Message Many things were set in motion at that time.

XXXXXXXXXXXXXXXXXXX
X#################X
X#......0.......H#X
X##..........3..##X
X#H...0..........#X
X##..............#X
X####..1.........#X
X#............#..#X
X#...#..###......#X
X#..D#..#H#......#X
X#.......0.......#X
X#..........1....#X
X#################X
XXXXXXXXXXXXXXXXXXX

Message Many unexpected chains of events, not all bad.

XXXXXXXXXXXXXXXXXXXXXXXXXX
X########################X
X#.....#..............###X
X#.....0..............H##X
X#.......3............###X
X#......................#X
X###....................#X
X##H.................0..#X
X###....................#X
X#......................#X
X#.....................C#X
X#...2.................##X
X#....#...2............##X
X#.....................##X
X########################X
XXXXXXXXXXXXXXXXXXXXXXXXXX

Message I'm doing a lot better now.

Message Also, Castlemouse is a much better game than this - you should track it down.

Message Thank you for playing.

Message Music: Broken - Fit and the Conniptions (music.conniptions.org)