Skip to content

Instantly share code, notes, and snippets.

@Draknek
Forked from raggy/Axe & Islands
Last active June 26, 2017 17:29
Show Gist options
  • Save Draknek/44ed6bd3ef33ebcfe8f035489d832455 to your computer and use it in GitHub Desktop.
Save Draknek/44ed6bd3ef33ebcfe8f035489d832455 to your computer and use it in GitHub Desktop.
Axe & Islands
title Lumberjack Island
author doggo garden
noaction
run_rules_on_level_start
verbose_logging
========
OBJECTS
========
Background
Blue
Land
Yellow
Quicksave
#f7de4d
.....
.0.0.
..0..
.0.0.
.....
PlayerNormal
Orange Red Brown LightGrey
..0..
.111.
02223
.1133
.0.0.
PlayerBalancingTop
Orange Red Brown LightGrey
.....
.....
.....
..0..
.111.
PlayerBalancing
Orange Red Brown LightGrey
02223
.1133
.0.0.
.....
.....
TreeTop
Brown LightGreen
.....
...1.
1.1..
.111.
110.1
Tree
Brown LightGreen
100..
.00..
.00..
.00..
.....
TreeStump
Brown LightBrown LightGreen
...2.
21122
211..
.00..
..22.
LogV
Brown LightBrown
.00..
.00..
.00..
.00..
.00..
LogVOnTreeStumpTop
Brown LightBrown
.....
.....
.....
.....
.00..
LogVOnTreeStump
Brown LightBrown
.00..
.00..
.00..
.00..
.....
LogH
Brown
.....
.....
00000
00000
.....
LogHOnTreeStump
Brown #844f15
.....
00000
00000
.11..
.....
LogStanding
Brown LightBrown
.11..
.00..
.00..
.00..
.....
LogStandingTop
Brown LightBrown
.....
.....
.....
.....
.11..
LogStandingOnTreeStump
Brown #844f15
.00..
.00..
.00..
.11..
.....
LogStandingOnTreeStumpTop
Brown LightBrown
.....
.....
.....
.11..
.11..
RaftVOnLand
Brown LightBrown DarkBrown
00.00
22222
00.00
22222
00.00
(11.11
11211)
RaftHOnLand
Brown LightBrown DarkBrown
02020
02020
.2.2.
02020
02020
LogVInWater
DarkBrown Brown
.00..
.00..
.00..
.00..
.00..
LogHInWater
DarkBrown
.....
.....
00000
00000
.....
RaftV
DarkBrown darkblue
00.00
11111
00.00
11111
00.00
RaftH
DarkBrown darkblue
01010
01010
.1.1.
01010
01010
Rock
DarkGrey DarkBlue
.....
.00..
0001.
1011.
.....
MoveLogUp
Transparent
..0..
.000.
0.0.0
..0..
..0..
MoveLogDown
Transparent
..0..
..0..
0.0.0
.000.
..0..
MoveLogLeft
Transparent
..0..
.0...
00000
.0...
..0..
MoveLogRight
Transparent
..0..
...0.
00000
...0.
..0..
MoveRaftUp
Transparent
..0..
.000.
0.0.0
..0..
..0..
MoveRaftDown
Transparent
..0..
..0..
0.0.0
.000.
..0..
MoveRaftLeft
Transparent
..0..
.0...
00000
.0...
..0..
MoveRaftRight
Transparent
..0..
...0.
00000
...0.
..0..
Target
DarkBrown
.....
.0.0.
..0..
.0.0.
.....
ShallowWater
#3566f3
=======
LEGEND
=======
Player = PlayerNormal or PlayerBalancing
Log = LogV or LogVOnTreeStump or LogH or LogHOnTreeStump or LogStanding or LogStandingOnTreeStump
LogOnTreeStump = LogVOnTreeStump or LogHOnTreeStump or LogStandingOnTreeStump
Raft = RaftV or RaftH
RaftOnLand = RaftVOnLand or RaftHOnLand
TreeObstacle = Tree or Rock or LogVOnTreeStump or LogHOnTreeStump
LogObstacle = Tree or TreeStump or Log or Rock or RaftOnLand
ImmovableLogObstacle = Tree or TreeStump or Rock
RaftOnLandObstacle = Tree or TreeStump or Log or Rock or RaftOnLand
Standable = Land or LogVInWater or LogHInWater or RaftV or RaftH
Balanceable = TreeStump or LogV or LogH or RaftHOnLand or RaftVOnLand
PushAgainst = Rock or Tree or Log or RaftOnLand
PushAgainstOnLand = Rock or Tree or LogStanding or LogStandingOnTreeStump
MoveLog = MoveLogUp or MoveLogDown or MoveLogLeft or MoveLogRight
MoveRaft = MoveRaftUp or MoveRaftDown or MoveRaftLeft or MoveRaftRight
_ = Background
~ = ShallowWater
. = Land
@ = PlayerNormal and Land
t = Tree and Land
r = Rock and Land
x = Target and Land
o = TreeStump and Land
- = LogH and Land
! = LogV and Land
i = LogStanding and Land
w = LogHInWater and Background
z = LogVInWater and Background
* = RaftVOnLand and Land
# = RaftH and Background
c = Quicksave and Land
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
ShallowWater
Standable
Target, TreeStump, Quicksave
Log, RaftOnLand
Player, Tree, Rock
TreeTop, LogVOnTreeStumpTop, LogStandingTop, LogStandingOnTreeStumpTop, PlayerBalancingTop
MoveLog, MoveRaft
======
RULES
======
( Push against things to move on raft )
[ > PlayerNormal Raft | PushAgainst ] -> [ > PlayerNormal < Raft | PushAgainst ]
( Push against things to move on log on land )
vertical [ > PlayerBalancing LogH | Tree ] -> [ PlayerBalancing < LogH | Tree ]
horizontal [ > PlayerBalancing LogV | Tree ] -> [ PlayerBalancing < LogV | Tree ]
vertical [ > PlayerBalancing LogH | PushAgainstOnLand ] -> [ > PlayerBalancing < LogH | PushAgainstOnLand ]
horizontal [ > PlayerBalancing LogV | PushAgainstOnLand ] -> [ > PlayerBalancing < LogV | PushAgainstOnLand ]
( Stop when you can't walk somewhere )
[ > Player | no Standable ] -> cancel
vertical [ > Player | LogHInWater ] -> cancel
horizontal [ > Player | LogVInWater ] -> cancel
( Clear move tokens )
[ orthogonal Player ] [ MoveLog ] -> [ orthogonal Player ] [ ]
[ orthogonal Player ] [ MoveRaft ] -> [ orthogonal Player ] [ ]
( Chop trees )
vertical [ > Player | Tree ] -> [ Player | > Tree ]
horizontal [ > Player | Tree ] -> [ Player | > Tree ]
( Cancel chop if an obstacle in the way )
[ > Tree | TreeObstacle ] -> [ TreeStump LogStandingOnTreeStump | TreeObstacle ]
( Turn trees into logs )
[ > Tree ] -> [ TreeStump > LogStandingOnTreeStump ]
( Push logs )
[ > PlayerNormal | Log ] -> [ > PlayerNormal | > Log ]
vertical [ > PlayerBalancing | LogH ] -> [ > PlayerBalancing | > LogH ]
horizontal [ > PlayerBalancing | LogV ] -> [ > PlayerBalancing | > LogV ]
( Kick over standing log from balancing )
[ > PlayerBalancing | LogStanding ] -> [ > PlayerBalancing | > LogStanding ]
[ > PlayerBalancing | LogStandingOnTreeStump ] -> [ > PlayerBalancing | > LogStandingOnTreeStump ]
( Push logs on rafts )
[ > PlayerNormal | LogStanding Raft ] -> [ > PlayerNormal | LogStanding > Raft ]
[ > PlayerNormal | Log Raft ] -> [ > PlayerNormal | Log > Raft ]
( Push rafts on land )
[ > PlayerNormal | RaftOnLand ] -> [ > PlayerNormal | > RaftOnLand ]
( Push rafts on rafts )
[ > PlayerNormal | RaftOnLand Raft ] -> [ > PlayerNormal | RaftOnLand > Raft ]
( Keep raft moving )
[ MoveRaftUp Raft ] -> [ up Raft ]
[ MoveRaftDown Raft ] -> [ down Raft ]
[ MoveRaftLeft Raft ] -> [ left Raft ]
[ MoveRaftRight Raft ] -> [ right Raft ]
( Raft can't float over shallow water )
[ moving Raft ShallowWater ] -> [ Raft ShallowWater ]
( Keep rolling around axis )
[ MoveLogUp LogH ] -> [ MoveLogUp up LogH ]
[ MoveLogDown LogH ] -> [ MoveLogDown down LogH ]
[ MoveLogLeft LogV ] -> [ MoveLogLeft left LogV ]
[ MoveLogRight LogV ] -> [ MoveLogRight right LogV ]
( Rafts always move standing logs )
[ stationary LogStanding > Raft ] -> [ > LogStanding > Raft ]
( Stop raft when it hits something standable )
[ > Raft | Raft ] -> [ Raft | > Raft ]
[ > Raft | Standable ] -> [ Raft | Standable ]
( Rafts move non-standing logs unless they hit something )
[ stationary LogV > Raft ] -> [ > LogV > Raft ]
[ stationary LogH > Raft ] -> [ > LogH > Raft ]
( Rafts move carried rafts unless they hit something )
[ stationary RaftOnLand > Raft ] -> [ > RaftOnLand > Raft ]
startloop
( Rolling logs move rafts on the same axis )
vertical [ > LogH no MoveLog stationary Raft ] -> [ > LogH > Raft ]
horizontal [ > LogV no MoveLog stationary Raft ] -> [ > LogV > Raft ]
( Rolling logs shift their momentum onto logs on rafts )
vertical [ > LogH | LogStanding Raft ] -> [ LogH | > LogStanding > Raft ]
horizontal [ > LogV | LogStanding Raft ] -> [ LogV | > LogStanding > Raft ]
vertical [ > LogH | LogV Raft ] -> [ LogH | > LogV > Raft ]
horizontal [ > LogV | LogH Raft ] -> [ LogV | > LogH > Raft ]
( Rolling logs push standing logs )
vertical [ > LogH | LogStanding ] -> [ LogH | > LogStanding ]
horizontal [ > LogV | LogStanding ] -> [ LogV | > LogStanding ]
( Rolling logs push standing logs on tree stumps )
(vertical [ > LogH | LogStandingOnTreeStump ] -> [ LogH | > LogStandingOnTreeStump ]
horizontal [ > LogV | LogStandingOnTreeStump ] -> [ LogV | > LogStandingOnTreeStump ])
( Rolling logs push parallel logs )
vertical [ > LogH Background | LogH ] -> [ LogH > Background | > LogH ]
horizontal [ > LogV Background | LogV ] -> [ LogV > Background | > LogV ]
( Standing logs knock over other standing logs )
[ > LogStanding | LogStanding ] -> [ LogStanding | > LogStanding ]
[ > LogStanding | LogStandingOnTreeStump ] -> [ LogStanding | > LogStandingOnTreeStump ]
[ > LogStandingOnTreeStump | LogStanding ] -> [ LogStandingOnTreeStump | > LogStanding ]
horizontal [ > LogStanding | LogV ] -> [ LogStanding | > LogV ]
horizontal [ > LogStandingOnTreeStump | LogV ] -> [ LogStandingOnTreeStump | > LogV ]
vertical [ > LogStanding | LogH ] -> [ LogStanding | > LogH ]
vertical [ > LogStandingOnTreeStump | LogH ] -> [ LogStandingOnTreeStump | > LogH ]
(Can pick up )
( Rolling a log off a tree stump into a parallel log starts the parallel log rolling )
vertical [ > LogHOnTreeStump Background | LogH ] -> [ LogHOnTreeStump > Background | > LogH ]
horizontal [ > LogVOnTreeStump Background | LogV ] -> [ LogVOnTreeStump > Background | > LogV ]
endloop
( Clear leftover move log tokens )
[ MoveLog ] -> [ ]
( A standing log falling onto a parallel log makes a raft )
(vertical [ > LogStanding | stationary LogV ] -> [ | RaftVOnLand ]
horizontal [ > LogStanding | stationary LogH ] -> [ | RaftHOnLand ])
vertical [ > LogStandingOnTreeStump | stationary LogV ] -> [ | RaftVOnLand ]
horizontal [ > LogStandingOnTreeStump | stationary LogH ] -> [ | RaftHOnLand ]
( Stop logs that are trying to move into obstacles )
[ > Log | stationary LogObstacle ] -> [ Log | LogObstacle ]
( A log lying on a tree stump rolling into a parallel log makes a raft )
vertical [ > LogHOnTreeStump | stationary LogH ] -> [ | RaftHOnLand ]
horizontal [ > LogVOnTreeStump | stationary LogV ] -> [ | RaftVOnLand ]
( Player rolling on log should end up on the raft on land )
vertical [ stationary LogH > Background Player | stationary LogH ] -> [ LogH > Background > Player | LogH ]
horizontal [ stationary LogV > Background Player | stationary LogV ] -> [ LogV > Background > Player | LogV ]
( A log rolling into a stationary parallel log forms a raft on land )
vertical [ stationary LogH > Background | stationary LogH ] -> [ Background | RaftHOnLand ]
horizontal [ stationary LogV > Background | stationary LogV ] -> [ Background | RaftVOnLand ]
( A log rolling from a stump into a stationary parallel log forms a raft on land )
vertical [ stationary LogHOnTreeStump > Background | stationary LogH ] -> [ Background | RaftHOnLand ]
horizontal [ stationary LogVOnTreeStump > Background | stationary LogV ] -> [ Background | RaftVOnLand ]
vertical [ stationary LogHOnTreeStump > Background ] -> [ > LogHOnTreeStump Background ]
horizontal [ stationary LogVOnTreeStump > Background ] -> [ > LogVOnTreeStump Background ]
( Logs always roll off stumps )
[ orthogonal Background ] -> [ Background ]
( Stop rafts on land that are trying to move into obstacles )
[ > RaftOnLand | stationary RaftOnLandObstacle ] -> [ RaftOnLand | RaftOnLandObstacle ]
( Stop raft when it hits something standable )
[ > Raft | Raft ] -> [ Raft | > Raft ]
[ > Raft | Standable ] -> [ Raft | Standable ]
( Stop raft if log can't move )
[ stationary Log > Raft ] -> [ Log Raft ]
( Don't push logs upright while on a moving raft )
vertical [ > PlayerNormal < Raft | > LogV ] -> [ > PlayerNormal < Raft | LogV ]
horizontal [ > PlayerNormal < Raft | > LogH ] -> [ > PlayerNormal < Raft | LogH ]
( Don't push logs upright while on a perpendicular log in water )
vertical [ > PlayerNormal LogHInWater | > LogV ] -> [ > PlayerNormal LogHInWater | LogV ]
horizontal [ > PlayerNormal LogVInWater | > LogH ] -> [ > PlayerNormal LogVInWater | LogH ]
( Don't push rafts on land while on a moving raft )
[ > PlayerNormal < Raft | > RaftOnLand ] -> [ > PlayerNormal < Raft | RaftOnLand ]
( Don't push rafts on land while on a perpendicular log in water )
vertical [ > PlayerNormal LogHInWater | > RaftOnLand ] -> [ > PlayerNormal LogHInWater | RaftOnLand ]
horizontal [ > PlayerNormal LogVInWater | > RaftOnLand ] -> [ > PlayerNormal LogVInWater | RaftOnLand ]
( Stand-up and knock over log )
vertical [ > LogStandingOnTreeStump stationary Standable stationary Background ] -> [ > LogV Standable action Background ]
horizontal [ > LogStandingOnTreeStump stationary Standable stationary Background ] -> [ > LogH Standable action Background ]
vertical [ > LogStanding stationary Standable stationary Background ] -> [ > LogV Standable action Background ]
horizontal [ > LogStanding stationary Standable stationary Background ] -> [ > LogH Standable action Background ]
vertical [ > PlayerNormal | > LogV stationary Background | Standable ] -> [ > PlayerNormal | > LogStanding action Background | Standable ]
horizontal [ > PlayerNormal | > LogH stationary Background | Standable ] -> [ > PlayerNormal | > LogStanding action Background | Standable ]
vertical [ > PlayerNormal stationary Standable | LogV stationary Background | TreeStump no LogOnTreeStump ] -> [ > PlayerNormal stationary Standable | > LogStandingOnTreeStump action Background | TreeStump ]
horizontal [ > PlayerNormal stationary Standable | LogH stationary Background | TreeStump no LogOnTreeStump ] -> [ > PlayerNormal stationary Standable | > LogStandingOnTreeStump action Background | TreeStump ]
( Push logs sideways onto tree stumps )
vertical [ > Player | LogStanding | TreeStump no Log ] -> [ > Player | > LogVOnTreeStump | TreeStump ]
horizontal [ > Player | LogStanding | TreeStump no Log ] -> [ > Player | > LogHOnTreeStump | TreeStump ]
vertical [ > Player | LogStandingOnTreeStump stationary Background | TreeStump no Log ] -> [ > Player | > LogVOnTreeStump action Background | TreeStump ]
horizontal [ > Player | LogStandingOnTreeStump stationary Background | TreeStump no Log ] -> [ > Player | > LogHOnTreeStump action Background | TreeStump ]
( Push logs off tree stumps and stand them up )
vertical [ > Player | LogVOnTreeStump TreeStump | Standable no LogObstacle ] -> [ > Player | > LogStanding TreeStump | Standable ]
horizontal [ > Player | LogHOnTreeStump TreeStump | Standable no LogObstacle ] -> [ > Player | > LogStanding TreeStump | Standable ]
vertical [ > Player | LogVOnTreeStump TreeStump | no Standable no LogObstacle ] -> [ > Player | > LogV TreeStump | ]
horizontal [ > Player | LogHOnTreeStump TreeStump | no Standable no LogObstacle ] -> [ > Player | > LogH TreeStump | ]
( Push logs onto adjacent tree stumps and stand them up )
vertical [ > Player | LogVOnTreeStump TreeStump stationary Background | TreeStump no LogOnTreeStump ] -> [ > Player | > LogStandingOnTreeStump TreeStump action Background | TreeStump ]
horizontal [ > Player | LogHOnTreeStump TreeStump stationary Background | TreeStump no LogOnTreeStump ] -> [ > Player | > LogStandingOnTreeStump TreeStump action Background | TreeStump ]
( Push logs off tree stumps and start them rolling )
vertical [ > Player | LogHOnTreeStump TreeStump | no LogObstacle ] -> [ > Player | > LogH TreeStump | no LogObstacle ]
horizontal [ > Player | LogVOnTreeStump TreeStump | no LogObstacle ] -> [ > Player | > LogV TreeStump | no LogObstacle ]
[ action Background ] -> [ Background ]
( Keep raft moving )
[ up Raft ] -> [ up MoveRaftUp up Raft ] again
[ down Raft ] -> [ down MoveRaftDown down Raft ] again
[ left Raft ] -> [ left MoveRaftLeft left Raft ] again
[ right Raft ] -> [ right MoveRaftRight right Raft ] again
( Keep rolling )
up [ > LogH no MoveRaft ] -> [ > MoveLogUp > LogH ] again
down [ > LogH no MoveRaft ] -> [ > MoveLogDown > LogH ] again
left [ > LogV no MoveRaft ] -> [ > MoveLogLeft > LogV ] again
right [ > LogV no MoveRaft ] -> [ > MoveLogRight > LogV ] again
( Player moves atop raft )
[ PlayerNormal orthogonal Raft ] -> [ orthogonal PlayerNormal orthogonal Raft ]
( Player rolls atop logs )
[ PlayerBalancing orthogonal LogV no LogVInWater ] -> [ orthogonal PlayerBalancing orthogonal LogV ]
[ PlayerBalancing orthogonal LogH no LogHInWater ] -> [ orthogonal PlayerBalancing orthogonal LogH ]
( Stop player if going to move atop a log from ground )
[ > PlayerNormal | stationary Log ] -> [ PlayerNormal | Log ]
( Stop player if going to move atop a standing log from balancing )
[ > PlayerBalancing | stationary LogStanding ] -> [ PlayerBalancing | LogStanding ]
( Stop player if going to move atop a log from a direction perpendicular to its axis )
vertical [ > PlayerBalancing | stationary LogH ] -> [ PlayerBalancing | LogH ]
horizontal [ > PlayerBalancing | stationary LogV ] -> [ PlayerBalancing | LogV ]
( Stop player if going to move atop another log from a log perpendicular to its axis )
vertical [ > PlayerBalancing LogH | stationary Log ] -> [ PlayerBalancing LogH | Log ]
horizontal [ > PlayerBalancing LogV | stationary Log ] -> [ PlayerBalancing LogV | Log ]
( REPLACES ABOVE TWO LINES: Stop player if going to move from a log perpendicular to its axis )
(vertical [ > PlayerBalancing LogH ] -> [ PlayerBalancing LogH ]
horizontal [ > PlayerBalancing LogV ] -> [ PlayerBalancing LogV ])
( Stop player if going to move atop a raft on land from ground )
[ > PlayerNormal | stationary RaftOnLand ] -> [ PlayerNormal | RaftOnLand ]
( Stop player if going to move into water when raft moves away )
[ > Player | > Raft ] -> [ Player | > Raft ]
( Two logs make rafts )
late [ LogV LogVInWater ] -> again
late [ LogH LogVInWater no MoveLog ] -> again
late [ LogStanding LogVInWater ] -> again
late [ LogH LogHInWater ] -> again
late [ LogV LogHInWater no MoveLog ] -> again
late [ LogStanding LogHInWater ] -> again
[ LogV LogVInWater ] -> [ RaftV ]
[ LogH LogVInWater no MoveLog ] -> [ RaftV ]
[ LogStanding LogVInWater ] -> [ RaftV ]
[ LogH LogHInWater ] -> [ RaftH ]
[ LogV LogHInWater no MoveLog ] -> [ RaftH ]
[ LogStanding LogHInWater ] -> [ RaftH ]
( Logs fall to the ground when they're no longer atop a stump )
late [ LogVOnTreeStump no TreeStump ] -> [ LogV ]
late [ LogHOnTreeStump no TreeStump ] -> [ LogH ]
( Logs in water become standable )
late [ LogV no Standable ] -> [ LogVInWater ]
late [ LogH no Standable ] -> [ LogHInWater ]
( Rafts in water become standable )
late [ RaftVOnLand no Standable ] -> [ RaftV ]
late [ RaftHOnLand no Standable ] -> [ RaftH ]
( Don't walk off log perpendicularly )
vertical [ > Player LogHInWater ] -> [ Player LogHInWater ]
horizontal [ > Player LogVInWater ] -> [ Player LogVInWater ]
( Create log tops )
late [ LogVOnTreeStumpTop ] -> [ ]
late up [ LogVOnTreeStump | ] -> [ LogVOnTreeStump | LogVOnTreeStumpTop ]
late [ LogStandingTop ] -> [ ]
late up [ LogStanding | ] -> [ LogStanding | LogStandingTop ]
late [ LogStandingOnTreeStumpTop ] -> [ ]
late up [ LogStandingOnTreeStump | ] -> [ LogStandingOnTreeStump | LogStandingOnTreeStumpTop ]
( Create tree tops )
late [ TreeTop ] -> [ ]
late up [ Tree | ] -> [ Tree | TreeTop ]
( Set correct player animation )
late [ PlayerNormal Balanceable ] -> [ PlayerBalancing Balanceable ]
late [ PlayerBalancing no Balanceable ] -> [ PlayerNormal ]
late [ PlayerBalancingTop ] -> [ ]
late up [ PlayerBalancing | ] -> [ PlayerBalancing | PlayerBalancingTop ]
(Checkpoint)
late [ Player Quicksave ] -> [ Player ] checkpoint
( NOTES
Consider revising interaction when standing log on raft bumps into another raft
)
==============
WINCONDITIONS
==============
Some Player
Some Target
All Player on Target
=======
LEVELS
=======
(intro)
______________
______________
____..._______
[email protected]_.____
_____..__..___
________..____
_____......___
__.___......__
__._..__.t..__
__..x.__...___
__....___..___
___.._________
______________
______________
_____________
_____________
__...________
_..t.________
_....._______
_..@.._______
_....._..____
_.r..___...__
__.._____..._
________..x._
________...._
_________..__
_____________
_______________
__________..___
__..______...__
_....______..._
_..t...___..x._
__......_....__
__.@...._....__
__...t.__...___
___....___..___
____.._________
_______________
_______________
______...______
____..r.....___
__...........__
_............__
_.......__..___
[email protected].._______
____...___...__
_________...___
_________....._
__________..x._
___________..__
_______________
_______________
_____..________
_.....t.__.._._
_.r.....__...._
_...@..__..x.._
__......_....._
__.._.r.___..__
_____.._____.__
_______________
__________________
____________..____
_________.......__
_______.r.....@.._
__...__...r......_
_..x.__......t..__
_....._........___
___..___...__..___
__________________
__________________
________..._______
_______...t._t.___
______....___...__
___.__..@..___..__
___.._.....___..._
__...__..t___...._
_...__________..__
_.x..___..._______
__....__.t..__..__
___..____........_
_________.r......_
___________....___
__________________
____________
_____.._____
____..x..___
__......____
__....______
___.._______
____________
____....____
____......__
___....t..._
___..@....._
____..r...__
____________
_____________
_____________
_____________
_____________
__.._____..__
_....__..t.._
_..x._.@...._
__...__..t.__
___.____.____
_____________
_____________
_____________
_____________
_________________
___________...___
_________......__
________.....t.._
_...____...@...._
_.x..__..t......_
_....._........__
__...___...__.___
___..____________
_________________
(teach that logs will roll over other logs)
_____________
__...________
__.x.._______
___..._______
__...________
_____________
__..______.__
_....___...__
[email protected]__.t.._
__r...._...._
__....._...__
___.t.___..__
___..._______
____.._______
_____________
______________
_________..___
_______~....__
__....~~....__
_.r....~~.t.._
_....t.~~...._
__.....~...@._
___...__.t..._
____.____...__
______.__..___
____.x._______
_____.._______
______________
(teach the T shape trick)
_______________
___..__________
___....._______
____..t..______
____.....______
___..@.._______
___......______
__.....____..__
_..t..__.._..._
__....__....x._
_________....__
___________.___
_______________
(teach that you can push logs onto stumps)
_________________
_...______...____
__....__.......__
_......_..t....._
[email protected]._
__..._____.....__
____________.____
_________________
(teach that you can push an upright log away from a stump)
_________________
___________..____
__________..x..__
___________....__
____________..___
_________________
_____________..__
___.._______...._
_...._____.....r_
_...r.__.....t.._
_.t...._.r......_
__..@..___.._.r__
___..____________
_________________
(reinforce logs rolling over other logs)
_____________
______.._____
_____....____
____...t.____
____.t...____
_____.@...___
______....___
________..___
___..._..____
__.x.________
___..________
_____________
_____________
(teach raft-building)
_____________
________..___
_______....__
_______..x.__
________...._
________...__
_____..._____
______.._____
___.__...____
__......t____
__..t.@...___
___.......___
_____....____
_____________
(refresher for basics)
________________
___________..___
______..__....__
_____...._....._
___...t..__...._
___.....__....__
__..@...._..x.._
__......___...._
___..r______.___
________________
(introduce walking over logs)
_______________
____.____..____
__.t.._~.....__
_......~..r..__
_.@...~~....___
__..t.____..___
___.___________
_________...___
________.x...__
________...____
_________...___
_______________
__________________
_____________.____
____________..____
__._________...___
__....___.....t___
_......_...@....__
_..x..____.....___
_....______.t..___
__...______....___
___..._____..r..__
____________....__
_____________..___
__________________
_______________
___.___________
__...__________
_...___....____
_.x._....t...__
_..._.......t__
_..___.._.@..._
__..__.__...___
___.___________
_______________
(teach rolling on logs)
___________
__...._____
__.....____
_...t...___
[email protected].__
__......___
___..______
______.__._
______...._
_____..x.._
______...__
___________
_______________
________...____
_______.....___
______..t...___
___..___...r___
__.....___t____
__.x..____..___
__..._____.@.__
___._____....__
__________..___
_______________
(changing parity)
_____________
________..___
______.....__
_____....x.._
____..__...._
_________..__
____.________
__...________
_.t..._______
[email protected]._____
___....._____
____...______
_____________
________________
__....___...____
_..x..__...@.___
_....___.t...___
_.....__..._____
__....._..______
___..___.___..__
_______.t......_
______.....r..._
______.._......_
__________....__
__________...___
________________
_____________
___..________
__.@.._______
___..._....__
_____t......_
__..t.....r._
___..r......_
_____.....___
______.._____
__.._________
_......______
__..x._______
___....______
_____________
(teach making land-rafts)
______________
_________.____
_____..__...._
____..._..x.._
___...___...__
___...____..__
__...t________
_.......______
[email protected]..._____
__......._____
_____...______
______________
(introduce floating logs as useful non-bridges)
_____________
____.._______
___.x..______
___..._______
____.________
_____________
____...______
___....t_____
___..t....___
___.....@..__
____.......__
______....___
_____________
________________
________..______
_______...._____
______....x.____
______.._...____
___._____.._____
__.._.._________
[email protected]________
__t...._________
__..t.__________
___..___________
________________
_____________
______...____
____...x.____
___....._____
_____..______
_____________
___....______
__...t...____
[email protected].___
___..t_....__
_______...___
_____________
(end of teaching levels, insofar as that concept is meaningful)
__________
___...____
__..x.____
_......___
_._...____
__________
____..._._
____....._
[email protected]._
___.....__
___.t...__
____...___
______.___
__________
_______________
_________..____
_________....__
__________.t.._
________......_
_________.t..__
__________.____
___.._____t____
_.....__....___
_..x.._...@..__
__...___.t.____
___..___....___
_______________
_____________________
_____________________
___....______________
__..t....__~.._______
_.........~~...__..__
_....t.@..~...._...__
__.t......~...__.x.._
___..__..___.___...._
_________________..__
________________..___
_____________________
_____________________
___________________
___._______________
_._..________..____
_......____......__
_..x....__....@..__
__......_...tr...._
__...._____....t.._
___.._______.....__
______________.____
___________________
__________
___...____
__.....___
__.x._____
__....____
____..____
__________
_____.____
___....___
__...t..__
__.@....__
__...r.___
__......__
___.t..___
____..____
__________
_________________
_____..._________
___._.t..________
___....@..__...__
___..r....__...__
____.....____..._
_____________.x._
______..____...._
__.__...____...__
_....r._____..___
_........__...___
__r......._..____
___...t._________
_____..._________
_________________
______________
_______...____
_______.x..___
______......__
______..___.__
______________
_____.._______
___.....______
__...t..______
___...@.._____
__......._____
___.t._.______
___.._________
______________
__________________
__________....____
_________..x...___
_________...._____
__________..______
____..____________
___....._.._______
__..t.........____
[email protected].___
____....___...____
__________________
__________________
__________________
________..__..____
_______...._...___
_______.tr...@._._
_______.....r...._
_.__.._..._......_
_.....______.t..__
_..x..______....__
__....____________
__..._____________
__________________
(requires land-rafts to be buildable from pushing upright log onto lying log)
(_________________
________..__..___
_______...._...__
_______.tr...@.__
_______.....r..__
_.__.._..._....._
_.....______.t.._
_..x..______...._
__....___________
__...____________
_________________)
____________
__t.___...__
__..._..x.__
_...._....._
_...____..._
_..._____.__
__..._______
______...___
__.._.....__
_...r.tt..__
_..@......__
__...r...___
____________
____________
___t.__...__
__..._..x.__
_...._....._
_...____..._
_..._____.__
__..._______
______...___
___._.....__
__....ttr.__
__.@......__
___..r...___
____________
_____________
____.._______
_x_t...._____
____....r____
______.r..___
________...__
_______..t.._
______..t..._
____.....@_._
___......____
_____..t.____
______.._____
_____________
___________
______..___
_____..x.__
____.....__
_____.__.__
___________
___..._____
___.t....__
__...t...__
__....@.___
___r....___
___________
_____________________
_________________.___
________________...__
________________...__
_______________..t.._
__...____...___....._
_..x.._.....__......_
_....__.....~.....___
___..___...__...t____
______________....___
______________.t...__
______________..@..__
_______________...___
_____________________
__________
__..._____
_..x._____
_.....____
___.._____
__________
__..__..__
__......__
___...t.._
___......_
__.t....__
__...@..__
___....___
___.._____
__________
________________
______..________
____....._______
____.x._________
____....________
_____...._______
_______.._.r____
____._____...___
___..._____t.___
___...t.t.....__
____..___...t.._
___...____....._
__.....___....._
[email protected]__.....__
__.....__..t..__
___.._____...___
________________
_____________
______.....__
_____......._
_____.....x._
______.._..._
__________.._
____...___.__
___..t.._____
__......_____
__.....______
_.rt.._______
_......______
__......_____
___..t....___
___....@...__
_____......__
_______...___
_____________
____________
___.._______
__....______
_..x..______
_...._______
__....______
_________.._
___.._...t._
__....t...._
__.@......__
___._.______
____________
______________
_______.______
______....____
______.x...___
______..______
_______.._____
___.______..__
__...____...__
__..t.._..t___
__....t....___
__.@....._____
___......_____
____.r..______
______________
______________
_______.._..__
______......__
______...x..__
__.____....___
_....__.._____
_..t..________
_....t..______
__.@....______
___...._______
______________
_______________
___..__________
__..x._________
_......._______
_........__..__
_...___.._.t.._
__..______...._
______..__...__
____......t.___
___....t...____
____.......____
____..@..._____
_____..._______
_______________
______________
_______.._..__
______......__
______...x..__
_______....___
__...__.._____
__.t..________
____.t..______
___.....______
__...@._______
__..r.________
___...________
______________
________________
___..___________
__....____._____
__.t..t.~....___
____...._...r.__
____.@.___...___
____..._________
___..t.____.____
____....___...__
______..__..x.__
__________....__
____________.___
________________
(alternate of above)
(_______________
____.____._____
___..t._....___
___...._...r.__
___...___...___
__...._________
__..t.____.____
___..@.___...__
_____..__..x.__
_________....__
___________.___
_______________)
_____________
______.._____
____.....____
___....t.____
__...t....___
[email protected]..__
____.__..r___
_______.r____
_____________
________..___
________...__
_______..x.._
________...._
__________.__
_____________
(introduce rafts)
_______________
______.._______
_____...t._____
_____.t..._____
____.....______
_____.t._______
_____....______
______.@....___
______...r...._
___.____......_
__..._____...__
_....__________
_..._______..__
_.....___....._
__..x........__
___........____
_______________
_____________
__...________
_....._______
[email protected]______
_....._______
__.t.________
___..________
_____________
_________..__
_______....._
______r..x.._
________...__
_____________
_____________
_____.....___
[email protected].__
____.t......_
_____......._
________...._
________..t._
__.._____..__
_....________
_..x.._______
_....._______
__...________
_____________
(has multiple solutions of different types, not very focused)
(______________
______________
______________
_...__..._____
_.t....@._____
_........_____
__.tt.._______
__....________
_________..___
______.__...__
_____.......__
_____..x...___
______..._____
______________)
(hard levels)
___________
_____..____
___..t..___
__.....@___
__..t..____
____..r____
___________
___..._____
__...._____
__.x...____
__...______
___________
___________
_..__..____
_....t..___
_.t...@.___
__..t..____
____..r____
______...__
______...._
_____..x.._
____.....__
____...____
___________
________________
___________..___
__________.x..__
____._____....__
___.....___...._
___...r.__....__
____t..___...___
___...__________
__.t..__________
__...@._________
___...._________
___.t.__________
___...__________
________________
__________________
______________.___
__.__________...__
__....___..__.t.._
_......_....__!.._
_..x..____...r.r._
_...._____.t....__
__..._____....t.__
___..._____..t..__
____________..@.__
_____________..___
__________________
____________________
_______..__...._____
_____..t........____
______.......t..____
_______...__..___.__
_______~~~___.._..._
_____...~~_____..x._
___......_____._..__
__..t....~__..._____
_......@.~~....r____
_....r....~..t..____
__.t.....__..._.____
___..__.____._______
____________________
_______________
_________..____
________..t._._
_______......._
_____..t.t...._
______.....t.__
________..@.___
___..__________
_...___________
_....._________
__..x..________
___..._________
_______________
______________
_________..___
________....._
_______...x.._
_________...__
_...._________
_..t..__...___
[email protected].__...__
_......__...__
__.t..._..r.._
__....___...._
__..t._____.__
__....._______
____..._______
______________
________________
____________..__
___________...._
_________...x.._
___________...._
____________..__
________________
________________
___..___________
__..t.._________
_.......___...__
_.......t...@.._
_.....t.._....._
_....t..___...__
__....._________
________________
______________
_____.__...___
____....t..___
____.r....____
___~~..t..____
__..~~~.t_____
_.....~~______
_.t....__...._
[email protected]._..x.._
__....__....__
___.._____..__
______________
____________________
_______________..___
______________..x.__
_______________...__
________________.___
____________________
__..._______________
_...t._________...__
_......________...._
__.t..._______..@.._
__......______....__
___..t...____~.t.___
____.......~~~~~____
______..........____
________....._______
____________________
(one island or two?)
____________
__....______
__..x...____
___.....____
_____.._____
____________
______..____
___......___
___.......__
____.t....__
_____....t._
___..___..__
_...._______
_.@...._____
__..r....___
____...t..._
____......._
_____.....__
_____...t.__
_______..___
____________
(hard - save for secrets)
___________
____.._____
__.....____
_....t.____
_..t....___
[email protected].___
__.....____
___________
___________
_______r.__
______...__
_____..x.._
_____....._
_______..__
___________
_____________________
_____....____________
____...t.____________
____.......______.___
___..t.....~~___...__
__.......t.~..__.r.__
__....t.@..__......._
__.__....r___......._
______________.....__
___________.__..t.___
______.__...__....___
______....x..________
_______....._________
_________.___________
_____________________
________________
____..___...____
___...._......._
____..t....t..._
____....._...t._
______..____..__
____________~~__
___..______..~~_
__.....___~...._
_.....t.t.~~..__
_.........~...__
_..@......~..___
_....t.._.______
__....._____..__
___________...._
___________.x.__
___________..___
____________..__
________________
_____________________
_____________________
______..________...__
__.._..._______....__
__...t..r_____....___
__.t....._____..x..__
___...t..____......._
__.....@.____._....__
_..t.....______..____
_...._.._____________
__.._________________
_____________________
(harder version of another level)
(____________________
_______________..___
______________..x.__
_______________...__
________________.___
____________________
__..._______________
_...t.__________..__
_......________...._
__.t..._______..@.._
__......______....__
___..t..._____.t.___
____...t..._________
______..........____
________....._______
____________________)
(more directed version of another level)
(____________________
_______..__...._____
_____...........____
______.......t..____
_______t..__..___.__
_____________.._..._
_____..._______..x._
___......_____t_..__
__..t....___..._____
_......@.__.....____
_....r...._.....____
__.t.....__..._.____
___..__.____._______
____________________)
( As another level, but about changing polarity )
(_____________
____.._______
___.x..______
___..._______
____.________
_____________
____...______
___....t_____
___..t.._..__
___.....@..._
____..t....._
______.....__
_____________)
(redundant?)
(_____________
__...________
_....._______
_..x...______
__..._.______
___.___._____
_______..____
_______...___
_____._.t.___
_____.t.@.___
_____.....___
______...____
_____________)
(................_____
................_____
_____________________
_____________________
_*_*_*_#_#_#_________
.i.!.-.i.!.-....___..
..............@.___..
.-.-.-.-.-.-....___..
................___..
____________.!.i#__..
____________....___..
____________.!.-#__..
____________....___..
____________.!.!#__..
____________....___..
____________.!.i*__..
____________....___..
____________.!.-*__..
____________....___..
____________.!.!*__..
____________....___..)
(probably don't need to teach this explicitly)
(________________
________________
____.___________
___...__________
__...t_.._______
__.@......______
_.......__._..__
_...t.____....._
___...____..x.._
___________...__
________________
________________)
(todo)
(
_______________
_______________
___..._____..__
___....___...__
__...t.___.x.._
_.r...r.__...__
__.t.@..._..___
__.......__..__
___..__..______
_______________
_____________________
____________...._____
____________..@..____
_____..______.....___
___..._______.....___
__.x.___________...__
__...._...______...__
___..__....____....__
________....__....___
________.....__...___
_________..__________
_____________________
________________
_______.._______
______....______
________..._____
_________.._____
_________.______
______._________
_____.....______
[email protected]..._____
______....-.____
_________.r.____
_________...____
________________
)
__________________
__________________
________..._______
_______..r._...___
_______.t....@.___
_______.....r..___
_.__.._..._.....__
_.....______.t..__
_..x..______....__
__....____________
__..._____________
__________________
_______________
______.._______
_____...t._____
_____.t..._____
____...@.______
_____..._______
_____.t..______
______......___
______...r...._
___.____......_
__..._____...__
_....__________
_..._______..__
_.....___....._
__..x........__
___........____
_______________
____________
___...._____
__...x..____
___.....____
____..______
____________
__..._______
__....._____
___.r....___
___....t..._
____..@...._
_____....___
_____...t.__
_______...__
____________
______________
_________..___
________....._
_______...x.._
_________...__
_...._________
_..t..__...___
[email protected].__...__
_......_r...__
__.t..._..r.._
__....___...._
__..t._____.__
__....._______
____..._______
______________
______________
_____.__...___
____....t..___
____.r....____
____...t..____
_______.t_____
__....________
_.t...._______
[email protected]._.r__._
__....__....._
___..___..x.._
_________...__
______________
________________
____..__________
___.....________
___....r._______
___.t......_____
____.t.@..._____
_______..t._____
_.r..._...______
__.t.._____.____
___...____....._
___.._____..x.._
___________...__
________________
_______________
_________..____
________.....__
_______...x..__
_________...___
_....__________
_..t..____..___
[email protected].___...__
_......__....._
__.t...__....._
__....___....__
__..t.____..___
__.....___...__
____...____..__
_______________
____________
___...._____
__...x..____
___.....____
____..______
_.__________
_...._______
_..@..._____
__..r....___
____...t..._
____......._
_____.....__
_____...t.__
_______..___
____________
____________
_______...__
_____......_
____.....x._
_____.._..._
_________.__
____..______
__...@...___
__......t___
___.t.....__
____._.t.___
____________
___.....____
__.......___
__....t..___
_......_____
___.._______
____________
_______________________
_____________~~.___..__
___.__...._~~~..._...._
__..._t.....~_.......__
_..x.__.....___....____
__...__....____________
__..___..~_____________
___.____~~_____________
________~~~____________
________r..____________
______...._______...___
______.t....___.r....__
_______....____....t.__
_______~~~____......___
________~....~...t...__
________...t.~.t.....__
_______..t...__.....___
_______....._____..____
________..t.___________
_________....__________
_________.@..._________
__________..___________
_______________________
________________
___________..___
_________......_
_________...x.._
_________......_
__________....__
__________..____
___...__________
__....._________
_...t.._________
_.t...._________
_.....t.________
_..t....._______
_...@...._______
___...t.._______
_____...________
________________
______________
_________..___
_________...._
__________x.._
_________...._
_________r..__
_...____..____
_.*.._________
_..@._________
__..._________
__..*.________
__.t....______
_.....*.._____
_...t....r____
___...t.._____
_____...______
______________
___________
______..___
_____..x.__
_____r...._
_______r.._
________r._
_..r___..__
_....______
_.*..______
__.r.______
__...t..___
__.*..t.___
[email protected]__
__....*..__
____...r___
_____...___
___________
___________________
________.._________
_____......._______
___..........______
___..........______
_________..t.______
____._____...._____
____...____...__.._
____..t.____.r...._
__......_____..x.._
_..@...____..r...._
___..t.___.t.__..__
____._____...______
_________..._______
____._......_______
____.......________
_____....._________
___________________
____________
_______...__
______..x.__
______....._
________..._
_________.__
____________
__..__..r.__
__........__
_....t.t.___
_..@.....___
___...r.____
____________
____________
____..______
__....._____
__..x.._____
__....______
___...______
___.._______
_______.____
____..t..___
___r....t.__
___..r....__
___..__...__
____.___.___
____________
____..__..__
___.t.....__
___....t.___
____.@...___
_____...____
____________
________________
__________...___
_________..x..__
_________......_
___________...._
____________..__
____..__________
__...._____...__
_....t.___....._
[email protected]....._
__....._....._._
__.....___..____
__..r.__________
___...__________
________________
(needs logs on raft)
________________
____..__________
__....__________
_..t..r_____..__
[email protected]...._
__.....r......._
__.t...__..r____
__....____r__.__
___..._______.._
____________..._
__________..x.._
_________.....__
_________...____
________________
_________________
_______..________
___.__...._..____
__....t..._...___
__.t.@.____...___
___.....____.x.__
_____.t.____...__
_____.____....___
___________..____
_________________
________________
____________..__
___________...__
____________..._
____________.x._
_____....__...._
_____....._..___
___.__.t..______
__.t......______
[email protected]_________
_.......________
__.._.t.________
_____.__________
________________
________________
____________..__
__________....__
__________..x.__
_____...___...._
_____...._...___
______.t._..____
__.....r._______
_rt..@..________
_.......________
__.._.t_________
________________
________________
_______________
____.._________
___......._____
___.t.@....____
___.....t...___
____...t....___
__...t.....____
_.......r______
_......r_______
_....__________
__..._____..___
__..r._..__r.__
___..._......._
________....x._
_________....._
___________..__
_______________
(n.b. make sure to teach that some logs can't be pushed from log bridges)
__________
__..______
_.....____
_....x.___
__.....___
____..____
__________
___...r___
__.....___
[email protected]..__
__......._
___r__..__
__________
______________
___.._________
__..._________
_..x..________
_.....________
_._.._________
______________
___.____..____
__...__..@.___
__...__.....__
_...___.t.*.__
_..._____...__
_.r_____...t._
_...___r....._
_....__...t.._
__...._t....__
____.___..____
______________
(imply exit from top island: bottom island reachable by early raft, or by reset-scumming, or by sequence breaking to approach from top rather than left)
_______________________
______________...._____
____._______...t.....__
__....______......t..__
__...r________......___
___....________....____
___t...________________
_....@._____......_____
_......____.........___
__..t...__....r.....___
__......_.........t.___
___.....__............_
_____.____...___.....__
_________________...___
_______________________
_______________..._____
__________..___....____
_________..x._.....____
__________...____r_____
___________.___________
_______________________
________________
_____.._________
____....________
____..@..___..__
_____...._....._
_..._...__..x.._
_....t.____...__
__t....____..___
__....__________
___..___________
________________
................
.!.--..!-..!.i-.
................
.!.-!..!!..!.i!.
................
.!.-i..!i..!.ii.
................
.!.-*..!*..!.i*.
................
......@.........
..io-..o-..-t-..
................
..io!..o!..-t!..
.......i........
..ioi..oi..-ti..
................
..io*..o*..-t*..
................
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment