Skip to content

Instantly share code, notes, and snippets.

@ChrisLHall
Last active June 12, 2019 22:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ChrisLHall/d78f45cb08d18b161c2585c7a21490b8 to your computer and use it in GitHub Desktop.
Save ChrisLHall/d78f45cb08d18b161c2585c7a21490b8 to your computer and use it in GitHub Desktop.
Snapshot of the source code for my puzzle script game, The Waters
title The Waters v1.3
author Chris L. Hall
homepage chrislhall.net
========
OBJECTS
========
Background
darkblue darkgreen
10110
10101
11110
10101
01011
Hwater
blue darkblue
11100
01011
11111
01101
10011
Vwater
blue darkblue
10101
01011
10101
11010
10101
TempHWater
red
TempVWater
red
Target
pink black
00000
01110
01110
00100
01010
Wall
green darkbrown
00000
01001
11111
11111
11111
PlayerWalk
transparent pink
00000
01110
01110
00100
01010
PlayerJump
transparent pink
01010
01110
00100
01010
00000
PlayerJumpEnd
red
Crate
orange black
00000
01100
01010
00110
00000
Boat
transparent white gray
00200
00220
00200
11111
01110
Seed
transparent brown
00000
00000
00100
01110
00100
Plant
transparent green
00100
10100
01101
00110
00100
TempPlant
red
Grate
gray transparent
01010
10101
01010
10101
01010
Ladder
transparent darkgray
01010
01110
01010
01110
01010
Debug
black yellow
01010
10101
01010
10101
01010
=======
LEGEND
=======
. = Background
# = Wall
P = PlayerWalk
T = Target
C = Crate
W = Hwater
I = Vwater
G = Grate
L = Ladder
S = Seed
B = Boat
Water = Hwater or Vwater
TempWater = TempHWater or TempVWater
Player = PlayerWalk or PlayerJump or PlayerJumpEnd
Pushable = Crate or Seed
StopWater = Crate or Wall
StopPlayer = Pushable or Grate or Wall or Boat
ClimbPlayer = Water or TempWater or Plant or Ladder
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Water, TempWater
Target, Plant, TempPlant
Ladder
Player, Wall, Pushable, Grate, Boat
Debug
======
RULES
======
horizontal [> Player | Pushable] -> [> Player | > Pushable]
horizontal [> Player | Boat] -> [> Player | > Boat]
down [Pushable | no StopPlayer] -> [ > Pushable | no StopPlayer]
down [Boat | no StopPlayer no Water] -> [ > Boat | no StopPlayer no Water]
( don't let jumping players jump again )
up [ > PlayerJump ] -> [ PlayerJump ]
(stop jump)
[PlayerJump] -> [PlayerJumpEnd]
( handle normal jump ) (TODO TEST added the no ClimbPlayer next to playerwalk and removed it next to stopplayer...make sure that works.)
up [stationary StopPlayer | > PlayerWalk no ClimbPlayer| no StopPlayer] -> [stationary StopPlayer | > PlayerJump no ClimbPlayer| no StopPlayer]
(if you did not jump and there's no climb player on you...tough)
up [ > PlayerWalk no ClimbPlayer ] -> [ PlayerWalk no ClimbPlayer ]
( fall )
down [ PlayerWalk no ClimbPlayer | no StopPlayer no ClimbPlayer ] -> [ > PlayerWalk no ClimbPlayer | no StopPlayer no ClimbPlayer ]
( pilot the boat )
down [ horizontal Player | Boat | Water] -> [ horizontal Player | horizontal Boat | Water]
up [Boat Water] -> [> Boat Water]
up [Plant | no Stopwater no Target] -> [Plant | TempPlant no Stopwater no Target ]
[Seed Water] -> [TempPlant Water]
down [Water | no Stopwater no Water no TempWater] -> [Water | TempVWater]
down [Vwater | StopWater] -> [TempHWater | StopWater] (has to )
horizontal [Hwater | no Stopwater no Water no TempWater] -> [Hwater | TempVWater]
down [TempHWater | no Stopwater no Water no TempWater] -> [Vwater | no Stopwater no Water no TempWater]
late [TempHWater] -> [Hwater]
late [TempVWater] -> [Vwater]
late [Water Crate] -> [Crate]
late [PlayerJumpEnd] -> [PlayerWalk]
late [TempPlant] -> [Plant]
==============
WINCONDITIONS
==============
All Target on Player
=======
LEVELS
=======
message move around
(first start by introducing movement)
######
#....#
#....#
#P..T#
######
##########
#........#
#........#
#....#...#
#...##...#
#P.###..T#
##########
##########
#........#
#...L#...#
#...L#...#
#...L#...#
#P..L#..T#
##########
(introduce crates briefly)
##########
#.C......#
#L##.....#
#L......T#
#L.....###
#L...P.###
##########
##########
#........#
#........#
#........#
#....C...#
#P...#..T#
##########
message get your feet wet
(introduce water and grates)
###########
#I........#
#.........#
#......T..#
#.C...##..#
####P.....#
###########
##W########
#.C.LG....#
####LG....#
#...LGT...#
#...LG....#
#L#######.#
#L........#
#L...P....#
###########
#############
#I..........#
#...........#
#..........T#
#.PGG..C...##
#####.####..#
#...#G#.....#
#...........#
#############
(this level fkn sucks)
(
###########
#......P..#
#......C.W#
#.....#####
#.........#
#...#.#...#
#.#.....#.#
#.##.#.##.#
#...G.G...#
#......T..#
#.........#
#.........#
####G#G####
)
message press space to wait
##########
#W......T#
#######.##
#.....#.##
#.....#.##
#.....#P##
##########
message sail away
(introduce boats)
###########
#........T#
#P......###
####B...###
####WWWW###
####WWWW###
###########
##############
#............#
#...........T#
#...........L#
#W..C.PL....L#
###.###L.....#
#####..L.....#
#......L..B..#
##############
################
#P#....#......##
#W#WWWW#WWWW#.T#
#W#WWWWWWWWW#.##
#W#WWWWWWWWW#.##
#W###W###W######
#WWWWI.B.IWWWWW#
#WWWWW###WWWWWW#
#WWWWWWWWWWWWWW#
#WWWWWWWWWWWWWW#
################
#############
#T..........#
#...........#
#...........#
#W....P.....#
###########.#
#...........#
#...........#
#...........#
#.###########
#...........#
#...........#
#......B....#
#############
message grow
(introduce seeds)
##########
#T.......#
#####LLL.#
#......L.#
#........#
#P.S.....#
#######W##
############
#WWWPWWI...#
#######....#
#.T........#
#..........#
#..........#
#..........#
###..S...C.#
#######G####
#############
#T..........#
#....s......#
#...###....IW
#.....s...CW#
#P..#########
#############
message get to work. if you get frustrated, you can always stop and come back later.
#######
#..S..T
#..#..#
WI.P..#
#WIC..#
##IB..#
##G####
#################
#..........C....#
#...###...###...#
#...#I#.........#
#....C.........T#
#....##L.......##
#..............##
#...P.....S.C..##
#################
##############
#....C.C.....#
#...##.##....#
#.P###.##...T#
#.####.##.####
#.####.##.####
#.####.##.####
#.####.##.####
##############
#################
#..........C....#
#.#######.####L##
#....###......L.#
#....###...T..L.#
#....####..#..L.#
#P.B.......#..L.#
####.....###..L.#
#WWWWWWWWWWWWWWW#
#################
message so far so good. don't forget to take a break if you need to.
##############
#....T...I...#
#........I...#
#L.......I...#
#L.B.....I...#
#LWWWWWWWWC.P#
##############
##I#######C##
#.I.......CT#
#.IC.....#C##
##G#L.....C.#
#.#.L...L#C##
#...L.S...C.#
#...L.G...###
#.B.L.......#
#########P###
#############
################
#WWWWWWWWWWC...#
##W###########.#
#PC.s...b...T#.#
#LGLG...G....#.#
#............#.#
#.........#....#
#.........####.#
###G#G##G#######
#############
#.i.........#
#.i.#wwwc...t
#.i.#####..##
#.i.........#
#.i......p..#
#.i......s..#
#.i.s....g..#
#.i.###.....#
#.i......c..#
#ggggggggggg#
message 4 more and you're done.
#################
#.............t.#
#.......s.......#
#....#######....#
#...............#
#...........##..#
#.s.............#
###...b##.p.iwww#
#wwwwwwwwwc.i####
############g####
################
#PC.B..#.B.....#
#W#WWWW#WI...#.#
#W#WWWW#WWI..#.#
#W#WWWW#WWWI.#.#
#W#W#####W#I.#.#
#WWIB..B.IBI.#.#
#WWGWWWWWWWI.#.T
#WWWWWWWW#WI.#.#
#WWWWWWWIBIWWI.#
########GGG##G##
#I#############I##
#I.............CL#
#I..#####.s...##L#
#I......#####...L#
#I...s..#T.....###
#I.L###.####...###
#WCL...........###
###L.....C.#...###
#..L....######.###
#..L...........###
#..L.......s..P###
############.#####
##################
###############
#W#.#.#.......#
.C..........CW#
#####L..PB.G###
#....L#G#######
#....L###..C..#
#....L....##..#
#....L...#....#
#....L........#
##L#.L#########
#.L####......T#
#.L...........#
#.............#
#.............#
###############
message that's all. thank you for playing. thank you everyone who tested the game to make it better!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment