Skip to content

Instantly share code, notes, and snippets.

@starry-abyss
Created May 10, 2018 22:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save starry-abyss/a1e5d0e1aecfae8800ef17044c24b316 to your computer and use it in GitHub Desktop.
Save starry-abyss/a1e5d0e1aecfae8800ef17044c24b316 to your computer and use it in GitHub Desktop.
PuzzleScript Game
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Two and a Half
author scorched
homepage igorsgames.itch.io
color_palette 2
(debug)
background_color black
text_color lightgrey
key_repeat_interval 0.3
again_interval 0.1
(require_player_movement)
(run_rules_on_level_start)
noaction
========
OBJECTS
========
HansDown
#f89c79 #7d6440 #4a2f31
..0..
.111.
11111
.111.
.2.1.
HansRight
#f89c79 #7d6440
..0..
..1..
..11.
..1..
..1..
HansLeft
#f89c79 #7d6440
..0..
..1..
.11..
..1..
..1..
HansUp
#4a2f31 #7d6440
..0..
.111.
11111
.111.
.1.0.
HansChildDown
#f89c79 #f8cdcb #7c73b1 #7d6440 #4a2f31
..01.
.232.
33233
.333.
.4.3.
HansChildRight
#f5da16 #f89c79 #7c73b1 #7d6440
.01..
.22..
.233.
.23..
..3..
HansChildLeft
#f89c79 #f5da16 #7c73b1 #7d6440
..01.
..22.
.332.
..32.
..3..
HansChildUp
#f5da16 #4a2f31 #7c73b1 #7d6440
.01..
.223.
32223
.232.
.3.1.
MaryLeft
#ef9f10 #46c2e3
..0..
..10.
.110.
..1..
.111.
MaryRight
#ef9f10 #46c2e3
..0..
.01..
.011.
..1..
.111.
PaulDown
#f89c79 #236e33
..0..
.111.
11111
.111.
.1.1.
PaulRight
#f89c79 #236e33
..0..
..1..
..11.
..1..
..1..
PaulLeft
#f89c79 #236e33
..0..
..1..
.11..
..1..
..1..
Pauldead
#f89c79 #236e33
.....
.....
.....
.111.
11110
PaulUp
#f5da16 #236e33
..0..
.111.
11111
.111.
.1.1.
ground
darkgrey
grass
GREEN
(bg2
darkgreen)
Cliff
brown
WallTown
#8F8F8F
00000
00000
00000
00000
00000
(00000
01110
01110
01110
00000)
Wood
#644d3d #4a2f31
..00.
.0011
0111.
10.0.
.000.
(..00.
.0011
0111.
10.0.
.000.)
Fire
Orange Yellow
.0...
..1..
0.0..
.100.
.00..
(Fire2
Orange Yellow
...1.
.10..
001.0
.000.
.00..)
FireTemp
Orange Yellow
...1.
.10..
001.0
.000.
.00..
WeakWall
#8F8F8F
.00..
.000.
00000
0000.
.....
(PlayerAlone
Blue Yellow
01000
01011
01001
01111
00000
PlayerWithChild
Pink Yellow
01000
01011
01001
01111
00000)
DeadPlayer
#7d6440 #4a2f31
.....
.....
.....
.000.
00001
(Bullet
Red)
Exit
#f0f0f0 #8f8f8f
.....
.....
..0..
.....
.....
explosive
#a13715 #ef9f10
.....
.000.
.111.
.000.
.111.
Boom0
#f5da16
.00..
0.000
0.000
0000.
.0.0.
Boom1
#f5da16
.000.
00000
00000
00000
.000.
Boom2
#f5da16
.000.
00000
00000
00000
.000.
Boom3
#f5da16
.000.
00000
00000
00000
.000.
Boom4
#f5da16
.000.
00000
00000
00000
.000.
Boom5
#f5da16
.000.
00000
00000
00000
.000.
Child
#f8cdcb #7c73b1
.....
..0..
.111.
..1..
.1.1.
ChildDead
#7c73b1 #f5da16
.....
.....
.....
..0..
0001.
boomsmoke
black transparent
00001
10011
01100
10000
11111
Smoke1
black transparent
00001
10011
01100
10000
11111
(timer1
transparent
timer2
transparent
timer3
transparent)
target1
Red transparent
11011
11011
11011
11011
11011
target2
Red transparent
10101
10101
10101
10101
10101
target3
Red transparent
01010
01010
01010
01010
01010
indicatorEmpty
Red transparent black
11111
22222
22222
22222
11111
indicatorEnd
transparent
indicatorBoom1
Red transparent black
11111
22022
22022
22022
11111
indicatorBoom2
Red transparent black
11111
20202
20202
20202
11111
indicatorBoom3
Red transparent black
11111
02020
02020
02020
11111
indicatorArrow
Red transparent black
11110
22202
22000
22202
11110
indicatorArrowSecond
Red transparent black
11011
20222
00022
20222
11011
indicatorArrowTemp
transparent
cutscene
transparent
nearriver
transparent
river
blue
0000.
00000
00000
00000
.0000
blood1
red
.....
.0...
.....
..0..
.....
blood2
red
.0...
..0..
..00.
..0..
.....
shootzone1
transparent
shootzone2
transparent
shootzone3
transparent
bosslevel
transparent
(paul
red)
=======
LEGEND
=======
Background = ground or grass
PlayerAlone = HansUp or HansDown or HansLeft or HansRight
PlayerWithChild = HansChildUp or HansChildDown or HansChildLeft or HansChildRight
Player = PlayerAlone or PlayerWithChild
Mary = MaryLeft or MaryRight
Paul = PaulUp or PaulDown or PaulLeft or PaulRight
wall = walltown or cliff
(fire = fire2 or fire2)
, = grass
. = ground
o = Walltown
u = Cliff
(p = PlayerAlone)
p = HansDown
_ = wood
: = weakwall
(@ = Crate and Target)
(o = Target)
E = Exit
(1 = healthstart)
1 = target1 and walltown
2 = target2 and walltown
3 = target3 and walltown
9 = blood1
0 = blood2
m = MaryLeft
c = Child
B = explosive (and wood)
` = indicatorEmpty and walltown
! = indicatorBoom1 and walltown and indicatorEmpty
@ = indicatorBoom2 and walltown and indicatorEmpty
# = indicatorBoom3 and walltown and indicatorEmpty
A = indicatorArrowSecond and walltown
$ = indicatorEmpty and indicatorEnd and walltown
(> = indicatorArrowTemp)
target = target1 or target2 or target3
(timer = timer1 or timer2 or timer3)
boom = boom1 or boom2 or boom3 or boom4 or boom5 or boom0
smoke = smoke1
(Danger = Fire or Boom or Smoke)
Danger = Boom or Smoke
* = Boom5
s = cutscene
r = river
n = nearriver
l = PaulLeft
shootzone = shootzone1 or shootzone2 or shootzone3
z = fire and wood
(z = shootzone)
q = bosslevel
=======
SOUNDS
=======
(Crate Move 412312)
(Boom Create 641667)
(Boom Create 87044702)
Boom Create 34704108
Fire Create 4852702
explosive Move 86057307
EndLevel 73779909
player CantMove 57197107
(playerwithchild create 61697303)
(weakwall destroy 96214902)
(showmessage )
(menucursor move 86057307)
CloseMessage 42276907
(bomb)
sfx0 49071502
(player dies)
sfx1 50875704
(child dies)
sfx2 72098504
(hint)
sfx3 71102906
(weakwall destroy)
sfx4 96214902
(fire)
(sfx5 4852702)
(child rescue)
sfx6 61697303 (84235103)
(cutscene boom)
sfx7 34704108
(gun shot)
sfx8 39147102
================
COLLISIONLAYERS
================
Background
Exit, indicatorEnd, river, wood, blood1, blood2
(Bullet)
Player, Wall, DeadPlayer, explosive, Child, ChildDead, Weakwall, Paul, Mary, pauldead
Fire, FireTemp
smoke, boomsmoke
target
Boom
indicatorEmpty, indicatorArrow, indicatorArrowTemp, indicatorArrowSecond
indicatorBoom1, indicatorBoom2, indicatorBoom3, cutscene, nearriver, bosslevel
shootzone
======
RULES
======
startLoop
[boom2 | no boom ] -> [boom2 | boom1]
[boom3 | no boom ] -> [boom3 | boom2]
[boom4 | no boom ] -> [boom4 | boom3]
[boom5 | no boom ] -> [boom5 | boom4]
endLoop
[boomsmoke] -> []
[boom0] -> [boomsmoke]
[boom] -> [boom0]
(late [boom5] -> [Smoke1])
[boom wood] -> [boom fire wood]
[boom weakwall] -> [boom no weakwall] sfx4
[fireTemp] -> [fire]
[fire | wood no fire] -> [fire | wood fireTemp]
[smoke | no boom no fire] -> [ | ]
[Fire no boom | no Fire] -> [Fire | Smoke1]
([fire] -> [fire] sfx5)
late [player Danger] -> [deadplayer Danger] sfx1
late [child Danger] -> [childdead Danger] sfx2
([> playerAlone | child] -> [> playerWithChild | ])
[> playerAlone | child] -> [> HansChildDown | ] sfx6
[explosive boom] -> [boom3]
[explosive | fire] -> [boom3 | fire]
[indicatorBoom1] [boom target1] -> [indicatorEmpty] [boom]
[indicatorBoom2] [boom target2] -> [indicatorEmpty] [boom]
[indicatorBoom3] [boom target3] -> [indicatorEmpty] [boom]
late [indicatorArrow indicatorBoom1] [target1] -> [indicatorArrow] [boom4] sfx0
late [indicatorArrow indicatorBoom2] [target2] -> [indicatorArrow] [boom4] sfx0
late [indicatorArrow indicatorBoom3] [target3] -> [indicatorArrow] [boom4] sfx0
left [indicatorArrowSecond | indicatorEmpty] -> [indicatorEmpty | indicatorArrowTemp]
[indicatorArrowSecond indicatorEnd] -> [indicatorEmpty]
[indicatorArrow] -> [indicatorArrowSecond]
[indicatorArrowTemp] -> [indicatorArrow]
[ > Player | explosive ] -> [ > Player | > explosive ]
([> PlayerWithChild | Exit] [Child] -> [PlayerAlone | Exit] [Child] sfx6) (cancel)
[> PlayerWithChild | Exit] [Child] -> [HansDown | Exit] [Child] sfx6
[> PlayerWithChild | Child] -> sfx3 message I can't carry two kids at once for my leg hurts! I should bring one to safety first.
late [Player Exit] [ChildDead] -> sfx3 message You failed to keep the child alive. Please restart the level and try again.
late [Player Exit] [Child] -> sfx3 message Hans: I cannot leave the child here, I must rescue every child I find.
([cutscene] -> [cutscene] again)
[cutscene] [playerwithchild] [Mary no nearriver | ... | river] -> [cutscene] [playerwithchild] [> Mary | ... | river]
[cutscene] [smoke] -> win
late [cutscene] [player nearriver] -> win
left [> PlayerAlone] -> [> HansLeft]
right [> PlayerAlone] -> [> HansRight]
up [> PlayerAlone] -> [> HansUp]
down [> PlayerAlone] -> [> HansDown]
left [> PlayerWithChild] -> [> HansChildLeft]
right [> PlayerWithChild] -> [> HansChildRight]
up [> PlayerWithChild] -> [> HansChildUp]
down [> PlayerWithChild] -> [> HansChildDown]
left [> Mary] -> [> MaryLeft]
right [> Mary] -> [> MaryRight]
[Paul Danger] [bosslevel] -> [stationary pauldead danger] []
[pauldead][player] -> win
[bosslevel] [paul | no shootzone] -> [bosslevel] [paul | shootzone1]
[bosslevel] [shootzone1 | no shootzone] -> [bosslevel] [shootzone1 | shootzone2]
[bosslevel] [shootzone1 danger | ... | paul] -> [bosslevel] [shootzone1 danger | ... | > paul]
([pauldead][shootzone] -> [pauldead][])
[bosslevel] [shootzone2 | no shootzone] -> [bosslevel] [shootzone2 | shootzone3]
late [bosslevel] [shootzone player] -> [bosslevel] [deadplayer] sfx8
late [shootzone] -> []
([fire1] -> [fire2] again)
==============
WINCONDITIONS
==============
Some Player on Exit
No Child
No ChildDead
=======
LEVELS
=======
MESSAGE Mary: Could you carry Half to the river, Hans?
MESSAGE Hans: Sure, sister. Come on!
o,,,,o,,,,,,,,nr,,
o,p,,c........nr,,
o,,,,o,,,m,,,,nr,,
oooooo,,,,,,,,nr,,
,,,,,,,,,,,,nnrr,,
,,,,,,,,,,,nrrrl,,
,s,,,,,,,,nrr,,,,,
MESSAGE Hans: Do you know what is at the other side of the river, Half?
MESSAGE Half: No, what is it?
MESSAGE Hans: It's Fircone town, they are our allies, and actually we owe them this calm morning!
MESSAGE Half: Too boring, better tell me how you lost your leg, uncle Hans!
MESSAGE Hans: Maybe next time... Hey, Paul!
MESSAGE Paul: Hello, neighbour!
(sfx7)
................
s........_......
.p....._........
.......BB.B.....
....._B.*B......
.......B.._.....
................
................
................
MESSAGE 6:37 am
MESSAGE Hans: (wakes up) Holy crap!
MESSAGE Hans: It's not a dream! The ammunition depot just blew up!
MESSAGE Hans: This can mean only one thing - they betrayed us...
MESSAGE The stripe above the level shows the timing of bomb drops
(level 1)
$`````````!``````A
oooooooooooooooooo
o....o...........o
o....o..._......0E
o....o_._._....9.o
o......_.1._.....o
o.._....___......o
p..._____.oo.....o
o.........o......o
oooooooooooooooooo
MESSAGE 6:45 am
MESSAGE Hans: This is really bad, I must hurry to make sure Half and Mary are in safety!
(level 2)
$```````#`@```!``A
oooooooooooooooooo
o................o
p........._......o
oo1o..ooo.2._.0..o
oooo._..._.......o
o..._...9.__.....o
o..._.3ooooooooooo
o0....__...__....o
o.9...._____.....o
oooooooooooooooEoo
MESSAGE 7:02 am
MESSAGE Hans: No doubt, all drops are carefully targeted.
MESSAGE Hans: But what kind of a scum put all those flare marks?!
(level 3)
$!```````````````````A
ooooooooooopoooooooooo
o..............oc....o
o..............o.o...o
o........9.ooooo.o...o
o....oo.0..o...B.o...o
o....o1__._....B.o...o
o....oo.___o...B.o...o
o.......0__ooooo.....o
o.......9......o.....o
o..............ooooooo
o....................o
o....................o
ooooooooEooooooooooooo
MESSAGE 7:20 am
MESSAGE Hans: These fuel barrels are the same ones we provided to Fircone.
MESSAGE Hans: For their planes.
(level 4)
$@```````!```````A
ooooooooooooopoooo
o.....o..o.......o
o..c..o.2o.....9.o
o.....oooo.......o
o......__..o.....o
o......._o.......o
o......oB_.0.0...o
o.....9___.9.....o
o........_9......E
o....Boooooooo...o
oB.B.BoB1........o
oooooooooooooooooo
MESSAGE 7:41 am
MESSAGE Hans: Most streets are obstructed, but I will find a way out.
(level 5)
$@``````````!`````A
ooooooooooooooooooo
o........o.......9o
o.....9..o........o
o........oB._.....o
o......1.o..0_2...o
o........oB9.._...o
o........:.___....o
p...B....o_oooo:ooo
o........o.o__B...E
ooooooooooooooooooo
MESSAGE 7:59 am
MESSAGE Hans: I hate it when I can't stop bastards on planes to bomb everything around!
(level 6)
$#````@`````````!```A
ooooooooooooooooEoooo
o....o...o........__o
p....:...oooo.o..__.o
o..1.o...o0__.o.__..o
oooooo...o:oooo9_B..o
o......2.o...3o_._ooo
o.....0.......o____.o
o..0.0.._B.___ooooo.o
o.09....______o..9..o
o....9...__..9..0...o
ooooooooooooooooooooo
MESSAGE 8:28 am
MESSAGE Hans: Outskirts. I'm almost there.
(level 7)
$#`````@``!`````````A
ooooooooooooooooooooo
ooo...__..._oo..ooooo
oc___1._..__Bo.9.oooo
o...........2......co
o..9.0..B..0..______o
o...9..._______90...o
o..3_____...........o
o...................o
o...................o
ooooopooooooEoooooooo
MESSAGE 8:53 am
MESSAGE Hans: The cliff. I see a kid. This should be Half...
(level 8)
$#```@```````!``````A
ooopooooooooooooooooo
u,,,,,,,____1,,,,,,,u
u,,,,,,,coB,,,,,,,,,u
u,,,,,,,,,,,,,,,2,,,u
u,,,,,,,,,,,,,___,,,u
u,,,,,,,,______,,_,,u
u,,ooooo___,_,,,,_B,u
u,,o,c,,,___,,,,,,,,u
u,,,_____,,,,,,3,,__u
uu,,,,,,,_____Bo,___u
uuuuuuuuuuuuuuuuEuuuu
MESSAGE Half: You're the hero, uncle Hans!
MESSAGE Hans: Where is your mom?
MESSAGE Half: That over-the-river man... He punched her... and forced to go with him!..
MESSAGE Half: But I ran away...
MESSAGE Hans: Son of a!..
MESSAGE Hans: Stay here, Half! I'll go talk to Paul.
MESSAGE 9:00 am
MESSAGE Hans: Hey you!
MESSAGE Paul: Get lost or I'll shoot! You'll never understand!
$!``````````````A
q,p,,,,,,,,,,r,,,
,ooo,,,,,,___rr,,
,o1o,,,,___,_,rr,
,ooo,,,,,l,,_,rr,
,,,,,,,,,,,,_,rr,
,,,,,___,,,__,r,,
B,,,__,,,,,_,r,,,
,,,_,BB,,,__,r,,,
,,,B,,,,z,,,,r,,,
,,z,z,,,,,z,,,r,,
MESSAGE Hans: Rest in peace, my dear neighbour. You were buried right at the place you marked.
MESSAGE Mary: Hans!
MESSAGE Mary: Did you see Half?
MESSAGE Hans: Don't worry, sister, he's safe.
MESSAGE THE END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment