Skip to content

Instantly share code, notes, and snippets.

Created May 5, 2017 14:01
Show Gist options
  • Save anonymous/93170260c6d2843825cb0c22b9b37818 to your computer and use it in GitHub Desktop.
Save anonymous/93170260c6d2843825cb0c22b9b37818 to your computer and use it in GitHub Desktop.
title
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Axe & Islands
author benjamindav.is
run_rules_on_level_start
verbose_logging
========
OBJECTS
========
Background
Blue
Land
Yellow
Player
LightBrown Red Brown LightGrey
..0..
.111.
02223
.1133
.0.0.
TreeTop
Brown LightGreen
...1.
1.1..
.111.
110.1
100..
Tree
Brown LightGreen
.00..
.00..
.00..
.00..
.....
TreeStump
Brown LightBrown
.....
.11..
.11..
.00..
.....
LogV
Brown LightBrown
.00..
.00..
.00..
.11..
.11..
LogH
Brown
.....
.....
00000
00000
.....
LogStanding
Brown LightBrown
.11..
.00..
.00..
.00..
.....
LogStandingTop
Brown LightBrown
.....
.....
.....
.....
.11..
LogVInWater
DarkBrown
.00..
.00..
.00..
.00..
.00..
LogHInWater
DarkBrown
.....
.....
00000
00000
.....
MoveUp
Transparent
..0..
.000.
0.0.0
..0..
..0..
MoveDown
Transparent
..0..
..0..
0.0.0
.000.
..0..
MoveLeft
Transparent
..0..
.0...
00000
.0...
..0..
MoveRight
Transparent
..0..
...0.
00000
...0.
..0..
Target
DarkBrown
.....
.0.0.
..0..
.0.0.
.....
=======
LEGEND
=======
Log = LogV or LogH or LogStanding
TreeObstacle = Tree or TreeStump or Log
LogObstacle = Tree or TreeStump or Log
Standable = Land or LogVInWater or LogHInWater
Move = MoveUp or MoveDown or MoveLeft or MoveRight
_ = Background
. = Land
@ = Player and Land
T = Tree and Land
x = Target and Land
o = TreeStump and Land
- = LogH and Land
! = LogV and Land
i = LogStanding and Land
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Standable
Target
Player, Tree, TreeStump, Log
TreeTop, LogStandingTop
Move
======
RULES
======
( Stop when you can't walk somewhere )
[ > Player | no Standable ] -> [ Player | ]
vertical [ > Player | LogHInWater ] -> [ Player | LogHInWater ]
horizontal [ > Player | LogVInWater ] -> [ Player | LogVInWater ]
( Roll logs around axis )
up [ > Player | stationary LogH ] -> [ > Player | LogH MoveUp ]
down [ > Player | stationary LogH ] -> [ > Player | LogH MoveDown ]
left [ > Player | stationary LogV ] -> [ > Player | LogV MoveLeft ]
right [ > Player | stationary LogV ] -> [ > Player | LogV MoveRight ]
( Keep rolling around axis )
[ MoveUp LogH ] -> [ up MoveUp up LogH ] again
[ MoveDown LogH ] -> [ down MoveDown down LogH ] again
[ MoveLeft LogV ] -> [ left MoveLeft left LogV ] again
[ MoveRight LogV ] -> [ right MoveRight right LogV ] again
[ MoveUp LogHInWater ] -> [ up MoveUp up LogHInWater ] again
[ MoveDown LogHInWater ] -> [ down MoveDown down LogHInWater ] again
[ MoveLeft LogVInWater ] -> [ left MoveLeft left LogVInWater ] again
[ MoveRight LogVInWater ] -> [ right MoveRight right LogVInWater ] again
( Clear old move tokens )
[ stationary Move ] -> [ ]
( Push log onto its side if space )
vertical [ > Player | stationary LogV | Standable no LogObstacle ] -> [ > Player | > LogStanding | Standable ]
horizontal [ > Player | stationary LogH | Standable no LogObstacle ] -> [ > Player | > LogStanding | Standable ]
( Push log into water )
vertical [ > Player | stationary LogV | no Standable ] -> [ > Player | > LogV | ]
horizontal [ > Player | stationary LogH | no Standable ] -> [ > Player | > LogH | ]
( Logs push logs when rolling around same axis )
vertical [ > LogH | stationary LogH ] -> [ > LogH | > LogH ]
horizontal [ > LogV | stationary LogV ] -> [ > LogV | > LogV ]
vertical [ > LogH | stationary LogHInWater ] -> [ > LogH | > LogHInWater ]
horizontal [ > LogV | stationary LogVInWater ] -> [ > LogV | > LogVInWater ]
( Push standing logs over )
vertical [ > Player | stationary LogStanding | no LogObstacle ] -> [ > Player | > LogV | ]
horizontal [ > Player | stationary LogStanding | no LogObstacle ] -> [ > Player | > LogH | ]
( Logs in water become standable )
late [ LogV no Standable ] -> [ LogVInWater ]
late [ LogH no Standable ] -> [ LogHInWater ]
( Chop trees )
vertical [ > Player | Tree ] -> [ Player | > Tree ]
horizontal [ > Player | Tree ] -> [ Player | > Tree ]
( Cancel chop if an obstacle in the way )
[ > Tree | TreeObstacle ] -> [ Tree | TreeObstacle ]
( Turn trees into logs )
vertical [ > Tree | ] -> [ TreeStump | LogV ]
horizontal [ > Tree | ] -> [ TreeStump | LogH ]
( Create log tops )
late [ LogStandingTop ] -> [ ]
late up [ LogStanding | ] -> [ LogStanding | LogStandingTop ]
( Create tree tops )
late [ TreeTop ] -> [ ]
late up [ Tree | ] -> [ Tree | TreeTop ]
==============
WINCONDITIONS
==============
=======
LEVELS
=======
_____________
____.._______
___.x..______
___..._______
____.________
_____________
____...______
___....t_____
___..t....___
___.....@..__
____..t....__
______....___
_____________
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment