Skip to content

Instantly share code, notes, and snippets.

@dario-zubovic
Created June 6, 2019 18:39
Show Gist options
  • Save dario-zubovic/da2e377efae8c1c169ff5b71ab8f227b to your computer and use it in GitHub Desktop.
Save dario-zubovic/da2e377efae8c1c169ff5b71ab8f227b to your computer and use it in GitHub Desktop.
rgb
title RGB Quest
author Dario Zubovic
homepage dario-zubovic.itch.io
again_interval 0.1
run_rules_on_level_start
background_color darkblue
level_select
continue_is_level_select
level_select_lock
level_select_unlocked_ahead 2
case_sensitive
(verbose_logging)
========
OBJECTS
========
Background
darkblue
Wall
Gray darkgray
00010
11111
01000
11111
00010
VPlatform
orange darkgreen gray
.121.
..1..
.....
.....
.....
VPlatformBg
orange darkgreen gray
2...2
.2.2.
.....
.....
.....
HPlatformL
orange darkgreen gray
.....
1....
21...
1....
.....
HPlatformLBg
orange darkgreen gray
2....
.2...
.....
.2...
2....
Player
White
.....
.....
.....
.....
.....
NRed
Red
00000
00.00
0...0
00.00
00000
PRed
Red Red
10001
00.00
0...0
00.00
10001
NBlue
Blue
00000
00.00
0...0
00.00
00000
PBlue
Blue Blue
10001
00.00
0...0
00.00
10001
NGreen
Green
00000
00.00
0...0
00.00
00000
PGreen
Green Green
10001
00.00
0...0
00.00
10001
NBlack
orange
00000
0...0
0...0
0...0
00000
PBlack
orange
00000
0...0
0...0
0...0
00000
RTarget
Red
.....
..0..
.000.
..0..
.....
GTarget
Green
.....
..0..
.000.
..0..
.....
BTarget
Blue
.....
..0..
.000.
..0..
.....
SelectionUL
yellow
0....
.....
.....
.....
.....
SelectionUR
yellow
....0
.....
.....
.....
.....
SelectionDL
yellow
.....
.....
.....
.....
0....
SelectionDR
yellow
.....
.....
.....
.....
....0
WasRed
transparent
WasGreen
transparent
WasBlue
transparent
WasBlack
transparent
USpike
White
.....
.....
..0..
.000.
00000
LSpike
White
....0
...00
..000
...00
....0
RSpike
White
0....
00...
000..
00...
0....
Zero 0
White transparent
10011
01101
01101
01101
10011
One 1
White transparent
10011
11011
11011
11011
10001
Two 2
White transparent
10011
11101
11011
10111
10001
Three 3
White Black
10011
11101
11011
11101
10011
Four 4
White transparent
10101
10101
10001
11101
11101
Five 5
White transparent
10001
10111
10011
11101
10011
Six 6
White transparent
11001
10111
10001
10110
11001
Seven 7
White transparent
10001
11101
11011
11011
11011
Eight 8
White transparent
11001
10110
11001
10110
11001
Nine 9
White transparent
11001
10110
11000
11110
11001
Slash /
White transparent
11110
11101
11011
10111
01111
Bg $
transparent
Moved
transparent
MoveR
transparent
MoveL
transparent
KillMove
transparent
Fall
transparent
KillFall
transparent
ConnectionU
transparent
ConnectionR
transparent
ConnectionD
transparent
ConnectionL
transparent
Tag1
transparent
Tag2
transparent
Tag3
transparent
Tag4
transparent
Wait
transparent
Againing
transparent
=======
LEGEND
=======
. = Background
# = Wall
^ = USpike
< = LSpike and VPlatform and VPlatformBg
> = RSpike and VPlatform and VPlatformBg
p = Player
r = PRed and Tag1
t = PRed and Tag2
y = PRed and Tag3
u = PRed and Tag4
g = NGreen and Tag1
h = NGreen and Tag2
j = NGreen and Tag3
k = NGreen and Tag4
c = NBlue and Tag1
v = NBlue and Tag2
b = NBlue and Tag3
n = NBlue and Tag4
x = NBlack
o = RTarget
l = GTarget
m = BTarget
- = VPlatform and VPlatformBg
_ = VPlatform and VPlatformBg and RTarget
+ = VPlatform and VPlatformBg and GTarget
| = HPlatformL and HPlatformLBg
┌ = HPlatformL and HPlatformLBg and VPlatform and VPlatformBg
Red = PRed or NRed
Blue = PBlue or NBlue
Green = PGreen or NGreen
Black = PBlack or NBlack
PCrate = PRed or PBlue or PGreen or PBlack
NCrate = NRed or NBlue or NGreen or NBlack
Crate = Red or Blue or Green or Black
PCrateNoBlack = PRed or PBlue or PGreen
Block = Crate or Wall
BlockNotR = Wall or Green or Blue or Black
BlockNotG = Wall or Red or Blue or Black
BlockNotB = Wall or Red or Green or Black
Was = WasRed or WasGreen or WasBlue or WasBlack
MoveRL = MoveR or MoveL
Spike = USpike or LSpike or RSpike
Target = RTarget or GTarget or BTarget
Numbers = 0 or 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9 or Slash or Bg
Tag = Tag1 or Tag2 or Tag3 or Tag4
Connection = ConnectionU or ConnectionR or ConnectionD or ConnectionL
Selection = SelectionUL or SelectionUR or SelectionDL or SelectionDR
w = One
q = Six
=======
SOUNDS
=======
sfx0 36772507
sfx1 36782547
sfx2 36792597
sfx5 4360107
sfx3 8895704
sfx4 6604307
endlevel 1042903
================
COLLISIONLAYERS
================
Background
Numbers
Player
Was, Wait
Moved, Againing
MoveRL, KillMove, Fall, KillFall
VPlatformBg
HPlatformLBg
Wall, Crate
VPlatform
HPlatformL
Spike
Target
Tag
ConnectionU
ConnectionR
ConnectionD
ConnectionL
SelectionUL
SelectionUR
SelectionDL
SelectionDR
======
RULES
======
vertical [> Player] -> cancel
( change selected color )
[Wait] -> []
[action Player] [PRed] [NGreen] -> [Player WasRed] [NRed] [NGreen] sfx4
[action Player] [PGreen] [NBlue] -> [Player WasGreen] [NGreen] [NBlue] sfx4
[action Player] [PBlue] [NBlack] -> [Player WasBlue] [NBlue] [NBlack] sfx4
[action Player] [PBlack] [NRed] -> [Player WasBlack] [NBlack] [NRed] sfx4
[action Player no Was] [NRed] -> [Player WasBlack] [NRed] sfx4
[action Player no Was] [NGreen] -> [Player WasRed] [NGreen] sfx4
[action Player no Was] [NBlue] -> [Player WasGreen] [NBlue] sfx4
[action Player no Was] [NBlack] -> [Player WasBlue] [NBlack] sfx4
[Was] [PRed] -> [Was] [NRed]
[Was] [PGreen] -> [Was] [NGreen]
[Was] [PBlue] -> [Was] [NBlue]
[Was] [PBlack] -> [Was] [NBlack]
[WasRed] [NGreen] -> [WasRed] [PGreen]
[WasGreen] [NBlue] -> [WasGreen] [PBlue]
[WasBlue] [NBlack] -> [WasBlue] [PBlack]
[WasBlack] [NRed] -> [WasBlack] [PRed]
[Was] -> [Wait] again nosave
( gravity )
down [Crate no Fall | no Block no VPlatform ] -> [Crate Fall | ]
[Red Fall | Red no Fall] -> [Red Fall | Red Fall]
[Green Fall | Green no Fall] -> [Green Fall | Green Fall]
[Blue Fall | Blue no Fall] -> [Blue Fall | Blue Fall]
down [Red Fall | BlockNotR ] -> [Red KillFall | BlockNotR ]
down [Green Fall | BlockNotG ] -> [Green KillFall | BlockNotG ]
down [Blue Fall | BlockNotB ] -> [Blue KillFall | BlockNotB ]
down [Fall | VPlatform] -> [KillFall | VPlatform]
[Red KillFall | Red Fall] -> [Red KillFall | Red KillFall]
[Green KillFall | Green Fall] -> [Green KillFall | Green KillFall]
[Blue KillFall | Blue Fall] -> [Blue KillFall | Blue KillFall]
[KillFall] -> []
down [Player] [Red Tag1 Fall] -> [Player Moved] [> Red > Tag1 > Fall]
+ rigid [moving Red | stationary Red] -> [moving Red | moving Red]
down [Player] [Red Tag2 Fall] -> [Player Moved] [> Red > Tag2 > Fall]
+ rigid [moving Red | stationary Red] -> [moving Red | moving Red]
down [Player] [Red Tag3 Fall] -> [Player Moved] [> Red > Tag3 > Fall]
+ rigid [moving Red | stationary Red] -> [moving Red | moving Red]
down [Player] [Red Tag4 Fall] -> [Player Moved] [> Red > Tag4 > Fall]
+ rigid [moving Red | stationary Red] -> [moving Red | moving Red]
down [Player] [Green Tag1 Fall] -> [Player Moved] [> Green > Tag1 > Fall]
+ rigid [moving Green | stationary Green] -> [moving Green | moving Green]
down [Player] [Green Tag2 Fall] -> [Player Moved] [> Green > Tag2 > Fall]
+ rigid [moving Green | stationary Green] -> [moving Green | moving Green]
down [Player] [Green Tag3 Fall] -> [Player Moved] [> Green > Tag3 > Fall]
+ rigid [moving Green | stationary Green] -> [moving Green | moving Green]
down [Player] [Green Tag4 Fall] -> [Player Moved] [> Green > Tag4 > Fall]
+ rigid [moving Green | stationary Green] -> [moving Green | moving Green]
down [Player] [Blue Tag1 Fall] -> [Player Moved] [> Blue > Tag1 > Fall]
+ rigid [moving Blue | stationary Blue] -> [moving Blue | moving Blue]
down [Player] [Blue Tag2 Fall] -> [Player Moved] [> Blue > Tag2 > Fall]
+ rigid [moving Blue | stationary Blue] -> [moving Blue | moving Blue]
down [Player] [Blue Tag3 Fall] -> [Player Moved] [> Blue > Tag3 > Fall]
+ rigid [moving Blue | stationary Blue] -> [moving Blue | moving Blue]
down [Player] [Blue Tag4 Fall] -> [Player Moved] [> Blue > Tag4 > Fall]
+ rigid [moving Blue | stationary Blue] -> [moving Blue | moving Blue]
down [Player] [Black Fall] -> [Player Moved] [> Black > Fall]
[Fall] -> []
( black movement )
right [> Player] [PBlack | no Wall no HPlatformL] -> [> Player > Moved] [> PBlack | ]
left [> Player] [PBlack no HPlatformL | no Wall] -> [> Player > Moved] [> PBlack | ]
right [> PBlack | Crate | no Block no HPlatformL ] -> [> PBlack | > Crate | ]
left [> PBlack | Crate no HPlatformL | no Block ] -> [> PBlack | > Crate | ]
horizontal [Moved] [> PBlack | Crate | Block ] -> [] [PBlack | Crate | Block]
right [Moved] [> PBlack | Crate | HPlatformL ] -> [] [PBlack | Crate | HPlatformL]
left [Moved] [> PBlack | Crate HPlatformL ] -> [] [PBlack | Crate HPlatformL]
[Moved] [right PBlack] -> sfx5
[Moved] [left PBlack] -> sfx5
( movement )
right [> Player] [PCrate no MoveR | no Block no HPlatformL ] -> [> Player] [PCrate MoveR | ]
left [> Player] [PCrate no MoveL no HPlatformL | no Block ] -> [> Player] [PCrate MoveL | ]
[PRed MoveRL | PRed no MoveRL] -> [PRed MoveRL | PRed MoveRL]
[PGreen MoveRL | PGreen no MoveRL] -> [PGreen MoveRL | PGreen MoveRL]
[PBlue MoveRL | PBlue no MoveRL] -> [PBlue MoveRL | PBlue MoveRL]
right [PRed MoveR | BlockNotR] -> [PRed KillMove | BlockNotR]
left [PRed MoveL | BlockNotR] -> [PRed KillMove | BlockNotR]
right [PGreen MoveR | BlockNotG] -> [PGreen KillMove | BlockNotG]
left [PGreen MoveL | BlockNotG] -> [PGreen KillMove | BlockNotG]
right [PBlue MoveR | BlockNotB] -> [PBlue KillMove | BlockNotB]
left [PBlue MoveL | BlockNotB] -> [PBlue KillMove | BlockNotB]
right [MoveR | HPlatformL] -> [KillMove | HPlatformL]
left [MoveL HPlatformL] -> [KillMove HPlatformL]
[PRed KillMove | PRed MoveRL] -> [PRed KillMove | PRed KillMove]
[PGreen KillMove | PGreen MoveRL] -> [PGreen KillMove | PGreen KillMove]
[PBlue KillMove | PBlue MoveRL] -> [PBlue KillMove | PBlue KillMove]
[KillMove] -> []
[Player] [PRed MoveRL] -> [Player Moved] [PRed MoveRL] sfx0
[Player] [PGreen MoveRL] -> [Player Moved] [PGreen MoveRL] sfx1
[Player] [PBlue MoveRL] -> [Player Moved] [PBlue MoveRL] sfx2
[> Player no Moved] -> [> Player] nosave
right [PCrateNoBlack MoveR no Connection | no Block no HPlatformL ] -> [> PCrateNoBlack | ]
left [PCrateNoBlack MoveL no Connection no HPlatformL | no Block ] -> [> PCrateNoBlack | ]
right [stationary PRed MoveR Tag1 Connection | no BlockNotR] -> [> PRed > Tag1 > Connection | ]
+ rigid [moving PRed | stationary PRed] -> [moving PRed | moving PRed]
right [stationary PRed MoveR Tag2 Connection | no BlockNotR] -> [> PRed > Tag2 > Connection | ]
+ rigid [moving PRed | stationary PRed] -> [moving PRed | moving PRed]
right [stationary PRed MoveR Tag3 Connection | no BlockNotR] -> [> PRed > Tag3 > Connection | ]
+ rigid [moving PRed | stationary PRed] -> [moving PRed | moving PRed]
right [stationary PRed MoveR Tag4 Connection | no BlockNotR] -> [> PRed > Tag4 > Connection | ]
+ rigid [moving PRed | stationary PRed] -> [moving PRed | moving PRed]
left [stationary PRed MoveL Tag1 Connection | no BlockNotR] -> [> PRed > Tag1 > Connection | ]
+ rigid [moving PRed | stationary PRed] -> [moving PRed | moving PRed]
left [stationary PRed MoveL Tag2 Connection | no BlockNotR] -> [> PRed > Tag2 > Connection | ]
+ rigid [moving PRed | stationary PRed] -> [moving PRed | moving PRed]
left [stationary PRed MoveL Tag3 Connection | no BlockNotR] -> [> PRed > Tag3 > Connection | ]
+ rigid [moving PRed | stationary PRed] -> [moving PRed | moving PRed]
left [stationary PRed MoveL Tag4 Connection | no BlockNotR] -> [> PRed > Tag4 > Connection | ]
+ rigid [moving PRed | stationary PRed] -> [moving PRed | moving PRed]
right [stationary PGreen MoveR Tag1 Connection | no BlockNotG] -> [> PGreen > Tag1 > Connection | ]
+ rigid [moving PGreen | stationary PGreen] -> [moving PGreen | moving PGreen]
right [stationary PGreen MoveR Tag2 Connection | no BlockNotG] -> [> PGreen > Tag2 > Connection | ]
+ rigid [moving PGreen | stationary PGreen] -> [moving PGreen | moving PGreen]
right [stationary PGreen MoveR Tag3 Connection | no BlockNotG] -> [> PGreen > Tag3 > Connection | ]
+ rigid [moving PGreen | stationary PGreen] -> [moving PGreen | moving PGreen]
right [stationary PGreen MoveR Tag4 Connection | no BlockNotG] -> [> PGreen > Tag4 > Connection | ]
+ rigid [moving PGreen | stationary PGreen] -> [moving PGreen | moving PGreen]
left [stationary PGreen MoveL Tag1 Connection | no BlockNotG] -> [> PGreen > Tag1 > Connection | ]
+ rigid [moving PGreen | stationary PGreen] -> [moving PGreen | moving PGreen]
left [stationary PGreen MoveL Tag2 Connection | no BlockNotG] -> [> PGreen > Tag2 > Connection | ]
+ rigid [moving PGreen | stationary PGreen] -> [moving PGreen | moving PGreen]
left [stationary PGreen MoveL Tag3 Connection | no BlockNotG] -> [> PGreen > Tag3 > Connection | ]
+ rigid [moving PGreen | stationary PGreen] -> [moving PGreen | moving PGreen]
left [stationary PGreen MoveL Tag4 Connection | no BlockNotG] -> [> PGreen > Tag4 > Connection | ]
+ rigid [moving PGreen | stationary PGreen] -> [moving PGreen | moving PGreen]
right [stationary PBlue MoveR Tag1 Connection | no BlockNotB] -> [> PBlue > Tag1 > Connection | ]
+ rigid [moving PBlue | stationary PBlue] -> [moving PBlue | moving PBlue]
right [stationary PBlue MoveR Tag2 Connection | no BlockNotB] -> [> PBlue > Tag2 > Connection | ]
+ rigid [moving PBlue | stationary PBlue] -> [moving PBlue | moving PBlue]
right [stationary PBlue MoveR Tag3 Connection | no BlockNotB] -> [> PBlue > Tag3 > Connection | ]
+ rigid [moving PBlue | stationary PBlue] -> [moving PBlue | moving PBlue]
right [stationary PBlue MoveR Tag4 Connection | no BlockNotB] -> [> PBlue > Tag4 > Connection | ]
+ rigid [moving PBlue | stationary PBlue] -> [moving PBlue | moving PBlue]
left [stationary PBlue MoveL Tag1 Connection | no BlockNotB] -> [> PBlue > Tag1 > Connection | ]
+ rigid [moving PBlue | stationary PBlue] -> [moving PBlue | moving PBlue]
left [stationary PBlue MoveL Tag2 Connection | no BlockNotB] -> [> PBlue > Tag2 > Connection | ]
+ rigid [moving PBlue | stationary PBlue] -> [moving PBlue | moving PBlue]
left [stationary PBlue MoveL Tag3 Connection | no BlockNotB] -> [> PBlue > Tag3 > Connection | ]
+ rigid [moving PBlue | stationary PBlue] -> [moving PBlue | moving PBlue]
left [stationary PBlue MoveL Tag4 Connection | no BlockNotB] -> [> PBlue > Tag4 > Connection | ]
+ rigid [moving PBlue | stationary PBlue] -> [moving PBlue | moving PBlue]
late [MoveRL] -> []
( spikes )
[Crate Tag Connection Spike] -> [Spike] again sfx3
[Crate Tag Spike] -> [Spike] again sfx3
( connections )
[> Crate Tag] -> [> Crate > Tag]
[> Crate Connection] -> [> Crate > Connection]
late [Connection] -> []
late up [Red no ConnectionU | Red ] -> [Red ConnectionU | Red ]
late right [Red no ConnectionR | Red ] -> [Red ConnectionR | Red ]
late down [Red no ConnectionD | Red ] -> [Red ConnectionD | Red ]
late left [Red no ConnectionL | Red ] -> [Red ConnectionL | Red ]
late up [Green no ConnectionU | Green ] -> [Green ConnectionU | Green ]
late right [Green no ConnectionR | Green ] -> [Green ConnectionR | Green ]
late down [Green no ConnectionD | Green ] -> [Green ConnectionD | Green ]
late left [Green no ConnectionL | Green ] -> [Green ConnectionL | Green ]
late up [Blue no ConnectionU | Blue ] -> [Blue ConnectionU | Blue ]
late right [Blue no ConnectionR | Blue ] -> [Blue ConnectionR | Blue ]
late down [Blue no ConnectionD | Blue ] -> [Blue ConnectionD | Blue ]
late left [Blue no ConnectionL | Blue ] -> [Blue ConnectionL | Blue ]
( selections )
[> Crate Selection] -> [> Crate > Selection]
late [Selection] -> []
late [PCrate no ConnectionU no ConnectionL] -> [PCrate SelectionUL]
late [PCrate no ConnectionU no ConnectionR] -> [PCrate SelectionUR]
late [PCrate no ConnectionD no ConnectionL] -> [PCrate SelectionDL]
late [PCrate no ConnectionD no ConnectionR] -> [PCrate SelectionDR]
( misc )
late [Againing] -> []
late [Moved] -> [Againing] again
==============
WINCONDITIONS
==============
All RTarget on Red
All GTarget on Green
All BTarget on Blue
No Againing
=======
LEVELS
=======
(
section 1/16 Box
############
#p.........#
#..........#
#..........#
#.......r..#
###...######
#..........#
#..........#
#..........#
#.......o..#
############
$$$$$$$$1/wq
section 2/16 Boxes
############
#p.........#
#..........#
#..........#
#t......r..#
###...######
#..........#
#..........#
#.......o..#
#..........#
############
$$$$$$$$2/wq
section 3/16 Spike
############
#p.........#
#t......r..#
###...######
#..........#
#..........#
######.....#
#..........#
#..........#
#.....^.o..#
############
$$$$$$$$3/wq
section 4/16 RGB
message Press X to change selected color
############
#p........b#
#t......r.g#
###...######
#..........#
#..........#
######.....#
#.......l..#
#.......o..#
#.....^.m..#
############
$$$$$$$$4/wq
section 5/16 Heap
############
#vp.......b#
#t......r.g#
###...######
#h.........#
#y.........#
######..o..#
#......om..#
#........l.#
#........l.#
############
$$$$$$$$5/wq
section 6/16 Tricky
############
#hp.......b#
#t......r.g#
###...######
#....oo....#
#....#.....#
#.####.....#
#..........#
#.....m....#
#....ll....#
############
$$$$$$$$6/wq
section 7/16 Platform
##########
#...v....#
#p..-g.u.#
#....y.h.#
#....--+-#
#rt......#
###......#
#........#
#........#
#........#
##########
$$$$$$7/wq
section 8/16 Tiny
#######
#p.ht.#
#.rbg.#
#.--_##
#...###
#######
$$$8/wq
section 9/16 Dips
#################
#p....nh........#
#.....gb........#
#r.------------.#
#--.............#
#...............#
#r.............o#
###...#####...###
###...#####...###
#################
$$$$$$$$$$$$$9/wq
section 10/16 Distance
#################
#p..............#
#..r..b.........#
#..----.........#
#t......o.......#
#g-..-.._.......#
#r............ml#
#############.###
#################
#################
$$$$$$$$$$$$10/wq
section 11/16 Float
#################
#..............p#
#...h.......t...#
#...b.......c...#
#..###.....###..#
#..#g#.....#r#..#
#y..+......._..j#
##u...........k##
###...........###
#################
$$$$$$$$$$$$11/wq
section 12/16 Slice
###########
#.........#
#t.......p#
#y.......c#
#h......-<#
#r...-----#
#g........#
#----.....#
#......|..#
#......|..#
#..o......#
#..o...|..#
###########
$$$$$$12/wq
section 13/16 Rearrange
###########
#rgc....p.#
#thv.....<#
#yjb......#
#ukn......#
#>-------.#
#.........#
#..-------#
#.........#
#.......oo#
#.---..#.##
#^...^^#.##
###########
$$$$$$13/wq)
section 14/16 Gap
###########
#.b.....p.#
#.x.......#
#gh.ro|.tm#
#----.----#
#.........#
#.........#
###########
$$$$$$14/wq
section 15/16 Split
###########
#.......p.#
#cr.......#
#xv..-...m#
#---...---#
#.┌----...#
#.|.......#
#o|......m#
###########
$$$$$$15/wq
section 16/16 Variation
###########
#.......p.#
#cr.......#
#xv..-...m#
#---...---#
#.┌----...#
#o|.......#
#.|......m#
###########
$$$$$$16/wq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment