Skip to content

Instantly share code, notes, and snippets.

@vgel
Created April 4, 2024 08:16
Show Gist options
  • Save vgel/3777468949d8071906822cfd8d54857b to your computer and use it in GitHub Desktop.
Save vgel/3777468949d8071906822cfd8d54857b to your computer and use it in GitHub Desktop.
maxwell's demon (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
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