Skip to content

Instantly share code, notes, and snippets.

@jayrbolton
Created June 14, 2020 17:35
Show Gist options
  • Save jayrbolton/53ce89d41ab3bb5218ad794e9aff1f1e to your computer and use it in GitHub Desktop.
Save jayrbolton/53ce89d41ab3bb5218ad794e9aff1f1e to your computer and use it in GitHub Desktop.
Entropy Hero (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Entropy Hero
author Jay R Bolton
homepage www.jayrbolton.com
color_palette pastel
========
OBJECTS
========
wall
darkblue
background
#222
insulation
green darkgreen
00000
01110
01110
01110
00000
Player
pink yellow blue
.222.
.000.
22122
.222.
.2.2.
steel_0
lightgray
00000
0...0
0...0
0...0
00000
steel_1
lightgray #fa86f2 orange
20000
01110
01110
01110
00000
steel_2
lightgray #f55ce7 orange
20200
01110
01110
01110
00000
steel_3
lightgray #ed30cd orange
20202
01110
01110
01110
00000
steel_4
lightgray #d7008a orange
20202
01110
01110
01110
20000
steel_5
lightgray #b30041 orange
20202
01110
01110
01110
20200
steel_6
lightgray #870009 orange
20202
01110
01110
01110
20202
gold_0
yellow
00000
0...0
0...0
0...0
00000
gold_1
yellow #ffc0ba orange
20000
01110
01110
01110
00000
gold_2
yellow #ff998f orange
20200
01110
01110
01110
00000
gold_3
yellow #ff6f61 orange
20202
01110
01110
01110
00000
gold_4
yellow #ff7161 orange
20202
01110
01110
01110
20000
gold_5
yellow #ff4530 orange
20202
01110
01110
01110
20200
gold_6
yellow #ff1a00 orange
20202
01110
01110
01110
20202
insulate_0
green
00000
0...0
0...0
0...0
00000
insulate_1
green #ffc0ba orange
20000
01110
01110
01110
00000
insulate_2
green #ff998f orange
20200
01110
01110
01110
00000
insulate_3
green #ff6f61 orange
20202
01110
01110
01110
00000
insulate_4
green #ff7161 orange
20202
01110
01110
01110
20000
insulate_5
green #ff4530 orange
20202
01110
01110
01110
20200
insulate_6
green #ff1a00 orange
20202
01110
01110
01110
20202
=======
LEGEND
=======
p = player
. = background
# = Wall
0 = steel_0
1 = steel_1
2 = steel_2
3 = steel_3
8 = steel_4
9 = steel_5
a = steel_6
e = gold_0
f = gold_1
g = gold_2
h = gold_3
i = gold_4
j = gold_5
k = gold_6
L = insulation
(Sets, in order of hierarchy)
steel = 0 or 1 or 2 or 3 or 8 or 9 or a
gold= e or f or g or h or i or j or k
metal_0 = steel_0 or gold_0
metal_1 = steel_1 or gold_1
metal_2 = steel_2 or gold_2
metal_3 = steel_3 or gold_3
metal_4 = steel_4 or gold_4
metal_5 = steel_5 or gold_5
metal_6 = steel_6 or gold_6
insulate = insulate_0 or insulate_1 or insulate_2 or insulate_3 or insulate_4 or insulate_5 or insulate_6
metal = steel or gold
(Rule groups)
pushable = steel or gold or insulation or insulate
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
player, wall, steel, gold, insulation, insulate
======
RULES
======
[ > Player | pushable ] -> [ > Player | > pushable ]
startloop
[ > pushable|pushable] -> [> pushable|> pushable]
endloop
(heat rules)
(steel to steel)
[steel_6|steel_4]->[steel_5|steel_5]
[steel_6|steel_3]->[steel_5|steel_4]
[steel_6|steel_2]->[steel_5|steel_3]
[steel_6|steel_1]->[steel_5|steel_2]
[steel_6|steel_0]->[steel_5|steel_1]
[steel_5|steel_3]->[steel_4|steel_4]
[steel_5|steel_2]->[steel_4|steel_3]
[steel_5|steel_1]->[steel_4|steel_2]
[steel_5|steel_0]->[steel_4|steel_1]
[steel_4|steel_2]->[steel_3|steel_3]
[steel_4|steel_1]->[steel_3|steel_2]
[steel_4|steel_0]->[steel_3|steel_1]
[steel_3|steel_0]->[steel_2|steel_1]
[steel_3|steel_1]->[steel_2|steel_2]
[steel_2|steel_0]->[steel_1|steel_1]
(gold to steel)
[gold_6|steel_4]->[gold_5|steel_5]
[gold_6|steel_3]->[gold_5|steel_4]
[gold_6|steel_2]->[gold_4|steel_4]
[gold_6|steel_1]->[gold_4|steel_3]
[gold_6|steel_0]->[gold_3|steel_3]
[gold_5|steel_3]->[gold_4|steel_4]
[gold_5|steel_2]->[gold_4|steel_3]
[gold_5|steel_1]->[gold_3|steel_3]
[gold_5|steel_0]->[gold_3|steel_2]
[gold_4|steel_2]->[gold_3|steel_3]
[gold_4|steel_1]->[gold_3|steel_2]
[gold_4|steel_0]->[gold_2|steel_2]
[gold_4|steel_6]->[gold_5|steel_5]
[gold_3|steel_1]->[gold_2|steel_2]
[gold_3|steel_0]->[gold_2|steel_1]
[gold_3|steel_5]->[gold_4|steel_4]
[gold_3|steel_6]->[gold_5|steel_4]
[gold_2|steel_0]->[gold_1|steel_1]
[gold_2|steel_4]->[gold_3|steel_3]
[gold_2|steel_5]->[gold_4|steel_3]
[gold_2|steel_6]->[gold_4|steel_4]
[gold_1|steel_3]->[gold_2|steel_2]
[gold_1|steel_4]->[gold_3|steel_2]
[gold_1|steel_5]->[gold_3|steel_3]
[gold_1|steel_6]->[gold_4|steel_3]
[gold_0|steel_2]->[gold_1|steel_1]
[gold_0|steel_3]->[gold_2|steel_1]
[gold_0|steel_4]->[gold_2|steel_2]
[gold_0|steel_5]->[gold_3|steel_2]
[gold_0|steel_6]->[gold_3|steel_3]
[gold_5|steel_6]->[gold_6|steel_5]
[gold_4|steel_5]->[gold_5|steel_4]
[gold_3|steel_4]->[gold_4|steel_3]
[gold_2|steel_3]->[gold_3|steel_2]
[gold_1|steel_2]->[gold_2|steel_1]
[gold_0|steel_1]->[gold_1|steel_0]
(gold to gold)
[gold_6|gold_4]->[gold_5|gold_5]
[gold_6|gold_3]->[gold_5|gold_4]
[gold_6|gold_2]->[gold_4|gold_4]
[gold_6|gold_1]->[gold_4|gold_3]
[gold_6|gold_0]->[gold_3|gold_3]
[gold_5|gold_3]->[gold_4|gold_4]
[gold_5|gold_2]->[gold_4|gold_3]
[gold_5|gold_1]->[gold_3|gold_3]
[gold_5|gold_0]->[gold_3|gold_2]
[gold_4|gold_2]->[gold_3|gold_3]
[gold_4|gold_1]->[gold_3|gold_2]
[gold_4|gold_0]->[gold_2|gold_2]
[gold_4|gold_6]->[gold_5|gold_5]
[gold_3|gold_1]->[gold_2|gold_2]
[gold_3|gold_0]->[gold_2|gold_1]
[gold_3|gold_5]->[gold_4|gold_4]
[gold_3|gold_6]->[gold_5|gold_4]
[gold_2|gold_0]->[gold_1|gold_1]
[gold_2|gold_4]->[gold_3|gold_3]
[gold_2|gold_5]->[gold_4|gold_3]
[gold_2|gold_6]->[gold_4|gold_4]
[gold_1|gold_3]->[gold_2|gold_2]
[gold_1|gold_4]->[gold_3|gold_2]
[gold_1|gold_5]->[gold_3|gold_3]
[gold_1|gold_6]->[gold_4|gold_3]
[gold_0|gold_2]->[gold_1|gold_1]
[gold_0|gold_3]->[gold_2|gold_1]
[gold_0|gold_4]->[gold_2|gold_2]
[gold_0|gold_5]->[gold_3|gold_2]
[gold_0|gold_6]->[gold_3|gold_3]
(insulation rules)
[> insulation|metal_0]->[|insulate_0]
[> insulation|metal_1]->[|insulate_1]
[> insulation|metal_2]->[|insulate_2]
[> insulation|metal_3]->[|insulate_3]
[> insulation|metal_4]->[|insulate_4]
[> insulation|metal_5]->[|insulate_5]
[> insulation|metal_6]->[|insulate_6]
[> metal_0|insulation]->[insulate_0|]
[> metal_1|insulation]->[insulate_1|]
[> metal_2|insulation]->[insulate_2|]
[> metal_3|insulation]->[insulate_3|]
[> metal_4|insulation]->[insulate_4|]
[> metal_5|insulation]->[insulate_5|]
[> metal_6|insulation]->[insulate_6|]
==============
WINCONDITIONS
==============
no steel_0
no gold_0
no insulate_0
=======
LEVELS
=======
message Heat up all hollow blocks
message Adjacent blocks transfer heat
##########
#........#
#........#
#........#
#...2...0#
#........#
#........#
#........#
#p.......#
##########
##########
#........#
#........#
#........#
#8..0...0#
#........#
#........#
#.p......#
#........#
##########
message Good job. You are contributing to entropy.
##########
#........#
#........#
#8..0...0#
#8......0#
#.......0#
#........#
#........#
#p.......#
##########
message The heat death of the universe grows closer thanks to you.
##########
#........#
#a.......#
#a....####
#a.p0.000#
#a....####
#a.......#
#........#
##########
message Nice. Once all energy dissipates, life will disappear.
message Some materials are more conductive than others.
##########
#........#
#........#
#9....####
#a.e0p000#
#9....####
#........#
#........#
#........#
##########
message Nice. Once everything dissipates, life will be impossible.
message Some materials are more conductive than others.
###############
#.#...........#
#.#...........#
#.######......#
#.000000......#
#.######......#
#.#.kk........#
#.p...........#
###############
message The heat death of the universe will occur in approximately 10^100 years
###############
##.#.#.#.#.#.##
#.#.#.#.#.#.#.#
##.#.#.#.#.#.##
#.....fffffff.#
#..pa........0#
#.....fffffff.#
##.#.#.#.#.#.##
#.#.#.#.#.#.#.#
##.#.#.#.#.#.##
###############
message Entropy can be locally contained or reversed, but eventually it will all equalize
.#.#.#.#.#.#.#.
###############
.#....#f....0#.
##p.8.....l.0##
.#....###...0#.
###############
.#.#.#.#.#.#.#.
message Good job!
###############
##.#.#.#.#.#.##
#.#.#.#.#.#.#.#
###############
#........ffff##
#pLaL........0#
#........ffff##
###############
#.#.#.#.#.#.#.#
##.#.#.#.#.#.##
###############
(TODO a movement block takes heat and moves the same number of squares away)
(TODO local entropy reduction: take energy to )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment