Skip to content

Instantly share code, notes, and snippets.

@bastianlstrube
Created October 5, 2023 20:57
Show Gist options
  • Save bastianlstrube/80259acec97436a4f2d0332b7872d003 to your computer and use it in GitHub Desktop.
Save bastianlstrube/80259acec97436a4f2d0332b7872d003 to your computer and use it in GitHub Desktop.
Move It Along (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
(By Oscar Louw, Hans Frederik Jacobsen & Bastian L Strube)
(PRELUDE - set game options here)
title Move It Along
author Hans, Oscar & Bastian
background_color #0C090D (for game border and title screens)
text_color #F9C22E (for title screens)
(game rules)
zoomscreen 16x10 (camera follows the character)
(smoothscreen 16x10 3x10 0.05) (replace with line above if PuzzleScript+)
realtime_interval 0.17 (game rules update every 20ms instead of waiting for player input)
(player input options)
key_repeat_interval 0.17 (stops player from pressing the same key faster than the frame rate)
throttle_movement (stops player from moving faster than the frame rate)
norepeat_action (blocks player from pressing Action button more than once per frame)
run_rules_on_level_start (gravity, makes things fall to the ground when level starts)
(===============================================================================================)
========
OBJECTS
========
( = BACKGROUND ELEMENTS = )
Background (The default background sprite, appears behind everything)
#87857D #7f7976
00000
11111
11111
11111
00000
Outside (The colour of the night sky)
#22123E
( Train Tiles )
CarriageEndLeft
#595E61 #504D50 #22123E
00000
21110
21110
21110
00000
CarriageEndRight
#595E61 #504D50 #22123E
00000
01112
01112
01112
00000
CarriageRoof
#595E61 #504D50 #393835 #22123E
32223
22222
11111
11.11
00000
CarriageFloor
#595E61 #504D50
00000
11111
1.111
11111
00000
CarriageInterior ( Exterior really )
#4B443E #453D36 #583312
00000
11111
11111
11111
00000
InteriorArrowUp
#87857D #7f7976 #504D50
00000
11211
12121
21112
00000
InteriorArrowDown
#87857D #7f7976 #504D50
00000
21112
12121
11211
00000
CarriageConnector (the little walkway between carriages)
#8B837B #22123E
00000
10101
11111
11111
11111
Wheel
#8B837B #52514F #474748 #113822
02220
02220
02220
30203
11011
(Interior decoration - these have no gameplay function)
Crate
#645244 #795663
11111
10011
10101
11001
11111
SmallCrate
#645244 #795663
.....
.....
.111.
.101.
.111.
Scaffolding
#474748
.0.0.
.0.0.
..0..
.0.0.
.0.0.
( = GAMEPLAY ELEMENTS = )
( Teleporter )
TeleporterCrate (all packed up)
#99763F #BF9548 #EFF9F0
11111
10221
10101
11001
11111
Box
#645244 #a68b5a
11111
10011
10101
11001
11111
TeleporterActivated (when player is within 3 spaces)
#c9bebb #EFF9F0 #C226E2 #7E27B4
1...1
.232.
23132
.232.
10001
TeleporterDeactivated (when player not within 3 spaces)
#c9bebb #EFF9F0
1...1
.1.1.
.101.
.010.
01010
TPfx1
#7E27B4 #C226E2
..1..
..0..
01010
01110
.1.1.
TPfx2
#7E27B4 #C226E2
..1..
..0..
01010
01110
.1.1.
TPfx3
#69348a #a34cb5
..1..
..0..
.010.
.110.
.11..
TPfx4
#603e75 #9458a1
..1..
..0..
..0..
..1..
..1..
TPfx5
#603e75 #9458a1
.....
.....
..0..
.....
.....
TeleporterDestroyed (when the teleporter hits the tracks)
#c9bebb #EFF9F0 #52514F #22123E #113822
31333
22222
40214
01104
20101
TeleporterDestroyedWheel (when a wheel runs over it)
#8B837B #52514F #474748 #113822 #c9bebb #EFF9F0 #C226E2 #7E27B4
02220
72250
05620
30205
45561
TeleporterDust (crushed to bits)
#c9bebb #EFF9F0 #52514F #22123E #113822
33333
22222
44241
04204
21220
( Doors )
DoorClosed
#BB2E29 #393835
..0..
..0..
..01.
..0..
..0..
DoorOpen
#BB2E29 #393835
.000.
.0.0.
.100.
.000.
.000.
Target (entry door to next carriage)
#BB2E29 #22123E #4B443E #87857D #7f7976
10332
10442
10442
10442
10332
( Traversal objects )
Walkway
#52514F #393835
.....
.....
0..0.
0..0.
11111
MetalRoof
#393835 #595E61
11111
0...0
.....
.....
.....
MetalTube
#393835 #595E61
10.01
1...1
1...1
1...1
10.01
Hatch
#6e6d69 #52514F #22123E
22222
22222
22222
12212
00000
Ladder
#52514F #393835
0..0.
1111.
0..0.
1111.
0..0.
(Moving platforms / lifts)
LiftPlatform
#d49f2e #232224
.....
.....
0000.
0..0.
11111
LiftLever
#d49f2e #232224
.....
.....
...0.
...0.
...1.
( Magnet )
MagnetOn
#8f2f49 #d5e2e6 #d1713d
.111.
.002.
20202
.200.
.111.
MagnetOff
#594237 #d5e2e6 #b38a74
.111.
.002.
20202
.200.
.111.
MagnetRev
#3a429c #d5e2e6 #d1713d
.111.
.002.
20202
.200.
.111.
MagnetLeverUp
#8f2f49 #52514F #232224 #8B837B
..00.
100..
131..
121..
.....
MagnetLeverOff
#594237 #52514F #232224 #8B837B
.....
121..
13000
121..
.....
MagnetLeverDown
#3a429c #52514F #232224 #8B837B
.....
121..
131..
100..
..00.
( = CHARACTERS = )
(Player character sprites)
PlayerFront
#6B4D57 #3C91E6
..1..
..0..
01010
01110
.1.1.
PlayerLeft
#6B4D57 #3C91E6
.11..
..0..
01010
01110
.1.1.
PlayerRight
#6B4D57 #3C91E6
..11.
..0..
01010
01110
.1.1.
PlayerCrushed
#6B4D57 #3C91E6 #BB2E29
PlayerMagnetized
#6B4D57 #3C91E6 #BB2E29
11100
.112.
1101.
1....
.....
PlayerTracked (when you hit the tracks)
#6B4D57 #3C91E6 #52514F #22123E #113822
33000
11121
41004
11144
22000
PlayerRunOver (when a wheel runs over you)
#8B837B #52514F #474748 #113822 #6B4D57 #3C91E6 #BB2E29
02220
02220
02620
64264
45054
PlayerMush (wow that's dark)
#6B4D57 #3C91E6 #52514F #22123E #113822 #BB2E29
33333
52525
40211
50054
22222
(Your Boss, the train driver)
(built out of two tiles, head and body)
BossHead
#52514F #DDC8C4 #C226E2 #992228 #2D6123 #7d98a1
.....
.....
33...
333..
15...
BossBody (body)
#52514F #393835 #C226E2 #992228 #2D6123 #7d98a1
55...
44452
33..0
3.3.0
31311
BossHeadTurned (when he turns around to look at the damage you've done)
#52514F #DDC8C4 #C226E2 #992228 #2D6123 #7d98a1
.....
.....
.33..
333..
.51..
BossBodyTurned
#52514F #393835 #C226E2 #992228 #2D6123 #7d98a1
.55..
44442
43340
.3.30
31131
( = ANIMATED ELEMENTS = )
(Moving conveyor belts)
Conveyor1
#52514F #393835 #8B837B
..1.1
00000
02020
00000
1.1..
Conveyor2
#52514F #393835 #8B837B
1..1.
00000
02020
00000
.1..1
Conveyor3
#52514F #393835 #8B837B
.1..1
00000
02020
00000
1..1.
Conveyor4
#52514F #393835 #8B837B
1.1..
00000
02020
00000
..1.1
Conveyor5
#52514F #393835 #8B837B
.1.1.
00000
02020
00000
.1.1.
(Grass rolling by)
Grass1
#123E24 #113822
00000
01000
00010
00000
10000
Grass2
#123E24 #113822
00000
00010
01000
00000
00100
Grass3
#123E24 #113822
00000
10000
00010
00000
00001
Grass4
#123E24 #113822
00000
00100
10000
00000
01000
(Train tracks)
Track1
#52514F #22123E #113822
11111
00000
02222
02222
00000
Track2
#52514F #22123E #113822
11111
00000
22022
22022
00000
Track3
#52514F #22123E #113822
11111
00000
20222
20222
00000
Track4
#52514F #22123E #113822
11111
00000
22220
22220
00000
(Wind Lines for speed)
WindLine1
#EFF9F0 #22123E
11111
11111
10001
11111
11111
WindLine2
#EFF9F0
.....
.....
000..
.....
.....
WindLine3
#EFF9F0
.....
.....
00..0
.....
.....
WindLine4
#EFF9F0
.....
.....
0..00
.....
.....
Sound0
transparent
Sound1
transparent
Sound2
transparent
Sound3
transparent
Sound4
transparent
Sound5
transparent
Sound6
transparent
Sound7
transparent
Sound8
transparent
Sound9
transparent
AmbientSoundPlayer
transparent
Count0
transparent
Count1
transparent
Count2
transparent
Count3
transparent
Count4
transparent
Count5
transparent
Count6
transparent
Count7
transparent
Count8
transparent
Count9
transparent
( = HIDDEN VARIABLE OBJECTS = )
(these are used in some special rules to block messages from being shown twice, or to hold them)
(they do the same thing in opposite ways)
CrateMessageBlocker
transparent
LeverMessageHolder
transparent
XtoTeleportMessage
transparent
Freedom (secret ending)
transparent
(===============================================================================================)
=======
LEGEND
=======
(= Object Symbols =)
(Here we assign a unique letter for objects that we want to place in the level editor)
. = Background
, = Outside
P = PlayerFront
B = BossBody
u = BossHead
r = CarriageRoof
a = CarriageEndLeft
s = CarriageEndRight
f = CarriageFloor
z = CarriageConnector
C = CarriageInterior
y = InteriorArrowUp
h = InteriorArrowDown
# = Wheel
K = TeleporterCrate
T = TeleporterDeactivated
Q = Crate
j = SmallCrate
X = Scaffolding
4 = Box
E = DoorClosed
D = DoorOpen
O = Target
$ = Freedom
I = LiftLever
_ = LiftPlatform
¬ = MagnetLeverUp
€ = MagnetLeverOff
% = MagnetLeverDown
m = MagnetOn
0 = MagnetOff
n = MagnetRev
L = Ladder
W = Walkway
+ = Hatch
æ = MetalRoof
& = MetalRoof and Walkway
¤ = MetalTube
(animated elements, gotta be careful with these when editing levels because
the character has to be a specific object like Track1, not just Track [see Grpups below])
~ = WindLine1 and Outside
G = Grass1
- = Track1
* = Conveyor1
(hidden variable objects)
ø = LiftLever and LeverMessageHolder
å = SmallCrate and XtoTeleportMessage
! = AmbientSoundPlayer and Outside and Count0
( = GROUPS = )
( Here we create words that combine objects together.
This allows us to, for instance, check if the player is next to the "Teleporter", regardless of whether it is
currently the TeleporterActivated or TeleporterDeactivated states)
(Sounds)
Sound = Sound0 or Sound1 or Sound2 or Sound3 or Sound4 or Sound5 or Sound6 or Sound7 or Sound8 or Sound9
AmbientSound = Sound0 or Sound1 or Sound2 or Sound3 or Sound4 or Sound5
( Objects with multiple sprites / states)
Teleporter = TeleporterDeactivated or TeleporterActivated
Wall = CarriageRoof or CarriageFloor or CarriageInterior or CarriageEndLeft or CarriageEndRight or CarriageConnector or MagnetOn or MagnetOff or MagnetRev
Magnetlever = MagnetLeverUp or MagnetLeverDown or MagnetLeverOff
Boss = BossBody or BossHead or BossBodyTurned or BossHeadTurned
Decor = Crate or SmallCrate or InteriorArrowUp or InteriorArrowDown
Counter = Count0 or Count1 or Count2 or Count3 or Count4 or Count5 or Count6 or Count7 or Count8 or Count9
PlayerDead = PlayerTracked or PlayerCrushed or PlayerMagnetized or PlayerRunOver or PlayerMush
Player = PlayerLeft or PlayerFront or PlayerRight
(Animated objects with multiple frames)
Windline = WindLine1 or WindLine2 or WindLine3 or WindLine4
Conveyor = Conveyor1 or Conveyor2 or Conveyor3 or Conveyor4 or Conveyor5
Track = Track1 or Track2 or Track3 or Track4
Grass = Grass1 or Grass2 or Grass3 or Grass4
TPfx = TPfx1 or TPfx2 or TPfx3 or TPfx4 or TPfx5
(Objects grouped by some shared property here)
Falling = Teleporter or TeleporterCrate or Box or Crate or SmallCrate (Affected by gravity)
Liftable = Player or Teleporter or PlayerMagnetized or Box or TeleporterCrate (Can be pushed or lifted)
Magnetic = Player or Teleporter (Magnetic, attracted or repulsed by magnets)
TPCollider = Wall or Grass or Track or DoorClosed or Conveyor or Wheel or Box (Block teleportation)
Platform = LiftPlatform or Walkway or Hatch (Stop things falling below)
PlatformBlocker = Wall or WindLine or Track or Scaffolding (Stop moving platforms from passing through)
(===============================================================================================)
=======
SOUNDS
=======
(Sounds that play on game events)
startgame 29540908
startlevel 27414508
endlevel 6902908 (20292902) (57154108)
titlescreen 21405508
showmessage 28227508
Player move 48211707
Teleporter move 69984907
Teleporter action 98221308
Sound0 create 11792508 (tracks 1)
Sound1 create 69529508 (tracks 2)
Sound3 create 26347108 (tracks 3)
Sound4 create 82030308 (tracks 4)
Sound5 create 28908 (86603108) (56491308) (28908) (88613308) (72646108) (67682108) (47003108) (26436508) (76583308) (background train sound)
Sound9 create 15898508
(Sounds that we play in Rules below)
sfx0 63576507 ( Lift Operater )
sfx1 98221308 ( Teleport ) (98221308) (45545508) (17558303)
sfx2 70381302 ( Teleport Fail ) (61255908) (9707901) (86324103)
sfx3 86324902 ( Crate & Magnet crash ) (6665502) (49118702)
sfx4 18994302 ( Door Locked )
sfx5 53198909 ( Teleporter active ) (53198909) (2799903)
sfx6 58042102 ( Door open )
sfx7 41504902 ( Teleporter explode )
sfx8 94867908 ( Teleporter crush )
sfx9 78206504 ( Player Die )
sfx10 64468905 ( Magnetizing ) (65816305) (42058305) (old 18544103)
(warning 99470908) (66691108)
(ping 39007908)
(engine 78335708)
(fast train move 62266708)
(cool humming sound 77376508)
(===============================================================================================)
================
COLLISIONLAYERS
================
(Here we group objects into layers.
- Objects can never occupy the same tile as another object on the same layer.
- Objects on higher layers are drawn in front.
- The layer list goes from lowest to highest.)
Background (always needs its own layer)
CrateMessageBlocker, LeverMessageHolder, XtoTeleportMessage, Freedom (hidden variables)
(background layers)
Outside
Grass, DoorOpen, Ladder, Windline, Target, Scaffolding, Decor, Hatch, MagnetLever
(main gameplay layer)
Player, PlayerDead, PlayerRunOver, PlayerMush, Teleporter, Box, Wall, Wheel, Track, DoorClosed, Conveyor, TeleporterDestroyed, TeleporterDestroyedWheel, TeleporterDust, TeleporterCrate, Boss
(foreground layer)
Walkway
LiftPlatform, LiftLever
MetalRoof, MetalTube
TPfx
(Sound and other logic)
AmbientSoundPlayer
Sound
Counter
(===============================================================================================)
======
RULES
======
( Here we define all the rules for how the game plays.
- Rules are executed from top to bottom. This means you should generally put more specific rules higher up, and less specific rules lower down.
The general shape of a rule is as follows:
[ Condition ] -> [ Reaction ]
If all of the conditions are met, the reaction is executed
)
[ stationary Count0 ] -> [ action Count1 ]
[ stationary Count1 ] -> [ action Count2 ]
[ stationary Count2 ] -> [ action Count3 ]
[ stationary Count3 ] -> [ action Count4 ]
[ stationary Count4 ] -> [ action Count5 ]
[ stationary Count5 ] -> [ action Count6 ]
[ stationary Count6 ] -> [ action Count7 ]
[ stationary Count7 ] -> [ action Count8 ]
[ stationary Count8 ] -> [ action Count9 ]
[ stationary Count9 ] -> [ action Count0 ]
[ Sound ] -> []
([ AmbientSoundPlayer Counter no Sound4 ] -> [ AmbientSoundPlayer Counter Sound4 ])
([ AmbientSoundPlayer Count0 no Sound0 ] -> [ AmbientSoundPlayer Count0 Sound0 ])
[ AmbientSoundPlayer Count2 no Sound3 ] -> [ AmbientSoundPlayer Count4 Sound3 ]
[ AmbientSoundPlayer Count4 no Sound0 ] -> [ AmbientSoundPlayer Count4 Sound0 ]
[ AmbientSoundPlayer Count7 no Sound4 ] -> [ AmbientSoundPlayer Count9 Sound4 ]
[ AmbientSoundPlayer Count9 no Sound1 ] -> [ AmbientSoundPlayer Count9 Sound1 ]
([ AmbientSoundPlayer Count2 no Sound4 ] -> [ AmbientSoundPlayer Count2 Sound4 ]
[ AmbientSoundPlayer Count5 no Sound4 ] -> [ AmbientSoundPlayer Count5 Sound4 ]
[ AmbientSoundPlayer Count8 no Sound4 ] -> [ AmbientSoundPlayer Count8 Sound4 ])
([ AmbientSoundPlayer Count4 no Sound3 ] -> [ AmbientSoundPlayer Count4 Sound3 ])
[ AmbientSoundPlayer Count9 no Sound5 ] -> [ AmbientSoundPlayer Count9 Sound5 ]
( =====@@@@ LOGIC @@@@====== )
( Kill Player When Magnetized )
vertical [ MagnetOn | Player ] -> [ MagnetOn | < PlayerMagnetized ] sfx9
vertical [ MagnetOn |liftable| Player ] -> [ MagnetOn |liftable| < PlayerMagnetized ] sfx9
vertical [ MagnetOn |liftable|liftable| Player ] -> [ MagnetOn |liftable|liftable| < PlayerMagnetized ] sfx9
( = Player Animation =)
[left Player] -> [left PlayerLeft]
[right Player] -> [right PlayerRight]
( == LEVERS == )
(Placed here before no latters removes the UP press below)
(if the player moves UP while standing on a lever, and there's a lift platform that's not blocked above by a PlatformBlocker, move that lift UP & play a sound, except if there's metal roof in the way)
UP [ UP Player LiftLever ] [ LiftPlatform no MetalRoof | no PlatformBlocker ] -> [ UP Player LiftLever ] [ UP LiftPlatform | ] sfx0
DOWN [ DOWN Player LiftLever ] [ LiftPlatform | no PlatformBlocker no MetalRoof] -> [ DOWN Player LiftLever ] [ DOWN LiftPlatform | ] sfx0
( Turn Magnet between On, Off and Reverse going up and down )
[ UP Player MagnetLever ] [ MagnetOff ] -> [ UP Player MagnetLever ] [ MagnetOn ] sfx0
[ UP Player MagnetLever ] [ MagnetRev ] -> [ UP Player MagnetLever ] [ MagnetOff ] sfx0
[ DOWN Player MagnetLever ] [ MagnetOff ] -> [ DOWN Player MagnetLever ] [ MagnetRev ] sfx0
[ DOWN Player MagnetLever ] [ MagnetOn ] -> [ DOWN Player MagnetLever ] [ MagnetOff ] sfx0
( MagnetLever Sprite change )
[ UP Player MagnetLeverOff ] [Magnetlever] -> [ UP Player MagnetLeverUp ] [MagnetLeverUp]
[ UP Player MagnetLeverDown] [Magnetlever] -> [ UP Player MagnetLeverOff ] [MagnetLeverOff]
[ DOWN Player MagnetLeverOff ] [Magnetlever] -> [ DOWN Player MagnetLeverDown] [MagnetLeverDown]
[ DOWN Player MagnetLeverUp ] [Magnetlever] -> [ DOWN Player MagnetLeverOff ] [MagnetLeverOff]
( = GRAVITY = )
(Check if the object is stationary and on top of anything that will stop its descent,
then move it DOWN if that's true)
[stationary falling no Platform] -> [DOWN falling]
[stationary Player no Platform no Ladder no LiftLever no MagnetLever] -> [DOWN Player] (also check the player's on a LiftLever so they don't constantly press DOWN on them)
(
[stationary Teleporter no Platform] -> [DOWN Teleporter]
[stationary TeleporterCrate no Platform] -> [DOWN TeleporterCrate]
)
( stops crates falling through the ground (because they are on the background layer) )
DOWN [DOWN Crate | Wall] -> [ Crate | Wall]
DOWN [DOWN SmallCrate | Wall] -> [ SmallCrate | Wall]
( == CANCEL UP IF NO LADDER == )
[ UP Player no Ladder ] -> [ Player ] ( Block upward movement unless on a ladder )
( = MAGNETS = )
(Attraction, if the leading DOWN is removed, magnet is omnidirectional, "horizontal" and "vertical" works too)
vertical [ MagnetOn | Magnetic ] -> [ MagnetOn | < Magnetic ]
vertical [ MagnetOn || Magnetic ] -> [ MagnetOn || < Magnetic ] sfx3
vertical [ MagnetOn ||| Magnetic ] -> [ MagnetOn ||| < Magnetic ] sfx10
(Repulsion)
vertical [ MagnetRev | Magnetic ] -> [ MagnetRev | > Magnetic ] sfx10
vertical [ MagnetRev || Magnetic ] -> [ MagnetRev || > Magnetic ] sfx10
vertical [ MagnetRev ||| Magnetic ] -> [ MagnetRev ||| > Magnetic ] sfx10
( = LIFTS = )
(This part is complicated and barely works.)
( Platforms move other nearby Platforms )
[ UP LiftPlatform | stationary LiftPlatform ] -> [ UP LiftPlatform | UP LiftPlatform]
[ DOWN LiftPlatform | stationary LiftPlatform ] -> [ DOWN LiftPlatform | DOWN LiftPlatform]
( Lifts move Liftables )
[ UP LiftPlatform Liftable ] -> [ UP Liftable UP LiftPlatform ]
[ DOWN LiftPlatform Liftable ] -> [ DOWN Liftable DOWN LiftPlatform]
[ DOWN Liftable LiftPlatform ] -> [ Liftable LiftPlatform] (stop Liftable from falling if touching a lift)
( = CONVEYOR BELTS = )
(if a conveyor belt is below and the teleporter is trying to move down, move it to the right instead)
DOWN [ DOWN liftable | Conveyor ] -> [ RIGHT liftable | Conveyor ]
( = GENERAL MOVEMENT = )
(stop player from going through metalRoof)
DOWN [DOWN Player | MetalRoof ] -> [ Player | MetalRoof ]
(Stop player from going through metalTube)
horizontal [ > Player | MetalTube ] -> [ Player | MetalTube ]
( Pushing objects )
( objects moving towards others push them )
horizontal [ > liftable | liftable ] -> [ > liftable | > liftable ]
(objects push down on eachother as to push through platforms, except through metalroof)
DOWN [ > liftable | no MetalRoof no LiftPlatform liftable ] -> [ > liftable | > liftable ]
( Don't go through metal roofs )
UP [UP liftable MetalRoof ] -> [ liftable MetalRoof ]
DOWN [DOWN liftable | MetalRoof ] -> [ liftable | MetalRoof ]
( = DOORS = )
( Doors can only be opened by moving LEFT into them )
RIGHT [ RIGHT Player | DoorClosed ] -> [ Player | DoorClosed ] sfx4
LEFT [ LEFT Player | DoorClosed ] -> [ LEFT Player | DoorOpen ] sfx6
( = TELEPORT COLLIDER BLOCKING TELEPORTATION = )
(if the player is within 1, 2 and 3 tiles from a teleporter but a collider is oposite, disable the action button press and play a sound)
[ Action Player | Teleporter | TPCollider ] -> [ Player | Teleporter | TPCollider TPfx1 ] sfx2
[ Action Player || Teleporter || TPCollider ] -> [ Player || Teleporter || TPCollider TPfx1 ] sfx2
[ Action Player ||| Teleporter ||| TPCollider ] -> [ Player ||| Teleporter ||| TPCollider TPfx1 ] sfx2
( = TELEPORTATION = )
( if the player is within 1, 2 and 3 tiles of a teleporter, which has an empty space on its other side, swap the location of the player and the empty space )
[ Action Player | Teleporter | ] -> [ TPfx1 | Teleporter Sound3 | Player ] sfx1
[ Action Player || Teleporter || ] -> [ TPfx1 || Teleporter Sound3 || Player ] sfx1
[ Action Player ||| Teleporter ||| ] -> [ TPfx1 ||| Teleporter Sound3 ||| Player ] sfx1
( = Teleporter Activation and Deactivation = )
( each frame, change the teleporter from the activated sprite to the deactivated sprite)
[ TeleporterActivated] -> [ TeleporterDeactivated]
( Change teleporter to an active sprite when player is within 1, 2 and 3 tiles of it )
[ TeleporterDeactivated | player ] -> [ TeleporterActivated | player ] sfx5
[ TeleporterDeactivated || player ] -> [ TeleporterActivated || player ] sfx5
[ TeleporterDeactivated ||| player ] -> [ TeleporterActivated ||| player ] sfx5
(
( TP Destination Cursor )
[ player | TeleporterActivated | no tpfx] -> [player | TeleporterActivated | TPfx4 ]
[ player || TeleporterActivated || no tpfx] -> [player || TeleporterActivated || TPfx4 ]
[ player ||| TeleporterActivated ||| no tpfx] -> [player ||| TeleporterActivated ||| TPfx4 ]
)
( = ANIMATIONS = )
( Because rules execute in order, we put the frames in reverse. )
( This way, when we change from frame 3 to 4, the next line [2]->[3] won't execute because
we are already on frame 4. )
[ stationary TPfx5 ] -> [ ]
[ stationary TPfx4 ] -> [ action TPfx5 ]
[ stationary TPfx3 ] -> [ action TPfx4 ]
[ stationary TPfx2 ] -> [ action TPfx3 ]
[ stationary TPfx1 ] -> [ action TPfx2 ]
[ stationary Grass1 ] -> [ action Grass2 ] (if we're on the 3rd frame, go to the 4th)
[ stationary Grass2 ] -> [ action Grass3 ] (if we're on the 3rd frame, go to the 4th)
[ stationary Grass3 ] -> [ action Grass4 ] (if we're on the 3rd frame, go to the 4th)
[ stationary Grass4 ] -> [ action Grass1 ] (if we're on the 4th frame, reset to the 1st)
( Of course, the only exception to this is the first rule [4]->[1]. In this case, we end up
on frame 1 and then the last rule [1]->[2] executes, meaning we skip frame 1. )
( here is an attempt to fix that with a special "ConveyorLoop" object)
[ stationary Conveyor1 ] -> [ action Conveyor2 ]
[ stationary Conveyor2 ] -> [ action Conveyor3 ]
[ stationary Conveyor3 ] -> [ action Conveyor4 ]
[ stationary Conveyor4 ] -> [ action Conveyor5 ]
[ stationary Conveyor5 ] -> [ action Conveyor1 ]
[ stationary WindLine1 ] -> [ action WindLine2 ]
[ stationary WindLine2 ] -> [ action WindLine3 ]
[ stationary WindLine3 ] -> [ action WindLine4 ]
[ stationary WindLine4 ] -> [ action WindLine1 ]
[ stationary Track1 ] -> [ action Track2 ]
[ stationary Track2 ] -> [ action Track3 ]
[ stationary Track3 ] -> [ action Track4 ]
[ stationary Track4 ] -> [ action Track1 ]
( TeleporterCrate hits the CarriageFloor, change into a Teleporter and play a sound )
[ DOWN TeleporterCrate | CarriageFloor ] -> [ DOWN TeleporterDeactivated | CarriageFloor ] sfx3
( Deaths & Track Destructions )
DOWN [ DOWN Teleporter | Track ][ BossHead | Boss ] -> [ DOWN TeleporterDestroyed | ] [ BossHeadTurned | BossBodyTurned ]
DOWN [ DOWN Teleporter | Track ] -> [ DOWN TeleporterDestroyed | ] sfx7
LEFT [ stationary TeleporterDestroyed | Track ] -> [ Track1 | LEFT TeleporterDestroyed ]
LEFT [ stationary TeleporterDestroyed | Wheel ] -> [ Track1 | LEFT TeleporterDestroyedWheel ] sfx8
LEFT [ stationary TeleporterDestroyedWheel | Wheel ] -> [ Wheel | LEFT TeleporterDestroyedWheel ]
LEFT [ stationary TeleporterDestroyedWheel | Track ] -> [ Wheel | LEFT TeleporterDust ]
LEFT [ stationary TeleporterDust | Track ] -> [ Track1 | LEFT TeleporterDust ]
LEFT [ stationary TeleporterDust | Wheel ] -> [ Track1 | LEFT TeleporterDestroyedWheel ]
DOWN [ DOWN Player | Track ] -> [ DOWN PlayerTracked | ] sfx9
LEFT [ stationary PlayerTracked | Track ] -> [ Track1 | LEFT PlayerTracked ]
LEFT [ stationary PlayerTracked | Wheel ] -> [ Track1 | LEFT PlayerRunOver ] sfx10
LEFT [ stationary PlayerRunOver | Wheel ] -> [ Wheel | LEFT PlayerRunOver ]
LEFT [ stationary PlayerRunOver | Track ] -> [ Wheel | LEFT PlayerMush ]
LEFT [ stationary PlayerMush | Track ] -> [ Track1 | LEFT PlayerMush ]
LEFT [ stationary PlayerMush | Wheel ] -> [ Track1 | LEFT PlayerRunOver ]
( = MESSAGES = )
[ RIGHT Player Target ] -> [ Player Target ] message The teleporter Bernard! Move it up here, not yourself
( Add a hidden CrateMessageBlocker object to the crate after displaying the first message: )
[ > Player | TeleporterCrate no CrateMessageBlocker ] -> [ > Player | > TeleporterCrate CrateMessageBlocker ] message TRÉS FRAGILE. EXTREM ZERBRECHLICH. ETRE FRAGILA. Auxiliary teleportation unit. Handle with Care.
( When the crate moves, move the CrateMessageBlocker with it )
[ > TeleporterCrate CrateMessageBlocker ] -> [ > TeleporterCrate > CrateMessageBlocker ]
( When you touch the LeverMessageHolder, display a message and delete the LeverMessageHolder )
[ > Player | LeverMessageHolder ] -> [ > Player | ] message I remember the training video mentioned that the levers were build by unionized workers in Scandinavia. Rickety central-planned bullshit they said. Better keep janking them UP and DOWN.
( How To Teleport message before hitting door )
[ > Teleporter | XtoTeleportMessage ] -> [ > Teleporter | ] message X to Teleport.
( When you press the Action button on the boss as he's driving, he'll talk to you )
[ Action Player | BossBody ] -> [ Player | BossBody ] message SWEET MOTHER OF CHRIST I SEE THE WALLS OF AMAZONIA COMING UP ON THE HORIZON! IF WE DON’T TELE THROUGH THEM, WE’RE GROUND BEEF, NON VEGAN!
( The boss turns around when the player throws the teleporter overboard, this rule makes you win the level if you talk to him after that)
[ Action Player | BossBodyTurned ] -> [ Player | BossBodyTurned ] Win
[ PlayerTracked | Freedom ] -> [ | Freedom ] restart message Bernard squints and rubs his eyes. The light is blinding. A hand reaches out to him. He grabs it. While you may have lost, Bernard certainly wins.
(===============================================================================================)
==============
WINCONDITIONS
==============
ANY Teleporter ON Target ( You got the teleporter to a door! )
(===============================================================================================)
=======
LEVELS
=======
message RADIO: *KkzzzKKzz*.. Bernard. Bernard can you hear me?
message RADIO: Don’t look around like an idiot. I can see you as well you know. On the monitor.
message RADIO: I’m sorry Bernard. I’m all tense up here.
message RADIO: I see Bezos City up ahead. That means Wallmartia is up next.
message RADIO: *KkzzzKKzz*.. Listen Bernard. Bring that crate up here to the engine room. Right now!
( Level 1 - intro )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,
,,,,,,,,,,~~~~,,,,,,,,,rrrrrr,,,,~,,,,,,,,
,,,,,,,,~~~rrrrrrrrrrrrf..qjfrr,~,rrrrrrrr
,,,,,,,,,,,a......k......www..s,,~accccccc
,,,,,,,,~~,a...wwwwwww...x.x..s,,,accccccc
$,,,,,,,,,,aqjp.l...x...å...j..,,,occccccc
$,,,,,~~,~zaffffffffffffffffffszzzafffffff
$-----------#-#------------#-#------#-#---
gggggggggggggggggggggggggggggggggggggggggg
message RADIO: Are you on your way Bernard? I was actually lying about that monitor.
message RADIO: We’re going to need that teleport cell to make the scheduled trans-wall tele-jump into Amazonia.
message RADIO: Let me tell you Bernard, we don’t wanna miss that tele-jump. Time to be professionals.
message RADIO: Is the box safe? It’s crucial that you bring it here in one piece. Don’t open it!
message RADIO: It’s sealed for a reason. Direct contact to the cell makes you, strange.
( Level 2 - Lift and Lever Intro, now with Distance )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,~~~~~~,,,,,,,,,,,,,,,~,,,,~~~~,,,,,,,,
,,,,,,,~~,,,,,,~,,,,,,,,,,,,,,~~,,,,,,,
rrrrrr,,,rrrrrrrrrrrrrrrrrrrr,,,rrrrrrr
cccccs,,,a.....q..y.j.......s,~,acccccc
cccccs,,,a..j.ww.whwww......s,,,acccccc
cccccc,,,dptq.lø.._ffl.qj.j.e,,,occcccc
fffffszzzaffffffffffffffffffszzzaffffff
----------#-#--------------#------#-#--
ggggggggggggggggggggggggggggggggggggggg
message RADIO: I had this buddy Mike, he got in direct contact. At first he was fine, but then he kept asking these questions.
message RADIO: 'Why are we all here? Is the universe ultimately knowable? Are we living in a post-truth society?’
message RADIO: On and on. Couldn’t shut him up, Mike. Fruity questions if you ask me.
( Level 3 - Advanced Lifts and Conveyors Lesson 73)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,~~~~~~,,,,,,,,,,,,,,~~,,,,~~~~,,,,,,,,
,,,,,,,~~,,,,,,~,,rrrrrrrrr,,,~~,,,,,,,
rrrrrr,,,rrrrrrrrrfffffffffrr,,,rrrrrrr
cccccs,,,a...yff..ww...jw...s,~,acccccc
cccccs,,,a.jjh..iwww_fffl**.s,,,acccccc
cccccc,,,dptq.__ff.l.f.il..je,,,occcccc
fffffszzzaffffffffffffffffffszzzaffffff
----------#-#--------------#------#-#--
ggggggggggggggggggggggggggggggggggggggg
message RADIO: Are you moving it along Bernard?
( Level 4 - What's above us)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
rrrrrr,,,rrrrrrrrrrrrrrrrrrrr,,,rrrrrrr
cccccs,,,aff.....y.wwwwwww.fs,,,acccccc
cccccs,,,aff.....h..lfffl..fs,,,acccccc
cccccc,,,dpt..i..__jlffflq.ee,,,occcccc
fffffszzzaffffffffffffffffffszzzaffffff
----------#-#--------------#------#-#--
ggggggggggggggggggggggggggggggggggggggg
message RADIO: in-person teleporting removes your sanity, one jump at a time.
message RADIO: In between jumps, you are supposed to catch stolen glimpses of the infinite chasms between our perceived reality and the subatomic capital T TRUTH.
message RADIO: Heavy shit, no? It got to Mike. Gave me the creeps.
( Level 4.05 - Sturdy Tools )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,~~~~~~,,,,,,,,,,,,,,,~,,,,~~~~,,,,,,,,
,,,,,,,~~,,,,,,~,,,,,,,,,,,,,,~~,,,,,,,
rrrrrr,,,rrrrrrrrrrrrrrrrrrrr,,,rrrrrrr
cccccs,,,a.......y.......wwws,~,acccccc
cccccs,,,a..j.www.w.i....j.ls,,,acccccc
cccccc,,,dptq.l.._xfff.ææ4jle,,,occcccc
fffffszzzaffffffffffffffffffszzzaffffff
----------#-#--------------#------#-#--
ggggggggggggggggggggggggggggggggggggggg
( Level Intro the box)
( Level - Other side of the box)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,
,,,,,,,,,~,,,,,,+,,,,,,,,,~~~~,,,,,
rrrrrrr,~~rrrrrr4rrrrrrrrr,~,rrrrrr
ccccccs,,,a.....ww...j...s,,~accccc
ccccccs,,,a..ww.i........s,,,accccc
ccccccs,,,dpt.lææ_**.ææ..e,,,occccc
ffffffszzzaffffffffffffffszzzafffff
$--#-#-----#-#--------#-#-----#-#--
ggggggggggggggggggggggggggggggggggg
( Level - Packed Tight)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,
,,,,,,,,,~,,,,,,,,,,,,,,~~~rrrrrr
rrrrrrr,~~rrrrrrrrrrrrrr,~,accccc
ccccccs,,,aiww.4.......s,,~accccc
ccccccs,,,afwl.æ4..4ææ.s,,,accccc
ccccccs,,,dptl_fæ.æfæ..e,,,occccc
ffffffszzzaffffffffffffszzzafffff
$--#-#-----#-#------#-#-----#-#--
ggggggggggggggggggggggggggggggggg
( Level - Storage Inc)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,
,,,,,,,,,~rrrrrrrrrrrrrr,,,~,,,,,
rrrrrrr,~~ail4..4...4l.s,~,rrrrrr
ccccccs,,,aælææ.ææ.æælæs,,~accccc
ccccccs,,,a.l44.f._.4l.s,,,accccc
ccccccs,,,dptææ_fæ.ææl.e,,,occccc
ffffffszzzaffffffffffffszzzafffff
$-#-#------#-#------#-#------#-#-
ggggggggggggggggggggggggggggggggg
( Level 4.1 - Magnetic Introdution )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,+r+,,,,,~~~~,,,,,,,,
rrrrrrr,,~~~,,rrrfxfrrr,,,,,,~rrrrrrr
ccccccs,~~rrrrf...m...frrrr,~,acccccc
ccccccs,,,a..wwww...www¬..s,,~acccccc
ccccccs,,,a...l.......ff..s,,,acccccc
ccccccc,,,dpt.l.......xx..e,,,occcccc
ffffffszzzafffffffffffffffszzzaffffff
$-#-#------#-#---------#-#-------#-#-
ggggggggggggggggggggggggggggggggggggg
( Level 4.15 - Magnetic Aversion )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,
rrr,,,,,,~rrrrrrrrrrrrrr,,,~,,,,,
cccrrrr,~~a..wwwwwww...s,~,rrrrrr
ccccccs,,,a...l..xl....s,,~accccc
ccccccs,,,a...l..fl%...s,,,accccc
ccccccs,,,dpt.l..flæ...e,,,occccc
ffffffszzzafffffnfffnffszzzafffff
$-#-#------#-#------#-#------#-#-
ggggggggggggggggggggggggggggggggg
( Level 4.2 - Metal Floors)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,+r+
rrrrrrr,,~,,,,,,,,,+r+,,,,,~~~rrrccc
ccccccs,~~rrrrrrrrrfxfrrrrr,~,accccc
ccccccs,,,a....w€f..0.w€..s,,~accccc
ccccccs,,,a....læl.ww.læ.js,,,accccc
ccccccs,,,dptjq..l..xffæ..e,,,occccc
ffffffszzzafffffffffffffffszzzafffff
$--#-#-----#-#---------#-#-----#-#--
gggggggggggggggggggggggggggggggggggg
( Level 4.3 - Loop de Loop )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,~,,+r++,,,,,,,,,,,,,+r
rrr,,,,,,~rrrfxf.rrrrrr,,~rrrrcc
ccrrrrr,~~a...m.wwwwils,~,accccc
ccccccs,,,a¬wwwwww.ffls,,~accccc
ccccccs,,,afxl.fwf_fx.s,,,accccc
ccccccc,,,dptl...fffx.e,,,occccc
ffffffszzzafffffffffffszzzafffff
$-#-#------#-#-----#-#-----#-#--
gggggggggggggggggggggggggggggggg
( Level 4.4 - Magnet Range )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,,,,,,,,,,,,,+r+r+,,,,~~~,,,,,,
crrrrrr,,~rrrrfmfxfrrrr,,,~,,,,,
ccccccs,~~a......m....s,~,rrrrrr
ccccccs,,,a..¬..wwww..e,,,occccc
ccccccs,,,a.æææ...ælffszzzaccccc
ccccccs,,,dpt......l..e,,,accccc
ffffffszzzaffff***ffffszzzafffff
$-#-#------#-#-----#-#------#-#-
gggggggggggggggggggggggggggggggg
( Level 4.5 - From The Top )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,
,,,,,,,,,~,,,,rrrrrrrr,,,,,~~~~,,,,,
rrrrrrr,~~rrrrf.44.w¬frrrrr,~,rrrrrr
ccccccc,,,dptww.ææælff.jq.s,,~accccc
ccccccszzzaææ.l***wl...wwws,,,accccc
ccccccc,,,a...l..fyl....x.e,,,occccc
ffffffszzzafffffffmfffffffszzzafffff
$--#-#-----#-#---------#-#-----#-#--
gggggggggggggggggggggggggggggggggggg
( Level 5 - Type 3 Storage Packer Trolley Tumbler)
,,,,,,,,~~~,,,~~~,,,,,,,,,,,,,,,,,,,,,
~~,,,,,~,,,,,,,,,,,,+r+,,,~~~,,,,,,,,,
rrrrrr,,,,,,,,,,,,,,ams,,,,~,,~,,,,,,,
cccccs,,,rrrrrrrrrr,w.x,,+,r~~,rrrrrrr
cccccs,~~a...ff...frlyfff.fs,,,acccccc
cccccs,,,awww__wwww.lyf¬ww.s,,,acccccc
cccccc,,,dptx..fli..l_ffl..e,,,occcccc
fffffszzzafffffffffffffffffszzzaffffff
----------#-#-----------#-#-----#-#---
gggggggggggggggggggggggggggggggggggggg
message RADIO: *KKzzkkzzKK* Are you moving it along Bernard?
message RADIO: I won’t pretend I’m not getting worried. Amazonia is close. Those walls are no joke.
message RADIO: What kind of a name is Bernard anyway? Did your parents literally hate you?
message RADIO: Bernard.. Big B…. The Nard.
( Level 1.4 - Magnet CROSS)
,,,,,,,,,,,,,,,,,+r+,,,,,,,,,,,,,,,
,,,,,,,,,,rrrrrrrfxfrrrrrr~~~,,,,,,
rrrrrrr,,~a.wwwwxwxffwww.s,,,~,,,,,
ccccccs,~~a.l...ffm.x.fl.s,~,rrrrrr
ccccccs,,,ail.wwfw_wf&æl¬s,,~accccc
ccccccs,,,aff.lwfl.l.læææe,,,occccc
ccccccs,,,dpt.l....******szzzaccccc
ffffffszzzaffff***..fffffs,,,afffff
$-#-#------#-#--------#-#------#-#-
ggggggggggggggggggggggggggggggggggg
( Level Minimal Metal Floor CROSS)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,rrrrrrrrrrrrrrrr~~~,,,,,,
,,,,,,,,,~a.....iww_wwww.s,,,~,,,,,
rrrrrrr,~~a.....ffm.fwww.s,~,rrrrrr
ccccccs,,,a...w.ei..fl.¬.s,,~accccc
ccccccs,,,dpt.læææ_æwlææ.e,,,occccc
ffffffszzzaffff***wwwffffszzzafffff
$-#-#------#-#--------#-#------#-#-
ggggggggggggggggggggggggggggggggggg
( Level Magnet Metal CROSS)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,rrrrr,,,,,,,,,,,,,,
,,,,,,,,,,rrrrrrf...frrrrr~~~,,,,,,
,,,,,,,,,~a......www.....s,,,~,,,,,
rrrrrrr,~~a.....ffmlfwwwws,~,rrrrrr
ccccccs,,,a..ww.ei_lfl.¬.s,,~accccc
ccccccs,,,a..lfæ&&.&wl&f.s,,,accccc
ccccccs,,,dptlx.......le.e,,,occccc
ffffffszzzaffff***www*fffszzzafffff
$-#-#------#-#--------#-#------#-#-
ggggggggggggggggggggggggggggggggggg
( Level 6 - Magnetic Hydraulic Conveyor Tower Pump Carriage)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,rr,,,~~~~~,,,,,,,,,,
,,~~~~,,,,,~~~~,,,,aw++,,,,,,,,,,,,~~,,
~~,,,,,,,rr+,,+,,+,xl,,,,,+rr,~~~,rrr,,
rrrrrr,,,affff.fflfff.ffffffs,,,rrffd,,
cccccs,,,aff..yfwlwff...._ffs,,,acccffs
cccccs,,,dpt..yf.l.ff****.ffs,,,accccfs
cccccczzzaffff0f€li.e.......e,,,occccs,
ffffff,,,ffffffffffffffffffffzzzfffffsz
----------#-#--------------#-----#--#--
ggggggggggggggggggggggggggggggggggggggg
message RADIO: Alright. According to my expensive equipment, Amazonia is minutes away.
message RADIO: My life is in the hands of someone named Bernard.
( Level 7 - Coal Challenge )
,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,rrr,,,r
,,~~~~,,,,,,,ai+,,,o
~~,,,,~~~~rlfff.szza
rrrrrr,,,rfl..._s,,a
cccccs,,,a...***s,,,
cccccs,,,a..y.l.s,,,
cccccc,,,dpt_ilfs,,,
ffffffzzzffffffs,,,,
----------#---#-----
gggggggggggggggggggg
message RADIO: Are you moving it along?
message RADIO: Wait. I think I hear you!
message RADIO: Bernard, you crazy beautiful, son of a bitch!
( Level 8 - Locomotive )
,,,,,,,,,,,,,,,,,~~,,,,,,~,~~,,~~~,,,,,,,,
,,,,,,,,,,,~~rrr,,rrrrrrr,,,~,~~,as,,,,,,,
,~~~~~,,,,,,,ac+,,dpwT._s,,+r+,,,as,,,,,,,
~~,,,,,~~~rfffccszaf.ffhfr+ams+++ix+rrr,,,
rrrrrr,,,rfcccccs,aflif...ff.ffffff.f.xs,,
cccccs,,,accccccs,,alff**h.._..x.x..f.uxs,
cccccs,,,accccccs,,,l,aff**********w.wbs,,
cccccc,,,occcccfs,,,,,d.¬.x...x.ff...lf,,,
ffffffzzzffffffs,,,,,zaffffffffffff.fffr,,
----------#---#--------###----###----#----
gggggggggggggggggggggggggggggggggggggggggg
message Bernard. Tell me I didn’t just hear what I think I heard.
message Bernard. Talk to me. Talk to me Bernard. You know about the standard gaping hole in the engine room of the BXC-22 do you not?
message Bernard. Do you even talk Bernard? Do you even fucking talk? Are you some disgusting god-accursed mute?
message You know what. You’re fired. That’s right. Fired.
(
( Level Empty Carriage)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,
,,,,,,,,,~,,,,,,,,,,,,,,,,,~~~~,,,,,
rrrrrrr,~~rrrrrrrrrrrrrrrrr,~,rrrrrr
ccccccs,,,a...............s,,~accccc
ccccccs,,,a...............s,,,accccc
ccccccs,,,dpt.............e,,,occccc
ffffffszzzafffffffffffffffszzzafffff
$--#-#-----#-#---------#-#-----#-#--
gggggggggggggggggggggggggggggggggggg
( Level Empty Tall Carriage)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,
,,,,,,,,,~rrrrrrrrrrrrrr,,,~,,,,,
rrrrrrr,~~a............s,~,rrrrrr
ccccccs,,,a............s,,~accccc
ccccccs,,,a............s,,,accccc
ccccccs,,,dpt..........e,,,occccc
ffffffszzzaffffffffffffszzzafffff
$-#-#------#-#------#-#------#-#-
ggggggggggggggggggggggggggggggggg
(Work in Progress Levels, But mostly implemented in others)
( Level 1.1 Magnetic Introdution)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,
,,,,,,,,,~~~~,,rrrrrrrrr,,,,,,~,,,,,rr
rrrrrrr,~~rrrrrf...m...frrrr,~,rrrrrcc
ccccccs,,,a...wwww...www¬..s,,~acccccc
ccccccs,,,a....l.......ff..s,,,acccccc
ccccccs,,,dpt..l.......xx..e,,,occcccc
ffffffszzzaffffffffffffffffszzzaffffff
$-#-#------#-#----------#-#-------#-#-
gggggggggggggggggggggggggggggggggggggg
( Level 1.2 TP Tub )
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,,,,,
rrr,,,,,,~~~~,,rrrrrrrrr,,,,,,~rrrrrrr
cccrrrr,~~rrrrrf...m...frrrr,~,acccccc
ccccccs,,,a....ww....¬ww...s,,~acccccc
ccccccs,,,a....lffwwwffl...s,,,acccccc
ccccccs,,,dpt..lxx...xxl...e,,,occcccc
ffffffszzzaffffffffffffffffszzzaffffff
$-#-#------#-#----------#-#------#-#--
gggggggggggggggggggggggggggggggggggggg
( Level 1.3 Full Funhouse)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,~~~~,,,,,,
rrr,,,,,,~rrrrrrrrrrrrrr,,~rrrrrr
cccrrrr,~~a...mxixwwww.s,~,accccc
ccccccs,,,awww.fffw....s,,~accccc
ccccccs,,,a..lwwwww_ff.s,,,accccc
ccccccs,,,dptlx¬f..lfx.e,,,occccc
ffffffszzzaffffffffffffszzzafffff
$-#-#-------#-#-----#-#-----#-#--
ggggggggggggggggggggggggggggggggg
( Level 1.3 Boxed In)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,~,,,,,+,,,,,,,~~~~,,,,
rrrrrrr,,~rrrrrr.rrrrrr,,,rrrrrr
ccccccs,~~a...m.wwwwils,~,accccc
ccccccs,,,a¬wwwwww.ffls,,~accccc
ccccccs,,,afxl.fwf_fx.s,,,accccc
ccccccs,,,dptl...fffx.e,,,occccc
ffffffszzzafffffffffffszzzafffff
$-#-#------#-#-----#-#-----#-#--
gggggggggggggggggggggggggggggggg
( Level 1.35 Magnet Range)
!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,rrrrrrrrrrrrrr~~~,,,,,,
,,,,,,,,,~a....m.x.....s,,,~,,,,,
rrrrrrr,~~a......m.....s,~,rrrrrr
ccccccs,,,a..¬.....w...s,,~accccc
ccccccs,,,a.æææ...ælææ.s,,,accccc
ccccccs,,,dpt......l...e,,,occccc
ffffffszzzaffff***fffffszzzafffff
$-#-#------#-#------#-#------#-#-
ggggggggggggggggggggggggggggggggg
( Level 1.4 Magnet CROSS)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,rrrrrrrrrrrrrrrr~~~,,,,,,
rrrrrrr,,~a.wwwwxwwffwww.s,,,~,,,,,
ccccccs,~~a.l...ffm.x.fl.s,~,rrrrrr
ccccccs,,,ail.wwfw_wf&æl¬s,,~accccc
ccccccs,,,aff.lwfl.l.lfffs,,,accccc
ccccccs,,,dpt.l....*.....e,,,occccc
ffffffszzzaffff***..*ffffszzzafffff
$-#-#------#-#--------#-#------#-#-
ggggggggggggggggggggggggggggggggggg
( Level Magnet Metal CROSS)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,rrrrr,,,,,,,,,,,,,,
,,,,,,,,,,rrrrrrf...frrrrr~~~,,,,,,
,,,,,,,,,~awi....www.....s,,,~,,,,,
rrrrrrr,~~alf...ffmlfwwwws,~,rrrrrr
ccccccs,,,alfww.ei_l.l.i.s,,~accccc
ccccccs,,,al.lfæ&&.&wl&f.s,,,accccc
ccccccs,,,dptlx.......le.e,,,occccc
ffffffszzzaffff***ww**fffszzzafffff
$-#-#------#-#--------#-#------#-#-
ggggggggggggggggggggggggggggggggggg
( Level Minimal Metal Floor CROSS)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,rrrrrrrrrrrrrrrr~~~,,,,,,
,,,,,,,,,~a......www_....s,,,~,,,,,
rrrrrrr,~~a.....ffml.www.s,~,rrrrrr
ccccccs,,,a..ww.ei.l.l.¬.s,,~accccc
ccccccs,,,dptlxæææ_æwæææ.e,,,occccc
ffffffszzzaffff***&wwffffszzzafffff
$-#-#------#-#--------#-#------#-#-
ggggggggggggggggggggggggggggggggggg
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment