Beam is a top down puzzle adventure and is meant to be mysterious, relaxing and pretty. If you get stuck read the signs around you! It is inspired by the Zelda series, Myst, The Witness, Tunic, Hyper Light Drifter,etc and is my first attempt at coding/game development. Feedback is very welcome!
Controls
Arrow keys move the player
O (z on the keyboard) various actions
X (x on the keyboard) run if unlocked
Ongoing challenges
The “cobble-stoning” is real!
Palette switching happens and there are some flash artifacts of the incorrect palette when switching rooms.
Out of tokens:(
Overall there is much to improve on here so maybe in part II…
Credits
Thank_U={
jasondelaat,
RealShadowCaster,
kozm0naut,
SmellyFishstiks,
Ummmm_ok
} --for the help in the forums!
Lightning effect taught to me by SAY Sí via this wonderful tutorial:
Custom functions & powers of recursion
Code, graphics and music by Rupees
Music in this game is from my forever music project of the same name:
Rupees Music
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/bimg/pi/pi8.png)
Cool game! I like the animation, and the music is pretty good.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/85395/picocolordance_24.gif)
This is really nice, the environment looks really cool and encourages you to keep exploring. Nice job with the reflections, and the music!
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/82211/7_realshadowcaster.png)
Overall very nice, despite the huge backtracking and back and forth. The shoes were VERY welcome. The fact that yellow appears green during the night trolled me big time.
The game tab crashed after being left open for a few hours, a progress save would have been welcome.
I couldn't finish the game : got all 6 colors, the crystal, but was apparently missing one bird, visible to the right of the cave where the group of bird in the lower left corner. I'm guessing it was needed to open the last door.
Bugs and mysteries :
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/68168/2014_avatar.png)
I've completed this game, managed to light all colored beams and reach the pond at the peak. Wasn't sure the point of releasing all birds though.
BTW nice puzzle game, almost puzzled with the doors until I noticed the color codes above each door. Reminds me to some of my own games which has similar puzzle.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/82211/7_realshadowcaster.png)
Hey, I was browsing the map and code of your game, hoping to find how to get to the last bird and open the last two doors (still haven't found yet) , when I stumbled on you gameover_color() function and got a severe brain freeze.
function gameover_color() pal({[0]=0,129,130,131, 128,5,6,7,136, 137,138,139,140, 141,142,143},1) if not flash then pal(141,129,1) pal(131,130,1) pal(139,131,1) pal(138,130,1) pal(5,130,1) pal(0,128,1) pal(6,130,1) pal(7,5,1) pal(137,141,1) pal(140,130,1) pal(143,13,1) pal(130,128,1) pal(136,130,1) end end |
Everything I know about pal() tells me this can't work. I know the 1st parameter is in the 0-15 range and is an index into the palette, while the second parameter is the value to write in it and is in the 0-255 range.
So of course I tested it manually... And it worked.
Went back to my pal test source code where I tried the exact same thing... And it doesn't work, more precisely, another color than the one I'm trying to change gets changed.
Maybe you rewrote the pal function... Checks your code, nope.
Maybe you know a secret poke that changes the pal behavior ? Checks every poke of the code... nope.
What trolly dark magic is this ?
...
After a good half hour of hair pulling, I finally got it :
pal(index,value,1) only cares about the last four bits of the integer value if the index.
When you do
pal(137,141,1) to replace color 137 with color 141, what pico8 does is
pal(137 & 0x0F,141,1) or pal(9,141,1)
and you seem to purposefully have placed color 137 in index 9 of the palette for the magic pal to work.
...
My last question is WHY !
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/80228/3_rupees icon.png)
Thank you all for playing this and for the feedback! I've updated some things based on your comments.
v1.4 updates
- fixed some out of bounds areas so you cannot walk off the map
- updated some areas to be more intentional about cave entrances, secret paths, etc
- made some things that were not the easiest to interact with before a little easier to interact with
- fixed a bug that would show an item when it wasn't supposed to be shown
- removed a barrier and made some subtle changes to reduce backtracking (the game should take about 18 mins if you know exactly where to go)
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/80228/3_rupees icon.png)
@RealShadowCaster regarding pal()
I wish I had an answer for you! I thought I knew how pal() worked and I spent way more time trying to get the beams to retain their color when lightning wasn't flashing then I'd like to admit. I gave up eventually. In that time I wouldn't put it past myself to have thrown some spaghetti at the wall that opened a pal() wormhole.
I'm looking into this but I had no intentions of trolling or brain freezing!:
"When you do
pal(137,141,1) to replace color 137 with color 141, what pico8 does is
pal(137 & 0x0F,141,1) or pal(9,141,1)
and you seem to purposefully have placed color 137 in index 9 of the palette for the magic pal to work."
I am probably doing many things I don't have to and my code is not what you would call "tight". First timer here and I didn't listen to the warnings about making something simple first. IMO this is a pretty simple LUA graphics study but really advanced to me 12 months in to coding in general.
In summary, once I wrap my head around exactly what I have done here I would probably have the same question for you. :P
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/82211/7_realshadowcaster.png)
Finally finished the game, much faster than last time. The out of bounds bugs (in the cave and near the exit) seem to have been fixed. I also reached the previously mentioned door that leads to the right of the final area. Even after using it, you can't go back, so you still need to go around again at night if you need the button. Not a big deal but it's the only one way door in the entire game so it might be unintentional.
Found a use to the empty area on the left : lightning sightseeing.
Found a new palette related bug : when entering a cave at the same time there is a lightning, the palette is not reset.
Speaking about palette, don't hesitate if you have questions left.
pal(idx,val,1) <-> poke(0x5f10+idx%16,val)
pal(idx,val,0) <-> poke(0x5f00+idx%16,(peek(0x5f00+idx%16)&0xF0)+val%16)
[Please log in to post a comment]