Skip to content

Instantly share code, notes, and snippets.

@dario-zubovic
Created May 30, 2019 15:44
Show Gist options
  • Save dario-zubovic/4520eedba957293dde46ded354f3126f to your computer and use it in GitHub Desktop.
Save dario-zubovic/4520eedba957293dde46ded354f3126f to your computer and use it in GitHub Desktop.
RGB Quest WIP
title RGB Quest WIP
author Dario Zubovic
homepage dario-zubovic.itch.io
again_interval 0.1
run_rules_on_level_start
(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
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
USpike
White
.....
.....
..0..
.000.
00000
LSpike
White
....0
...00
..000
...00
....0
RSpike
White
0....
00...
000..
00...
0....
Zero 0
White Black
10011
01101
01101
01101
10011
One 1
White Black
10011
11011
11011
11011
10001
Two 2
White Black
10011
11101
11011
10111
10001
Three 3
White Black
10011
11101
11011
11101
10011
Four 4
White Black
10101
10101
10001
11101
11101
Five 5
White Black
10001
10111
10011
11101
10011
Six 6
White Black
11001
10111
10001
10110
11001
Seven 7
White Black
10001
11101
11011
11011
11011
Eight 8
White Black
11001
10110
11001
10110
11001
Nine 9
White Black
11001
10110
11000
11110
11001
Slash /
White Black
11110
11101
11011
10111
01111
LetterC !
White black
00001
01111
01111
01111
00001
LetterH @
White black
01111
01111
00001
01101
01101
Dot ~
white black
11111
11111
11111
11111
01111
Black $
black
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
=======
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
o = RTarget
l = GTarget
m = BTarget
- = VPlatform and VPlatformBg
_ = VPlatform and VPlatformBg and RTarget
+ = VPlatform and VPlatformBg and GTarget
| = HPlatformL and HPlatformLBg
Red = PRed or NRed
Blue = PBlue or NBlue
Green = PGreen or NGreen
PCrate = PRed or PBlue or PGreen
NCrate = NRed or NBlue or NGreen
Crate = Red or Blue or Green
Block = Crate or Wall
BlockNotR = Wall or Green or Blue
BlockNotG = Wall or Red or Blue
BlockNotB = Wall or Red or Green
Was = WasRed or WasGreen or WasBlue
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 Black or LetterC or LetterH or Dot
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 = Three
=======
SOUNDS
=======
sfx0 36772507
sfx1 36782547
sfx2 36792597
sfx3 8895704
sfx4 6604307
endlevel 1042903
================
COLLISIONLAYERS
================
Background
Numbers
Player
Was, Wait
Moved
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] [NRed] -> [Player WasBlue] [NBlue] [NRed] sfx4
[action Player no Was] [NRed] -> [Player WasBlue] [NRed] sfx4
[action Player no Was] [NGreen] -> [Player WasRed] [NGreen] sfx4
[action Player no Was] [NBlue] -> [Player WasGreen] [NBlue] sfx4
[Was] [PRed] -> [Was] [NRed]
[Was] [PGreen] -> [Was] [NGreen]
[Was] [PBlue] -> [Was] [NBlue]
[WasRed] [NGreen] -> [WasRed] [PGreen]
[WasGreen] [NBlue] -> [WasGreen] [PBlue]
[WasBlue] [NRed] -> [WasBlue] [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]
[Fall] -> []
( 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 [PCrate MoveR no Connection | no Block no HPlatformL ] -> [> PCrate | ]
left [PCrate MoveL no Connection no HPlatformL | no Block ] -> [> PCrate | ]
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 [Moved] -> [] again
==============
WINCONDITIONS
==============
All RTarget on Red
All GTarget on Green
All BTarget on Blue
=======
LEVELS
=======
############
#p.........#
#..........#
#..........#
#.......r..#
###...######
#..........#
#..........#
#..........#
#.......o..#
############
$$$$$$$$1/wq
############
#p.........#
#..........#
#..........#
#t......r..#
###...######
#..........#
#..........#
#.......o..#
#..........#
############
$$$$$$$$2/wq
############
#p.........#
#t......r..#
###...######
#..........#
#..........#
######.....#
#..........#
#..........#
#.....^.o..#
############
$$$$$$$$3/wq
message Press X to change selected color
############
#p........b#
#t......r.g#
###...######
#..........#
#..........#
######.....#
#.......l..#
#.......o..#
#.....^.m..#
############
$$$$$$$$4/wq
############
#vp.......b#
#t......r.g#
###...######
#h.........#
#y.........#
######..o..#
#......om..#
#........l.#
#........l.#
############
$$$$$$$$5/wq
############
#hp.......b#
#t......r.g#
###...######
#....oo....#
#....#.....#
#.####.....#
#..........#
#.....m....#
#....ll....#
############
$$$$$$$$6/wq
##########
#p..vg.u.#
#...-y.h.#
#....--+-#
#rto.....#
###......#
#........#
#........#
#........#
#........#
##########
$$$$$$7/wq
#######
#p.ht.#
#.rbg.#
#.--_##
#...###
#######
$$$8/wq
#################
#p....nh........#
#.....gb........#
#r.------------.#
#--.............#
#...............#
#r.............o#
###...#####...###
###...#####...###
#################
$$$$$$$$$$$$$9/wq
#################
#p..............#
#..r..b.........#
#..----.........#
#t......o.......#
#g-..-.._.......#
#r............ml#
#############.###
#################
#################
$$$$$$$$$$$$10/wq
#################
#..............p#
#...h.......t...#
#...b.......c...#
#..###.....###..#
#..#g#.....#r#..#
#y..+......._..j#
##u...........k##
###...........###
#################
$$$$$$$$$$$$11/wq
###########
#.........#
#t.......p#
#y.......c#
#h......-<#
#r...-----#
#g........#
#----.....#
#......|..#
#......|..#
#..o......#
#..o...|..#
###########
$$$$$$12/wq
###########
#rgc....p.#
#thv.....<#
#yjb......#
#ukn......#
#>-------.#
#.........#
#..-------#
#.........#
#......loo#
#.---..#.##
#^...^^#.##
###########
$$$$$$13/wq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment