Skip to content

Instantly share code, notes, and snippets.

@increpare
Created March 27, 2025 15:20
Show Gist options
  • Save increpare/a067ff43fd31c295c03edf3b595137f2 to your computer and use it in GitHub Desktop.
Save increpare/a067ff43fd31c295c03edf3b595137f2 to your computer and use it in GitHub Desktop.
Dollyban (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Dollyban
author increpare
homepage www.increpare.com
( verbose_logging )
( debug )
========
OBJECTS
========
Background
lightgreen green
11111
01111
11101
11111
10111
blackness ,
black
Target
darkblue
.....
.000.
.0.0.
.000.
.....
Wall
brown darkbrown
00010
11111
01000
11111
00010
Player
black orange white blue
.000.
.111.
22222
.333.
.3.3.
Crate
orange
00000
0...0
0...0
0...0
00000
dolly
black brown
0...0
01.10
.111.
01.10
0...0
temp
red
=======
LEGEND
=======
. = Background
# = Wall
P = Player
* = Crate
@ = Crate and Target
O = Target
D = dolly
F = dolly and target
G = player and target
=======
SOUNDS
=======
Crate move 36772507
================
COLLISIONLAYERS
================
Background
blackness
Target
Player, Wall, Crate, dolly
temp
======
RULES
======
[ Player ] -> [ player temp ]
[ > Player | dolly ] -> [ > Player | > dolly ]
[ UP dolly | stationary crate ] -> [ UP dolly | UP crate ]
[ DOWN dolly | stationary crate ] -> [ DOWN dolly | DOWN crate ]
[ LEFT dolly | stationary crate ] -> [ LEFT dolly | LEFT crate ]
[ RIGHT dolly | stationary crate ] -> [ RIGHT dolly | RIGHT crate ]
late [ player temp ] -> cancel
late [ temp ] -> [ ]
==============
WINCONDITIONS
==============
all Target on Crate
=======
LEVELS
=======
#########
#.......#
#...#...#
#..d.*..#
#.......#
#.p.#...#
#...o...#
#.......#
#########
(LVL1 short+sweet)
,#######,
,#.....#,
##..p..##
#..d.d..#
#.*.#.o.#
##.....##
,#######,
(LVL 1.5 easy enough?)
########
#p.....#
#......#
#.d.*..#
#..*.o.#
#.o*.#.#
#......#
#......#
#..*.o.#
#.o*o..#
#......#
########
(LVL2 - maybe too tricky for early on?)
####,,,,,
#.o######
#.d.....#
#..#d*p.#
#.......#
###.....#
,########
(24674 - kinda nice?)
,,,######
,,##.p..#
###..#o.#
#..*....#
#.dd....#
##....###
,######,,
(LVL3 hard but good? difficult to conceptuaize - I had a sequence of goals, but there was lots of playing around -fundamentally it's about fiddly in-place operations - but I had fun ... potentially annoyingly fiddly though if there are too many levels like this)
,,######,
####...##
#.....d.#
#.p*..d.#
#..o#...#
##..#...#
,########
(LVL3alt - an easier version of LVL3 23275 actually kind of like it - feels a bit less claustraphobic than LVL3, so maybe better?)
(----------------------)
#######
#o.o..#
#..*..#
#...d.#
#.*...#
#...p.#
#######
(easy, but not terrible)
(----------------------)
#######
#.....#
#.....#
#.....#
#.....#
#.....#
#######
#########
#.......#
#.......#
#.......#
#.......#
#########
#########
#.#.#...#
#...#...#
#..d..*p#
#o......#
#....#..#
#########
(so-so? not really better than LVL1)
#######
#p....#
#.....#
#.d.*.#
#..*.o#
#.o*o.#
#######
(nice mechanicsm, but not interesting to discover? i don't know!)
#######
#@..o@#
##.d..#
#.*.p.#
#.....#
#...#.#
#######
(trivial)
#######
###...#
#...d.#
#....p#
#.*...#
#o*o..#
#######
(trivial)
#########
#.#.#...#
#...#...#
#..d..*p#
#o......#
#....#..#
#########
(2595, already tried optimized)
#########
#....#..#
#...#...#
#.d..*.p#
##o.....#
#.......#
#########
(3066 boring smearing)
#########
#.##..p##
#..#...##
#..*...##
#..d..#.#
##.o....#
#########
(1196 trivial)
#########
#..#.p..#
#.#..#o.#
#..*....#
#.dd....#
##....###
#########
(32349 -turned int lvl3)
#########
#......##
##.....p#
#..f..d.#
#.*.#.#.#
##.....##
#########
(24303 tunrd into level 1.5)
#########
#o.o...##
#..#d...#
#g......#
#.d.*.*.#
#.......#
#########
(171132)
#########
#..#....#
#....o..#
#.d.od*.#
#..p*...#
##...#..#
#########
(142998)
#########
#.......#
#.dp..*.#
#.o.....#
#o*.#.d.#
#.......#
#########
(68912)
#########
#.....o.#
#.......#
#.d*..*.#
#..#.#fp#
#.#.....#
#########
(60625)
#########
#p#.....#
#..d..*.#
#...d...#
#o.#....#
#########
(19407)
#########
#.o#....#
#.....d.#
#..d*..p#
#.#.....#
#########
(17677)
#########
##..p.#o#
#....d..#
#....*d.#
#.......#
#########
(15397 - looks interesting!)
#########
#.......#
#.......#
#.......#
#########
#########
#.......#
#.......#
#.......#
#.......#
#.......#
#########
#########
#.......#
###..#*.#
#p......#
#.*.....#
#.......#
#..d.#..#
#.....o.#
#d.o##..#
#########
(14310)
#########
#.....d.#
#o......#
#......##
#...*...#
#......##
#....d*.#
#.#..#.o#
#.......#
#########
(5307)
#########
#.......#
#.......#
#..o.#@.#
#.*.....#
#.......#
#.#.....#
#.#.d.#.#
#.d..#..#
#########
(2874)
#########
##.#....#
#..o....#
#......o#
#..p..*.#
#.#..*d.#
#.#...d.#
##..#...#
#.....#.#
#########
(1856)
#########
#......p#
#..d....#
##......#
#o.*#...#
#.......#
#.*..##.#
#.......#
#..#o...#
#########
(6629)
#########
#....d..#
#.....o.#
#.##....#
#.#.....#
#.*.d.#.#
#.......#
#.#.*...#
#..po...#
#########
(241126)
#########
#.......#
#.......#
#..d....#
#p......#
#.#*#...#
#f.*...o#
#......##
#.......#
#########
(98694)
#########
#.......#
##......#
#.......#
#...#..p#
##.*....#
#.*.d..f#
#...o...#
##....#.#
#########
(78394)
#########
#.....#.#
#.....d.#
#.......#
#.....p.#
#....*..#
#..o.*..#
#.......#
#..d.o..#
#########
(65600)
#########
####...o#
#..#.#..#
##.....##
#.#.....#
#.....dp#
##.*..#.#
#.....d.#
#.......#
#########
(64612)
#########
#......p#
##...#d.#
##..#..o#
#.###...#
#....d..#
#..*....#
#....#..#
#....##.#
#########
(62834)
#########
#..#..#.#
#....p..#
##o..#..#
#..#.#..#
#...d...#
#.#*.#.##
#.#...d.#
#.......#
#########
(58971)
#########
#....p.##
#..#....#
#.o..d..#
#.#d.#.##
#.......#
#.#*....#
##..#.#.#
#.....#.#
#########
(44911)
#########
#.#...#.#
#.#@....#
#..do...#
#.....#.#
#..#d...#
#p.#....#
##..*...#
#..#....#
#########
(18644)
#########
#..#....#
#.......#
##......#
#.#.d#p*#
#.#....o#
#.#.*#..#
#......o#
#.#.d...#
#########
(6589 looks perhaps interesting with needing to swap roller)
#########
#..#..o##
#...#...#
#...d...#
#.......#
#..#d.#.#
#.##..**#
#......g#
##......#
#########
(62605)
#########
#.#.....#
#...#.#.#
#f..#...#
#...##..#
#..#...o#
#.*....*#
#..d....#
#.....#p#
#########
(35975)
#########
##...p#.#
#...*...#
#....o*.#
##.#..#.#
#.....#.#
#.....o.#
#.#.....#
#d..#...#
#########
(16715)
#########
#o..d...#
###.....#
#.d.....#
#.*..#..#
#....#.##
##o..##.#
#.*....p#
#.......#
#########
(45865)
#########
##......#
#o..#dd.#
#.#o....#
#..#..#.#
#*......#
#.p.....#
#...#.*.#
###.....#
#########
(116475)
#########
#...#...#
#.d....##
#.......#
#..*...o#
##...#..#
#p..f.#.#
#..*..#.#
##....#.#
#########
(41862)
#########
#..#..###
#.#..*..#
#.....p.#
##do*...#
#.......#
##..o..d#
#.......#
#...#.#.#
#########
(294930)
#########
#......o#
#.....#.#
##..*.#.#
#.#d#.*.#
#....d..#
#.......#
#op#.#..#
#.....#.#
#########
(269635)
#########
##......#
#o..#dd.#
#.#o....#
#..#..#.#
#*......#
#.p.....#
#...#.*.#
###.....#
#########
(116475)
#########
#...#...#
#..d....#
#.....#.#
#p..#*#.#
#.....#.#
#.....o.#
#o#...*.#
#..d..###
#########
(65336)
#########
##..o...#
##....d.#
#...*#..#
##......#
#..#d.#.#
#.*...o.#
#....#.##
#......p#
#########
(400212)
#########
#...#p#.#
#......o#
#.#.*o..#
#...#...#
##..*.d.#
#.......#
#.#.#..d#
#.#.....#
#########
(230975)
#########
#..#.##.#
#o.*...##
##.#....#
#..d....#
#.*.....#
#.......#
#.....#.#
#.#g#...#
#########
(2927)
#########
#.#[email protected]#
#.#...#.#
##...d.##
#.....#.#
#.o.....#
#.#.*.o.#
#...*..##
#.......#
#########
(1707)
#########
#......@#
#....#o.#
#.......#
#..*....#
#..*..p.#
#..d..o.#
#.....###
#.......#
#########
(2070)
#########
#.....#.#
#..*....#
#....#..#
##....o.#
##...*..#
#..#p.o.#
#....d.##
#.......#
#########
(81870)
#########
#.....o.#
#..*.o..#
#..#.dp##
#.......#
#....#..#
##*#....#
#.......#
#.......#
#########
(53302)
#########
##.o##..#
##....o.#
#.....*.#
#...d.#.#
#...#...#
#...*...#
#....p..#
#.......#
#########
(29902)
#########
#...#...#
#.......#
##..o.*.#
#...d.###
##.#..o.#
#...*...#
#.....p.#
#.......#
#########
(29425)
#########
#.......#
#o#.d...#
#..**..##
#...#...#
#....o..#
#....#..#
#....p..#
#..##...#
#########
(59318)
#########
##......#
#o.....##
#.g.#d.##
#.......#
#...*...#
#.*.....#
#.#.#...#
#.......#
#########
(43379)
###########
###.....o##
#.p..d....#
##*.*#...##
##........#
#.........#
#...o...#.#
#.....d...#
#.##......#
###########
(949605)
###########
#..#.#....#
#...#...d.#
#.#......##
##.*..o...#
#.....do..#
#.........#
#..*#.....#
#.#...#..##
###########
(1900128)
###########
#.....#...#
##......#.#
#.#.#.....#
#.....*d#.#
#.#..#..*.#
##.o...o..#
##p.......#
#.......d.#
###########
(1350115)
###########
#.#....#..#
#......#..#
#.#.d.....#
#...*.o...#
#..#..#*###
#......d..#
#..o....#.#
#p....#...#
###########
(925412)
###########
#.#...d...#
#..p......#
#....#.d..#
#........##
#...#.....#
##..##....#
#...o@*...#
#....#....#
###########
(hardish ,but very nice!)
#########
#.......#
#.......#
#.......#
#.......#
#.......#
#.......#
#.......#
#.......#
#########
###########
#.........#
#.........#
#.........#
#.........#
#.........#
#.........#
#.........#
#.........#
###########
message level 1 of 10
####..
#.O#..
#..###
#@...#
#.d*.#
#p.###
####..
message level 2 of 10
######
#....#
#.#P.#
#.*@d#
#.O@.#
#....#
######
message level 3 of 10
..####...
###..####
#.....*.#
#.#..#*.#
#.O.O#P.#
#########
message level 4 of 10
########
#......#
#.O@@*P#
#....d.#
#####..#
....####
message level 5 of 10
.#######
.#.....#
.#.O*O.#
##.*P*.#
#..O*O.#
#......#
########
message level 6 of 10
######.#####
#....###...#
#.**.....#P#
#.*.#OOO...#
#...########
#####.......
message level 7 of 10
#######
#.....#
#.O*O.#
#.*O*.#
#.O*O.#
#.*O*.#
#..P..#
#######
message level 8 of 10
..######
..#.OOP#
..#.**.#
..##.###
...#.#..
...#.#..
####.#..
#....##.
#.#...#.
#...#.#.
###...#.
..#####.
message level 9 of 10
#####.
#O..##
#P**.#
##...#
.##..#
..##O#
...###
message level 10 of 10
......#####
......#O..#
......#O#.#
#######O#.#
#.P.*.*.*.#
#.#.#.#.###
#.......#..
#########..
message congratulations!
(
==========
TRANSFORM
==========
(remove one crate/target pair if it exists and add one)
choose 3 [ ] -> [ wall ]
choose 1 [ no wall no crate ] [ no wall no target ] -> [ crate ] [ target ]
choose 1 [ no wall no crate ] -> [ dolly ]
choose 1 [No Wall No crate no dolly] -> [player]
choose 8 [no wall ] -> [ wall ]
choose 1 right [ no wall | no wall | no wall | no wall ] -> [ target | crate target | crate target | crate ]
choose 1 [ no wall no crate ] -> [ dolly ]
choose 1 [No Wall No crate no dolly] -> [player]
)
(
#########
#.......#
#.*.p..o#
#....d.##
#.......#
#########
(bad!)
#######
#o.*..#
#.o.d.#
#@..p.#
#..*..#
#.....#
#######
(meh)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment