Skip to content

Instantly share code, notes, and snippets.

@RazThePenguin
Created April 1, 2023 14:33
Show Gist options
  • Save RazThePenguin/5a76aff3716b87dd5e30212065d9169f to your computer and use it in GitHub Desktop.
Save RazThePenguin/5a76aff3716b87dd5e30212065d9169f to your computer and use it in GitHub Desktop.
Better Off Together vC0.8 (Puzzlescript Plus Script)
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html
title Better Off Together vC0.8
author By Penguin Fox Studios
homepage www.puzzlescript.net
background_color #080815
text_color #169c39
sprite_size 8
realtime_interval 0.2
again_interval 0.2
run_rules_on_level_start
level_select_unlocked_ahead all
level_select
level_select_solve_symbol V
continue_is_level_select
youtube dZtmv6mmV8E
=
OBJECTS
=
Background
#182418 #212130
01010101
10101010
01010101
10101010
01010101
10101010
01010101
10101010
FrenWinner
transparent
FWinner0
yellow orange white white white
00000000
04444440
04333340
04322340
04322340
04333340
04444440
00000000
FWinner1 copy:FWinner0
yellow white orange white white
FWinner2 copy:FWinner0
yellow white white orange white
FWinner3 copy:FWinner0
yellow white white white orange
PlayerWinner
transparent
PWinner0 copy:Fwinner0
pink lightred white white white
PWinner1 copy:FWinner0
pink white lightred white white
PWinner2 copy:FWinner0
pink white white lightred white
PWinner3 copy:FWinner0
pink white white white lightred
Wall
lightgray grey darkgray #606060 #585858
22222223
21000014
20000004
20000004
20000004
20000004
21000014
34444444
Temp
transparent
Player
red pink white black grey
..3223..
..2222..
..2332..
...22...
..1001..
..1001..
..1101..
..4..4..
Enemy copy:Player
pink red white black grey
Fren
#eb8931 #a46422 #493c2b #fb9941 #f39139
33333334
31222210
32122120
32211220
32211220
32122120
31222210
40000000
ClingyFren copy:Fren
green darkgreen darkbrown green green
CFren copy:Fren
green darkgreen darkbrown green green
RoombaU
grey darkgrey white white darkgray
00000000
01122110
01322310
03322330
04422440
01422410
01122110
00000000
RoombaD copy:RoombaU
grey darkgrey white darkgrey white
RoombaL
grey darkgrey white white darkgray
00000000
01134110
01334410
02222220
02222220
01334410
01134110
00000000
RoombaR copy:RoombaL
grey darkgrey white darkgrey white
Spike
#182418 #212130 #080808
01010101
10222210
02222221
12222220
02222221
12222220
01222201
10101010
Hole
transparent transparent darkgray #606060 #585858
22000023
21000014
00000000
00000000
00000000
00000000
21000014
34000044
Pit
#182418 #212130
01010101
10101010
01010101
10101010
01010101
10101010
01010101
10101010
BefriendedPit
#eb8931 #a46422 #493c2b #fb9941 #f39139
00000000
01222210
02122120
02211220
02211220
02122120
01222210
00000000
Button0
red
Button1
green
Button2
blue
Door0
lightred
Door1
lightgreen
Door2
lightblue
OpenDoor0
darkred
OpenDoor1
darkgreen
OpenDoor2
darkblue
Darkness
#000000c0
InstantWin
transparent
StopWinConTrigger
transparent
=
LEGEND
=
Roomba = RoombaU or RoombaD or RoombaL or RoombaR
RCollider = Wall or Player or Fren or ClingyFren or Roomba or Hole or Pit
. = Background
# = Wall
p = Player
e = Enemy
* = Fren
& = ClingyFren
a = RoombaU
b = RoombaL
k = PlayerWinner and PWinner0
o = FrenWinner and FWinner0
s = Spike
h = Hole
x = Pit and Darkness
0 = Button0
~ = Door0
1 = Button1
! = Door1
2 = Button2
" = Door2
¤ = InstantWin
% = StopWinConTrigger
FWanim = FWinner0 or FWinner1 or FWinner2 or FWinner3
FWinny = FrenWinner or StopWinConTrigger or ClingyFren
PWanim = PWinner0 or PWinner1 or PWinner2 or PWinner3
PWinny = PlayerWinner
Frens = Fren or ClingyFren
Thing = Fren or Wall
=
SOUNDS
=
sfx0 75271700
Player move 18403104
Player cantmove 53390302
Fren move 36175107
Fren cantmove 5481108
ClingyFren move 36175107
ClingyFren cantmove 18235108
Roomba move 37997307
startgame 18235108
closemessage 72405508
endlevel 53601508
=
COLLISIONLAYERS
=
Background
Temp
FrenWinner, PlayerWinner
FWanim, PWanim
Spike, Hole, Pit, BefriendedPit
Darkness
InstantWin
StopWinConTrigger
Button0, Button1, Button2
OpenDoor0, OpenDoor1, OpenDoor2
Player, Enemy, Wall, Fren, ClingyFren, CFren, Roomba, Door0, Door1, Door2
=
RULES
=
[ stationary Player ] [ FWinner3 ] -> [ Player ] [ FWinner0 ]
[ stationary Player ] [ FWinner2 ] -> [ Player ] [ FWinner3 ]
[ stationary Player ] [ FWinner1 ] -> [ Player ] [ FWinner2 ]
[ stationary Player ] [ FWinner0 ] -> [ Player ] [ FWinner1 ]
[ stationary Player ] [ PWinner3 ] -> [ Player ] [ PWinner0 ]
[ stationary Player ] [ PWinner2 ] -> [ Player ] [ PWinner3 ]
[ stationary Player ] [ PWinner1 ] -> [ Player ] [ PWinner2 ]
[ stationary Player ] [ PWinner0 ] -> [ Player ] [ PWinner1 ]
up [ RoombaU | RCollider ] -> [ RoombaD | RCollider ]
down [ RoombaD | RCollider ] -> [ RoombaU | RCollider ]
[ moving Player ] [ RoombaU ] -> [ moving Player ] [ Up RoombaU ]
[ moving Player ] [ RoombaD ] -> [ moving Player ] [ Down RoombaD ]
left [ RoombaL | RCollider ] -> [ RoombaR | RCollider ]
right [ RoombaR | RCollider ] -> [ RoombaL | RCollider ]
[ moving Player ] [ RoombaL ] -> [ moving Player ] [ Left RoombaL ]
[ moving Player ] [ RoombaR ] -> [ moving Player ] [ Right RoombaR ]
[ ^ Roomba | Fren ] -> [ ^ Roomba | ^ Fren ]
[ v Roomba | Fren ] -> [ v Roomba | v Fren ]
[ ^ Player | Fren ] -> [ ^ Player | ^ Fren ]
[ v Player | Fren ] -> [ v Player | v Fren ]
[ ^ Roomba | ClingyFren ] -> [ ^ Roomba | ^ ClingyFren ]
[ v Roomba | ClingyFren ] -> [ v Roomba | v ClingyFren ]
[ ^ Player | ClingyFren ] -> [ ^ Player | ^ ClingyFren ]
[ v Player | ClingyFren ] -> [ v Player | v ClingyFren ]
[ < Player | ClingyFren ] -> [ < Player | < ClingyFren ]
[ Enemy | ... | Player ] -> [ > Enemy | ... | Player ]
[ > Enemy | Player ] -> [ Enemy | ]
[ > Player | Spike ] -> [ Player | Spike ]
[ > Player | Pit ] -> [ Player | Pit ]
[ > Fren | Hole ] -> [ Fren | Hole ]
[ > ClingyFren | Hole ] -> [ ClingyFren | Hole ]
late [ Fren Pit ] -> [ BefriendedPit ]
[ > Fren | FrenWinner ] -> sfx0
[ > ClingyFren | FrenWinner ] -> sfx0
[ > Player | PlayerWinner ] -> sfx0
[ Player InstantWin ] -> win
late [ no Fren no ClingyFren no Player no Roomba Button0 ] [ Opendoor0 ] -> [ Button0 ] [ Door0 ]
late [ no Fren no ClingyFren no Player no Roomba Button0 ] [ Opendoor1 ] -> [ Button1 ] [ Door1 ]
late [ no Fren no ClingyFren no Player no Roomba Button0 ] [ Opendoor2 ] -> [ Button2 ] [ Door2 ]
late [ Fren Button0 ] [ Door0 ] -> [ Fren Button0 ] [ Opendoor0 ]
late [ Fren Button1 ] [ Door1 ] -> [ Fren Button1 ] [ Opendoor1 ]
late [ Fren Button2 ] [ Door2 ] -> [ Fren Button2 ] [ Opendoor2 ]
late [ ClingyFren Button0 ] [ Door0 ] -> [ ClingyFren Button0 ] [ Opendoor0 ]
late [ ClingyFren Button1 ] [ Door1 ] -> [ ClingyFren Button1 ] [ Opendoor1 ]
late [ ClingyFren Button2 ] [ Door2 ] -> [ ClingyFren Button2 ] [ Opendoor2 ]
late [ Player Button0 ] [ Door0 ] -> [ Player Button0 ] [ Opendoor0 ]
late [ Player Button1 ] [ Door1 ] -> [ Player Button1 ] [ Opendoor1 ]
late [ Player Button2 ] [ Door2 ] -> [ Player Button2 ] [ Opendoor2 ]
late [ Roomba Button0 ] [ Door0 ] -> [ Roomba Button0 ] [ Opendoor0 ]
late [ Roomba Button1 ] [ Door1 ] -> [ Roomba Button1 ] [ Opendoor1 ]
late [ Roomba Button2 ] [ Door2 ] -> [ Roomba Button2 ] [ Opendoor2 ]
=
WINCONDITIONS
=
all FWinny on Frens
all PWinny on Player
=
LEVELS
=
section # Prologue #
message "I woke up somewhere strange."
message "The walls are barren, the lights blinding white and the room empty."
message "Except something that seemed useless at first."
#########
#.....¤.#
#.p..¤*¤#
#.....¤%#
#########
section # Octant 1 #
message Septant 1 - "Friends Amidst Turmoil"
message "We were alone with no one except a familiar crate to cling onto."
message "They were our only companion in this deafeningly silent labyrinth, designed for even the most resillient of humanity to perish under their own insanity."
message "Can I do this?"
section Level 1-1
message Level 1-1 - "Hello Friend"
#########
#.......#
#.p.*.o.#
#.......#
#########
section Level 1-2
message Level 1-2 - "Cornering Crate"
#########
#.......#
#.*.....#
#.......#
######..#
#.......#
#.o.p...#
#.......#
#########
section Level 1-3
message Level 1-3 - "Snap"
########
o.#.....
*.......
p......#
########
section Level 1-4
message Level 1-4 - "Try to Speedrun This"
########
#..#...o
#......#
#...##.#
#.#....#
#..#..##
#.#...*#
p......#
########
section Level 1-5
message Level 1-5 - "Distanced"
..#..o..#.#*.
&.#.......#..
..#o.#.#.*#..
.*#.......#.&
.*#.#..*.p#&.
section Level 1-6
message Level 1-6 - "Sort In"
#######
#..#.o#
#....##
#*..#o#
#.**..#
##....#
#o.p.##
#######
section Level 1-7
message Level 1-7 - "Clover"
#####o..#
...*..#.#
.p..*.o.#
...*..#.#
#####o..#
section Level 1-8
message Level 1-8 - "Excluded"
#######
##.o..#
#..*..#
#o*p*##
#..*..#
##.o..#
#######
section Level 1-9
message Level 1-9 - "Unnecessary"
#########
##.....o#
#*.#*o.*#
#*.o*#.*#
#o..p..##
#########
section Level 1-10
message Level 1-10 - "Zig"
#...####
#p..#..#
#***o..#
#..o...#
#.o#.#.#
#......#
########
section # Octant 2 #
message Septant 2 - "Friends Amidst Trust"
message "After spending some time together, we advanced onwards towards the next section of this maze."
message "We discovered a scheme where we have to let go of each other to progress, to guide before to split."
message "And some of our companions were too afraid to make such faithful trust, clinging to us like leeches."
section Level 2-1
message Level 2-1 - "Incompatible"
####k####
#..#.#..#
#...*...#
#.......#
#...#...#
#...o...#
####p####
section Level 2-2
message Level 2-2 - "Cornered Crate"
#########
#.*.....#
#.k.....#
#.......#
######..#
#.......#
#.o.p...#
#.......#
#########
section Level 2-3
message Level 2-3 - "Leniency"
#########
#p..*#..#
##.....o#
#......##
#o.....##
#.##*..k#
#########
section Level 2-4
message Level 2-4 - "Pullaway"
########
#......#
#.###ok#
#......#
#..#####
#p....&#
########
section Level 2-5
message Level 2-5 - "Out of My Way"
..#o...o#&h
#&#*...*#.#
#.#.....#*#
h.#p&o.k#*.
section Level 2-6
message Level 2-6 - "Turn of Phrase"
#########
##....ok#
#.#....o#
#...#...#
#&p...#.#
#.&....##
#########
section Level 2-7
message Level 2-7 - "Border"
.########.
.#&.....k.
...&......
#...&....#
#....&...#
......&...
.p.....&#.
.########.
section Level 2-8
message Level 2-8 - "Included"
#######
#o.#..#
#..&..#
##&p&k#
#..&..#
#o.#..#
#######
section Level 2-9
message Level 2-9 - "Slander"
#o..##
#....#
#*&..#
#.*&.#
#..*&#
#....#
#k..p#
section Level 2-10
message Level 2-10 - "Zag"
#...####
#p..#..#
#&**k..#
#..o...#
#.o#.#.#
#o.....#
########
section # Octant 3 #
message Septant 3 - "Friends Amidst Barriers"
message "Every new crate felt like a new friend waiting to be told their story."
message "We were starting to gain a bearing towards this twisting maze."
message "However, they had anticipated this as our dear companions were blocked from following our lead."
section Level 3-1
message Level 3-1 - "File Size Limit"
######
#...##
#...o#
#...h#
###..#
#ph.*#
######
section Level 3-2
message Level 3-2 - "HOPO"
########
#o.....#
#*...h.#
#p.h...#
#*...h.#
#o.....#
########
section Level 3-3
message Level 3-3 - "Fitting In"
#######
#..h..#
#..h..#
#.##..o
#.##..#
#h##..#
#**...o
#p...##
#######
section Level 3-4
message Level 3-4 - "Electrical Lanes"
##ph*h.h.ho##
#h.h.h*hoh.h#
#h.h.hoh*h.h#
##khoh.h.h*##
section Level 3-5
message Level 3-5 - "
section Level 3-6
message Level 3-6 - "Just Swap Around"
#######
.......
h.&...o
&p.h.ok
h.&...o
.......
#######
section Level 3-7
message Level 3-7 - "Handholding"
##########
#..&....o#
#&p......#
#..&....o#
#...###..#
#.....h..#
#o.h.....#
##########
section Level 3-8
message Level 3-8 - "3x3"
h#h#h#h#h
#o.o.ok.#
h.h.h.hkh
#*.*.&.o#
h.h.h.h.h
#..*.*.o#
h.h.h.h.h
#p...*.o#
h#h#h#h#h
section Level 3-9
message Level 3-9 - "Surrounded"
###########
#o.......o#
#.h..*..h.#
#o..*.*..o#
#.h*.p.*h.#
#o..*.*..o#
#.h..*..h.#
#o.......o#
###########
section Level 3-10
message Level 3-10 - "Ohohohoho"
###########
#..*.p.*..#
#..*...*..#
#..hh*hh..#
#.........#
#h..#h#..h#
#.........#
#ohohohoho#
###########
section # Octant 4 #
message Septant 4 - "Friends Amidst Faith"
section Level 4-1
message Level 4-1 - "Hello (Second) Friend"
#########
#k......#
#o......#
######.a#
#*......#
#p......#
#########
section Level 4-2
message Level 4-2 - "Get Off"
#########
#...o...#
#...&...#
#...p...#
#.......#
#.......#
#...b...#
#########
section Level 4-3
message Level 4-3 - "Press Space to Wait"
(the level's title is self-explanatory lmao)
section Level 4-4
message Level 4-4 - "Press Z to Undo"
(player is lured to a trap where the crate is pushed by the roomba making it inaccessible, making them have to undo)
section Level 4-5
message Level 4-5 - "Press R to Restart"
(hehe, but also a level that combines the previous ideas to train the player)
section Level 4-6
message Level 4-6 - "Noclip"
(use the "if a roomba goes away from this tile in the next turn, the player can go there in next turn" mechanic)
section Level 4-10
message Level 4-10 - "What"
#######
#bb.bp#
#ab.ba#
#..a..#
#ab.aa#
#kb.bb#
#######
section # Octant 5 #
message Septant 5 - "Friends Amidst Enemies"
message "As we marched deeper into the bowels of this facility, we developed an affection towards our dear friend"
message "However, another lifeless being has greeted us."
message "With fiendly intents towards our great escape."
section Level 5-1
message Level 5-1 - "Sort Out"
######
#p...#
#.h..#
#.s..#
#*..o#
######
section Level 5-2
message Level 5-2 - "Human Life Limit"
######
#ss.##
#s...o
#.h.h#
#.#..#
#p#s*#
######
section Level 5-X
message Level 5-X - "Diamond Grid"
#########
#o..s..o#
#...*...#
#h.*p*.h#
#...*...#
#o..s..o#
#########
section # Octant 6 #
message Septant 6 - "Friends Amidst Loss"
message "The light in the facility had grown brighter, like the bond between us. Am I seeing things, or is my friend actually alive?"
message "Throughout all challenges we've faced, we've always been able to make it out together."
message "I am afraid of letting them go, yet I know they'll force me."
section Level 6-1
message Level 6-1 - "Trench"
#########
#...x...#
#.*.x.o.#
#...x...#
#.p.x.*.#
#...x...#
#########
section Level 6-2
message Level 6-2 - "Crate Loadout Division"
########
##.h####
#...*..#
#..#.h*#
#.p#.h.#
#..#h#h#
#....xx#
#.....*o
########
section Level 6-3
message Level 6-3 - "Swiss Floor"
########
#kox..*#
#o.....#
#x.hh..#
#phx...#
#&x..h*#
########
section # Octant 7 #
section # Octant 8 #
section # Finale #
message Finale - "Friends Amidst Friends"
message "After a long, perilous journey with many highs and lows."
message "We were finally on the home stretch, only having to endure one last challenge."
message "I can do this. We can. Together."
section Level F-1
message Level F-1 - "Helping Hand"
#######
#....o#
#....##
#p....#
#*...k#
#p...k#
#######
section Level F-2
message Level F-2 - "Dual Mirror"
#########
#p....h.#
#...h...#
#&h....o#
#########
#ps....o#
#...s...#
#&....s.#
#########
section Level F-3
message Level F-3 - "Hook"
##########
#*..##...#
#..sh....#
#p..s...p#
#...#h.ss#
#o..##.x*#
##########
section Level F-4
message Level F-4 - "Wall"
######
#p.oo#
#....#
#&**&#
#....#
#oo.p#
######
section Level F-5
message Level F-5 - "O.K."
#######
#k.p.o#
#.....#
#**.**#
#.....#
#o.p.k#
#######
section Level F-6
message Level F-6 - "Kopkxs"
############
k.xh...s.*..
op.s..h....p
k.xh...s.*..
############
section Level F-10
message Level F-10 - "K.O."
#######
#k.*.*#
#..p..#
#op.p*#
#..p..#
#o.o.k#
#######
section # The End #
message Haha funni story for ending
section # Credits #
message Credits - "Better Off Together"
message Constant: Game Designer, Puzzle Designer, 10% Programming
message Raz: 90% Programming, Sprite Animator, QA Playtester
message Prod: Programming Assistant, QA Playtester, MVP
message Dedicated to Prism Ghost for bonding us! This all wouldn't happen without you <3
message Special thanks to PuzzleScript for creating a beginner-friendly engine and allowing us to steal code. :P
message Thanks for playing our first game! :D
message ...unless...
section # Out of Bounds #
message Out of Bounds - "Friends Amidst Secrets"
section Level B-10
message Level B-10 - "Thanks for Playing"
*...........*
....oo.oo....
...o**o**o...
..o*..*..*o..
.o*.......*o.
..o*..p..*o..
...o*...*o...
....o*.*o....
.....o*o.....
......o......
*.....k.....*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment