Created
April 4, 2024 08:16
-
-
Save vgel/3777468949d8071906822cfd8d54857b to your computer and use it in GitHub Desktop.
maxwell's demon (PuzzleScript Script)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in http://www.puzzlescript.net/editor.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title maxwell's demon | |
author theia vogel | |
homepage vgel.me | |
======== | |
OBJECTS | |
======== | |
Background | |
white | |
Wall | |
grey | |
Player_1 | |
lightblue darkgray lightgreen | |
.222. | |
.121. | |
22222 | |
2.2.2 | |
2.2.2 | |
Player_2 | |
lightblue darkgray lightgreen | |
.222. | |
.121. | |
22222 | |
2.2.2 | |
.2.2. | |
Other_1 | |
lightblue darkgray lightgreen | |
.000. | |
.101. | |
00000 | |
0.0.0 | |
0.0.0 | |
Other_2 | |
lightblue darkgray lightgreen | |
.000. | |
.101. | |
00000 | |
0.0.0 | |
.0.0. | |
StopAnim | |
transparent | |
AtomA | |
red | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
AtomB | |
blue | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
AtomC | |
green | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
WantA_Reg | |
red | |
.000. | |
0...0 | |
0...0 | |
0...0 | |
.000. | |
WantA_Alt | |
red | |
....0 | |
.0... | |
..0.. | |
...0. | |
..... | |
WantB_Reg | |
blue | |
.000. | |
0...0 | |
0...0 | |
0...0 | |
.000. | |
WantB_Alt | |
blue | |
..... | |
.0.0. | |
..0.. | |
.0.0. | |
..... | |
WantC_Reg | |
green | |
.000. | |
0...0 | |
0...0 | |
0...0 | |
.000. | |
WantC_Alt | |
green | |
..... | |
.0.0. | |
..0.. | |
.0.0. | |
..... | |
Explosion_1 | |
red orange yellow | |
20120 | |
22101 | |
21002 | |
00012 | |
20111 | |
Explosion_2 | |
red orange yellow | |
10111 | |
01012 | |
11102 | |
00121 | |
22221 | |
Explosion_3 | |
red orange yellow | |
12120 | |
01210 | |
20111 | |
01120 | |
21011 | |
Space | |
black | |
Star_1 | |
black white | |
10000 | |
00000 | |
00000 | |
00000 | |
00000 | |
Star_2 | |
black white | |
00000 | |
00000 | |
01000 | |
00000 | |
00000 | |
Star_3 | |
black white | |
00000 | |
00001 | |
00000 | |
00000 | |
00000 | |
======= | |
LEGEND | |
======= | |
Player = Player_1 or Player_2 | |
Atom = AtomA or AtomB or AtomC | |
WantA = WantA_Reg or WantA_Alt | |
WantB = WantB_Reg or WantB_Alt | |
WantC = WantC_Reg or WantC_Alt | |
(ending) | |
Explosion = Explosion_1 or Explosion_2 or Explosion_3 | |
Star = Star_1 or Star_2 or Star_3 | |
Other = Other_1 or Other_2 | |
. = Background | |
# = Wall | |
P = Player_1 | |
A = AtomA | |
B = AtomB | |
C = AtomC | |
1 = WantA_Reg | |
2 = WantB_Reg | |
3 = WantC_Reg | |
Q = WantA_Alt | |
W = WantB_Alt | |
E = WantC_Alt | |
! = Explosion_1 | |
@ = Explosion_2 | |
$ = Explosion_3 | |
- = Space | |
* = Star_1 | |
% = Star_2 | |
+ = Star_3 | |
{ = Space and Player_1 | |
} = Space and Other_1 | |
======= | |
SOUNDS | |
======= | |
Atom Move 12384107 | |
Atom CantMove 41877502 | |
Player CantMove 41877502 | |
Cancel 41877502 | |
ShowMessage 39845504 | |
SFX0 47223708 (heartbeat) | |
SFX1 62652708 (explosion) | |
SFX2 67179707 (player step) | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
StopAnim | |
Space | |
Explosion, Star | |
WantA, WantB, WantC, Other | |
Player, Wall, Atom | |
====== | |
RULES | |
====== | |
(moving molecules) | |
[ > Player | Atom ] -> [ > Player | > Atom ] | |
[ moving Atom | stationary Atom ] -> [ moving Atom | moving Atom ] | |
[ > Atom | Wall ] -> cancel | |
(animations) | |
[ no StopAnim Player_1 ] -> [ Player_2 StopAnim ] | |
[ no StopAnim Player_2 ] -> [ Player_1 StopAnim ] | |
[ no StopAnim Other_1 ] -> [ Other_2 StopAnim ] | |
[ no StopAnim Other_2 ] -> [ Other_1 StopAnim ] | |
late [ StopAnim ] -> [] | |
(ending scene) | |
[Space] [Background] -> [Space] [Space] | |
late [Player Star] -> [Player] | |
(sounds) | |
[Explosion] -> [Explosion] SFX1 | |
([Space Player] -> [Space Player] SFX0) | |
[no Space Player] -> [Player] SFX2 | |
============== | |
WINCONDITIONS | |
============== | |
all WantA on AtomA | |
all WantB on AtomB | |
all WantC on AtomC | |
all Other on Player | |
======= | |
LEVELS | |
======= | |
Message Assemble. | |
####### | |
#.....# | |
#.....# | |
#PA1..# | |
#.....# | |
#.....# | |
####### | |
Message (diatomic) | |
######## | |
#......# | |
#..A.A.# | |
#.P11..# | |
#......# | |
#......# | |
######## | |
Message (the stuff of life) | |
########## | |
#........# | |
#......B.# | |
#.P.21...# | |
#..A1..A.# | |
#........# | |
########## | |
Message Assemble. | |
########### | |
#.........# | |
#..B....B.# | |
#...12....# | |
#......#..# | |
#...12.#..# | |
#.A....#A.# | |
#P.....#..# | |
########### | |
Message (it's stuck?) | |
########### | |
#.........# | |
#......B..# | |
#...232...# | |
#....2....# | |
#..B..C...# | |
#P....B...# | |
########### | |
Message Assemble. | |
############# | |
#.....B.....# | |
#.A...#.....# | |
#.........B.# | |
#.....2.....# | |
#...12321...# | |
#.....C.....# | |
#....B....A.# | |
#P..........# | |
############# | |
Message (why am i here?) | |
############# | |
#.....#.....# | |
#.A...#.#...# | |
#.........### | |
#.....#...1.# | |
#...B.#.#.22# | |
#..........1# | |
#..A......### | |
#...B.#.#...# | |
#P..........# | |
############# | |
Message Assemble. | |
############# | |
#A.A.....B.A# | |
#A.........A# | |
#.....1.....# | |
#...#A2##...# | |
#....131....# | |
#.....1....A# | |
#...........# | |
#.......C...# | |
#P......A...# | |
############# | |
Message <THEY'RE USING YOU.> | |
############# | |
#.A.A.......# | |
#......C.C..# | |
#.....1...#.# | |
#...A12...#.# | |
#...133.B.#.# | |
#....121.B#.# | |
#.A#......#.# | |
#.##........# | |
#P.........A# | |
############# | |
Message <AN EXTRA ATOM. SUBTLE POISON.> | |
############# | |
#.......##..# | |
#.......#B..# | |
#...........# | |
#......A.#..# | |
#....121....# | |
#.###.......# | |
#...........# | |
#.C...A#....# | |
#.P...##....# | |
############# | |
Message ... | |
############# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#.P.........# | |
############# | |
Message (they're gone?) | |
############# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#...........# | |
#.P.........# | |
############# | |
Message <AN EXPLOSIVE CONCOCTION.> | |
############# | |
#BA...A.....# | |
#.B..AC.A.A.# | |
#.AB...A...## | |
#..A.......A# | |
#.....EAAA..# | |
#.ABA.B...BB# | |
#.B...A.AA..# | |
#.#BBCA..BB.# | |
#.P...AA..#B# | |
############# | |
Message <BOOM.> | |
$@#!!#@!##### | |
#@$@@$@!!!!$# | |
#!$$!$!!$!!$! | |
#!$!$$$@@!!!! | |
!@@!!$!@@$$!# | |
#$@@!$!$@$!$# | |
!!!@$$@@!!@@# | |
#@@$@@@$@!$@! | |
#@!@@!$$@@!@! | |
@$$@@!!@!!!$! | |
#$!##!@#!!$!# | |
............. | |
............. | |
............. | |
............. | |
............. | |
............. | |
............. | |
............. | |
............. | |
............. | |
............. | |
--*+--+----*- | |
+-----%-*+--* | |
+---+-*%----% | |
+---*----%--- | |
------+-+--%- | |
{+%**-%-*-+*} | |
--------%---% | |
------*+---%- | |
+--+----+%*-% | |
-----------%+ | |
-+-*--+--***- | |
Message (it's over.) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment