title 2D Whale World
author increpare
homepage www.increpare.com

background_color orange
text_color darkblue

color_palette mastersystem

run_rules_on_level_start
require_player_movement

view_height 0.7

(This game is a port of the Whale section of my puzzle game English Country Tune (www.englishcountrytune.com), in only 8 lines of code)

(3D Modifications by Farbs. I hope you don't mind.)

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

Background
blue

Void
orange

Player
lightblue

Whale
voxel
brown
.
&
.....
.000.
.000.
.000.
.....
&
.....
.000.
.000.
.000.
.....
&
.....
.000.
.000.
.000.
.....
&
.

Wall
wall
black
00000
0...0
0...0
0...0
00000

HBeam
voxel
Yellow
.
&
.
&
.....
.....
0.0.0
.....
.....
&
.
&
.

VBeam
voxel
Yellow
.
&
.
&
..0..
.....
..0..
.....
..0..
&
.
&
.

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

Beam = HBeam or VBeam
. = Background
# = Wall
P = Player
W = Whale
0 = Void

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

whale destroy 62981708
player move 69405107
whale move 32823307
endlevel 99636708
restart 92555303
startgame 60661308
CloseMessage 123434
ShowMessage 123434

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

Background
void
Player, Wall, Whale
HBeam
VBeam

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

(while we allow whales to move onto the void, player's aren't)
[ > player | void ] -> [ player | void ]


(beams detect motion)
Horizontal [ > Player | VBeam ] -> [ > Player | > VBeam ]
Vertical [ > Player | HBeam ] -> [ > Player | > HBeam ]

(If beams detected motion, transfer that to the whales)
[ Whale | ... | Perpendicular Beam ] -> [ Perpendicular Whale | ... | Perpendicular Beam ]

(remove whales, if necessary)
late [ Whale Void ] -> [ Void ]

(remove beams)
[ Beam ] -> []

(Place HVeams and VBeams)
late Horizontal [ Whale | ... | ] -> [ Whale | ... | HBeam ]
late Vertical [ Whale | ... | ] -> [ Whale | ... | VBeam ]

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

No Whale

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

message Push a whale off to free it.

0000000000000000
0########0000000
0.......#0000000
0###.W..###00000
0.........#00000
0#####.##.###000
0000#...#...#000
0000#...#...#000
0000#...#...###0
0000#.P.#.....#0
0000#...#.....#0
0000#####...W##0
0000000000....#0
0000000000#####0
0000000000000000

message level 2 of 8

00000000000
0000####000
000##..##00
0###....##0
0#.......#0
0###.W.###0
000#P...000
000#####000
00000000000

message level 3 of 8

0000000000000000
00###00000000000
00#.#####0000000
00#.#...##000000
00#......#000000
00#..##.#######0
00#..#........#0
00#..#........#0
0##..######...#0
0#........#.W.#0
0##.......#..P#0
00######..#####0
00000000..000000
0000000000000000

message level 4 of 8

0000000000000000
000000#########0
0######.......#0
0.............#0
0.....#.#####.#0
0######.#.....#0
00000##.#...P.#0
00000#........#0
00000##.#.W...#0
000000#.......#0
000000###.#...#0
00000000#######0
0000000000000000

message level 5 of 8

00000000000000000
0000############0
0000#.#........#0
0000#..........#0
0####..###.....#0
0......#.#.....#0
0####..#W#.#W#.#0
0..........#.#.#0
0####.....P###.#0
0...#.#........#0
0##...##########0
00#####0000000000
00000000000000000

message level 6 of 8

00000000000000000
000000000#.#.#.#0
000000000#.#.#.#0
000000000#.#.#.#0
000000000#.....#0
0000000###...###0
0000000#.#...#000
0000000#.#.#.#000
0#######.#.#.#000
0#...........#000
0#.#.W...W...#000
0#...........#000
0#.....P.....#000
0#...........#000
0#############000
00000000000000000

message level 7 of 8

000000000#000000
00000####.####00
0####.........#0
0........#....#0
0####....W....#0
0000#.........#0
0000#.#W.P.W#..#
0####.........#0
0........W....#0
0####....#....#0
00000#........#0
000000########00
0000000000000000

message level 8 of 8

00000000000
0########00
0#...#..#00
0##.....000
0#......#00
0#..WW..##0
0#..WW...#0
0##...P.##0
0#...#.##00
0#######000
00000000000

message all the 2d whales are freed
