Skip to content

Instantly share code, notes, and snippets.

Created October 19, 2013 23:43
Show Gist options
  • Save anonymous/7062958 to your computer and use it in GitHub Desktop.
Save anonymous/7062958 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 Impetus
author Dennis Au
key_repeat_interval 0.15
realtime_interval 0.15
youtube jm-okHwrnzI
(verbose_logging)
(debug)
========
OBJECTS
========
Space .
Black
PlayerU
LightGrey DarkGrey Grey White
.....
..0..
..1..
.232.
.....
PlayerR
LightGrey DarkGrey Grey White
.....
.2...
.310.
.2...
.....
PlayerD
LightGrey DarkGrey Grey White
.....
.232.
..1..
..0..
.....
PlayerL
LightGrey DarkGrey Grey White
.....
...2.
.013.
...2.
.....
ThrustU
LightBlue
.....
.....
.....
.....
..0..
ThrustR
LightBlue
.....
.....
0....
.....
.....
ThrustD
LightBlue
..0..
.....
.....
.....
.....
ThrustL
LightBlue
.....
.....
....0
.....
.....
RotateVR
Yellow
.....
0....
.....
....0
.....
RotateVL
Yellow
.....
....0
.....
0....
.....
RotateHL
Yellow
.0...
.....
.....
.....
...0.
RotateHR
Yellow
...0.
.....
.....
.....
.0...
Comp
LightGrey Grey DarkGrey
..0..
.1...
..1..
.....
.22..
MomH
Red
.....
.....
.....
.....
.....
MomV
Blue
.....
.....
.....
.....
.....
SPlayer
Black
Wall w
Grey White
.0.0.
00000
.0.0.
00000
.0.0.
(Nos)
No1 1
LightGrey Grey DarkGrey
..0..
.11..
..1..
..2..
.222.
No2 2
LightGrey Grey DarkGrey
.00..
1..1.
..1..
.2...
2222.
No3 3
LightGrey Grey DarkGrey
000..
...1.
.11..
...2.
222..
No4 4
LightGrey Grey DarkGrey
..0..
.11..
1.1..
2222.
..2..
No5 5
LightGrey Grey DarkGrey
0000.
1....
111..
...2.
222..
No6 6
LightGrey Grey DarkGrey
.00..
1....
111..
2..2.
.22..
No7 7
LightGrey Grey DarkGrey
0000.
...1.
..1..
..2..
.2...
No8 8
LightGrey Grey DarkGrey
.00..
1..1.
.11..
2..2.
.22..
No9 9
LightGrey Grey DarkGrey
.00..
1..1.
.111.
...2.
.22..
No0 0
LightGrey Grey DarkGrey
.00..
1..1.
1..1.
2..2.
.22..
Border #
Black
Ticker
Black
LapLine |
Grey
0....
.....
0....
.....
0....
=======
LEGEND
=======
. = Space
R = PlayerR and MomH and MomV
L = PlayerL and MomH and MomV
- = comp and Ticker
+ = Ticker and border
Background = Space or LapLine
Player = PlayerU or PlayerR or PlayerD or PlayerL
PlayerLR = PlayerL or PlayerR
PlayerUD = PlayerU or PlayerD
Momentum = MomH or MomV
Time = No1 or No2 or No3 or No4 or No5 or No6 or No7 or No8 or No9 or No0
Thrust = ThrustU or ThrustR or ThrustD or ThrustL
Rotate = RotateVL or RotateVR or RotateHL or RotateHR
Obstacle = wall or border
LT1 = No0
LT2 = LT1 or No1
LT3 = LT2 or No2
LT4 = LT3 or No3
LT5 = LT4 or No4
LT6 = LT5 or No5
LT7 = LT6 or No6
LT8 = LT7 or No7
LT9 = LT8 or No8
LT0 = LT9 or No9
=======
SOUNDS
=======
sfx0 36023901 (pew pew)
sfx1 96751102 (explosion)
sfx2 6211500 (lap gong)
sfx3 29974907 (turn thrusters)
sfx4 81941907 (main thrusters)
EndLevel 87182903
================
COLLISIONLAYERS
================
Background
Border, Thrust, Rotate
Player, Splayer, Wall, Time, Ticker
MomH
MomV
Comp
======
RULES
======
[thrust] -> []
[rotate] -> []
[stationary Ticker] -> [left Ticker] (to tick timer)
(right turns CCW)
Right [ > PlayerU ] -> [ RotateHR PlayerR ] sfx3
Right [ > PlayerR ] -> [ RotateVR PlayerD ] sfx3
Right [ > PlayerD ] -> [ RotateHR PlayerL ] sfx3
Right [ > PlayerL ] -> [ RotateVR PlayerU ] sfx3
(left turns CW)
Left [ > PlayerU ] -> [ RotateHL PlayerL ] sfx3
Left [ > PlayerL ] -> [ RotateVL PlayerD ] sfx3
Left [ > PlayerD ] -> [ RotateHL PlayerR ] sfx3
Left [ > PlayerR ] -> [ RotateVL PlayerU ] sfx3
(turn impulses into momentum)
[ Up PlayerU ] [ MomV ] -> [ ThrustU PlayerU ] [ Up MomV ] sfx4
[ Up PlayerR ] [ MomH ] -> [ ThrustR PlayerR ] [ Right MomH ] sfx4
[ Up PlayerD ] [ MomV ] -> [ ThrustD PlayerD ] [ Down MomV ] sfx4
[ Up PlayerL ] [ MomH ] -> [ ThrustL PlayerL ] [ Left MomH ] sfx4
[> Momentum| obstacle] -> [stationary Momentum|obstacle]
(disable down)
Down [> Player] -> [Player]
(keep momentum markers next to player)
[PlayerLR| > MomH] -> [PlayerLR| MomH]
[PlayerUD| > MomV] -> [PlayerUD| MomV]
(process horizontal momentum)
late vertical [Player No MomH| MomV][MomH|no obstacle] -> [Player|][MomH|MomV] (move momv in direction of momh)
late vertical [Player No MomH| MomV][MomH|obstacle] -> [Player MomV|][MomH|obstacle] (if obstacle revert momv to player location)
late horizontal [Player MomV| MomH] -> [Player| MomV MomH] (if zero momv)
late horizontal [Player| MomH no SPlayer no obstacle] -> [Player| SPlayer MomH]
late horizontal [Player| MomH][Splayer| No Obstacle] -> [Player|][Splayer| MomH]
late [Player][Splayer] -> [][Player]
(process vertical momentum)
late horizontal [Player No MomV| MomH][MomV|no obstacle] -> [Player|][MomV|MomH] (move momh in direction of momv)
late horizontal [Player No MomV| MomH][MomV|obstacle] -> [Player MomH|][MomV| obstacle] (if obstacle revert momh to player location)
late vertical [Player MomH| MomV] -> [Player| MomV MomH] (if zero momh)
late vertical [Player| MomV no SPlayer no obstacle] -> [Player| SPlayer MomV]
late vertical [Player| MomV][Splayer| No Obstacle] -> [Player|][Splayer| MomV]
late [Player][Splayer] -> [][Player]
(scoring)
left [> Ticker| Time] -> [> Ticker| > Time]
left [> No9| Time] -> [No0|> Time]
left [> No9| border] -> [No0| border]
left [> No0] -> [No1]
left [> No1] -> [No2]
left [> No2] -> [No3]
left [> No3] -> [No4]
left [> No4] -> [No5]
left [> No5] -> [No6]
left [> No6] -> [No7]
left [> No7] -> [No8]
left [> No8] -> [No9]
(compare lap time with goal time)
[Comp] -> []
(hundreds)
right [Player LapLine][Ticker|Time] -> [Player LapLine][Ticker| Comp Time]
down [Comp No9| LT9] -> win
down [Comp No8| LT8] -> win
down [Comp No7| LT7] -> win
down [Comp No6| LT6] -> win
down [Comp No5| LT5] -> win
down [Comp No4| LT4] -> win
down [Comp No3| LT3] -> win
down [Comp No2| LT2] -> win
down [Comp No1| LT1] -> win
random down [Comp No9| No9] -> [No9| Comp No9]
random down [Comp No8| No8] -> [No8| Comp No8]
random down [Comp No7| No7] -> [No7| Comp No7]
random down [Comp No6| No6] -> [No6| Comp No6]
random down [Comp No5| No5] -> [No5| Comp No5]
random down [Comp No4| No4] -> [No4| Comp No4]
random down [Comp No3| No3] -> [No3| Comp No3]
random down [Comp No2| No2] -> [No2| Comp No2]
random down [Comp No1| No1] -> [No1| Comp No1]
random down [Comp No0| No0] -> [No0| Comp No0]
right [comp|||Ticker] -> [|comp||Ticker]
up [comp|] -> [|comp]
(tens)
down [Comp No9| LT9] -> win
down [Comp No8| LT8] -> win
down [Comp No7| LT7] -> win
down [Comp No6| LT6] -> win
down [Comp No5| LT5] -> win
down [Comp No4| LT4] -> win
down [Comp No3| LT3] -> win
down [Comp No2| LT2] -> win
down [Comp No1| LT1] -> win
random down [Comp No9| No9] -> [No9| Comp No9]
random down [Comp No8| No8] -> [No8| Comp No8]
random down [Comp No7| No7] -> [No7| Comp No7]
random down [Comp No6| No6] -> [No6| Comp No6]
random down [Comp No5| No5] -> [No5| Comp No5]
random down [Comp No4| No4] -> [No4| Comp No4]
random down [Comp No3| No3] -> [No3| Comp No3]
random down [Comp No2| No2] -> [No2| Comp No2]
random down [Comp No1| No1] -> [No1| Comp No1]
random down [Comp No0| No0] -> [No0| Comp No0]
right [|comp||Ticker] -> [||comp|Ticker]
up [comp|] -> [|comp]
(ones)
down [Comp No9| LT0] -> win
down [Comp No8| LT9] -> win
down [Comp No7| LT8] -> win
down [Comp No6| LT7] -> win
down [Comp No5| LT6] -> win
down [Comp No4| LT5] -> win
down [Comp No3| LT4] -> win
down [Comp No2| LT3] -> win
down [Comp No1| LT2] -> win
down [Comp No0| LT1] -> win
[Comp] -> []
(use comp to protect goal time from the lap time reset)
right [Player LapLine][Ticker|Time] -> [Player LapLine][Ticker| Comp Time]
right [comp| no border] -> [comp|comp]
(record lap time)
left [Player LapLine][no comp Time][Ticker] -> [Player LapLine][down Time][stationary Ticker] sfx2
(lap time reset)
late left [Ticker|no Time||] -> [Ticker|No0|No0|No0]
(remove earliest lap time if no room)
down [Time|border] -> [| border]
[Comp] -> []
right [Ticker|Time] -> [comp Ticker|Time]
==============
WINCONDITIONS
==============
=======
LEVELS
=======
message Beat the target lap time to win
message Dunkirk International Space Circuit - 85s
-085#........................|.................w.........
#000+........................|.................w.........
#...#........................|r................w.........
#...#........................|.................w.........
#...#........................|........w..................
#...#........................|........w..................
#...#........................|........w..................
#...#........................|........w..................
#...#........................|........w..................
#...#.........wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.........
#...#.................w..................................
#...#.................w..................................
#...#.................w..................................
#...#.................w..............w...................
#...#.................w..............w...................
#...#.................w..............w...................
#...#................................w...................
#...#................................w...................
#####................................w...................
message Dunkirk International Space Circuit - 80s
-080#........................|.................w.........
#000+........................|.................w.........
#...#........................|r................w.........
#...#........................|.................w.........
#...#........................|........w..................
#...#........................|........w..................
#...#........................|........w..................
#...#........................|........w..................
#...#........................|........w..................
#...#.........wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.........
#...#.................w..................................
#...#.................w..................................
#...#.................w..................................
#...#.................w..............w...................
#...#.................w..............w...................
#...#.................w..............w...................
#...#................................w...................
#...#................................w...................
#####................................w...................
message Ursa Minor Speedway - 100s
-100#.....................w......w................
#000+.....................w......w................
#...#.....................w......w................
#...#.....................w......w................
#...#.....................wwwwwwww................
#...#.............................................
#...#.......wwwwwwwwwww...........................
#...#.......w.........w...........wwwwwww.........
#...#.......www.......w...........w.....w.........
#...#.........w.......w...........w.....w.........
#...#.........w.......wwwwwwwwwwwww.....w.........
#...#wwwww....w.........................w.........
#...#.........w.........................w.........
#...#.........w..wwwwwwwwwwwwwwwwwwwwwwww.........
#...#.......www..w...........|....................
#...#.......w....w...........|....................
#...#.......wwwwww...........|r...................
#...#........................|....................
#...#........................|....................
#...#........................|....................
#...#........................|....................
#####........................|....................
message Ursa Minor Speedway - 95s
-095#.....................w......w................
#000+.....................w......w................
#...#.....................w......w................
#...#.....................w......w................
#...#.....................wwwwwwww................
#...#.............................................
#...#.......wwwwwwwwwww...........................
#...#.......w.........w...........wwwwwww.........
#...#.......www.......w...........w.....w.........
#...#.........w.......w...........w.....w.........
#...#.........w.......wwwwwwwwwwwww.....w.........
#...#wwwww....w.........................w.........
#...#.........w.........................w.........
#...#.........w..wwwwwwwwwwwwwwwwwwwwwwww.........
#...#.......www..w...........|....................
#...#.......w....w...........|....................
#...#.......wwwwww...........|r...................
#...#........................|....................
#...#........................|....................
#...#........................|....................
#...#........................|....................
#####........................|....................
message Ursa Minor Speedway - 90s
-090#.....................w......w................
#000+.....................w......w................
#...#.....................w......w................
#...#.....................w......w................
#...#.....................wwwwwwww................
#...#.............................................
#...#.......wwwwwwwwwww...........................
#...#.......w.........w...........wwwwwww.........
#...#.......www.......w...........w.....w.........
#...#.........w.......w...........w.....w.........
#...#.........w.......wwwwwwwwwwwww.....w.........
#...#wwwww....w.........................w.........
#...#.........w.........................w.........
#...#.........w..wwwwwwwwwwwwwwwwwwwwwwww.........
#...#.......www..w...........|....................
#...#.......w....w...........|....................
#...#.......wwwwww...........|r...................
#...#........................|....................
#...#........................|....................
#...#........................|....................
#...#........................|....................
#####........................|....................
message Thanks for playing!
message Music - Bach Ricercar 6 - Seabamirum
(CC BY 3.0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment