Ghost Bird


  • Posts: 216
Yes that is true. they just wouldn't have quite the same effect, such as how these lights kinda morph into each other.
Also, not using this as an argument against it, but interestingly the image clearing is actually pretty expensive cpu-wise, including both the clear area function and clear image function. I actually had a cool effect where i would clear the image with 50% opacity instead of a full clear for each frame, which had this effect:

Kinda like a light trail thing. unfortunately this is very hard on performance, which may be apparent in the gif.
I have tried creating a light trail effect because of this, which is what I made the additive/non-additive options for, so I can have 2 lights where one follows another on a delay and they are non-additive so it looks like 1 light with a trail. (this is where I'd add another gif BUT i actually removed that function because it wasn't perfectly efficient and don't feel like adding it back to show an example)
But anyway thanks for the compliments!


  • Posts: 38
I prefer the effect of the code-drawn light over the image-created light. Fascinating - really cool project.


  • Posts: 216
I've started working on a tech area! Liking how it looks so far


  • *
  • Posts: 110
That look very nice! I remember downloading the stencyl file at the time it was a Ludum Dare entry to see how the effect was achieved! I never had time to really look at it, though.

You said you were doing the lighting manually, but what about that spherical effect? Beside a shader, I don't really see how you would do it.


  • Posts: 216
Oh cool! The effect has changed quite a bit since the Ludum Dare version, but the general function is still the same.

Oh yeah the warping effect? That is a shader yes. In the Ludum Dare version it wasn't a shader, but i remade it as a shader after remaking the lighting.
How it worked in the LD version is that I made all the scenes out of tiles in a set but made all the tile layers hidden. The graphics script would create an array of 16x16 actors the size of the screen, and each frame it would check all the currently visible tiles in those layers and change the animation of those actors to represent what tile they would be at that location in the scene. Then it would change the frame in that animation based on the distance from the player, getting smaller the further away it was. Which was a really dumb way to do it because it took forever to make a new tile, because i basically had to make like 10 images for every 1 tile, and i had 2 directions i worked with for each tile.
But the warping effect worked because when i moved those actors with the screen, I also changed their position slightly based on distance to the player as well. so its y position would be at +0 when right on top of it, and +30 or something at the edges of the screen, making a warp-like effect. I think it looks cooler that way, but it definitely looks a lot smoother with a shader, and I don't really know what's better (or if i should keep it at all) but I've decided to leave it like this for now.


  • Posts: 216
havent posted an update here in a while!
So, have some moving images:

I'm also working on the website for the game:

I managed to port the shaders to WebGL and remade the lighting scripts in javascript, so the visuals are basically identical to the game.


  • *
  • Posts: 198
Woah, this is lovely! :0


  • Posts: 216
oh man, thank you! i really love your work :D


  • Posts: 199
Looks amazing!

Limbo type gameplay seems perfect for this.  No enemies, just puzzles with traps.  Using the light to open switches or make platforms workable ( like the above sample)


  • Posts: 38
This is really coming together! Awesome post!


  • Posts: 1015
Extremely creative and beautiful. Would make a great Steam greenlit game.
If I helped you at anytime, help me back build my twitter followers :)


  • Posts: 216
aa thanks a lot guys!! I planned on thanking people and posting an update in the same post, but never made an update. so. sorry


This is mostly a cross-post from tigsource. but I love you guys too so I hope you like it <3


Big things: I am in the process of porting all of the lighting engine into a GLSL shader!

Not only will this boost performance significantly, but it gives me a lot more control over the lighting. for instance: blend modes!

I only have the shadows set up right now, not the colored lighting, but I still have a tooonnn of awesome things to show off just from that.

I will now spam a whole bunch of cool gifs just for you <3

The first test after finally getting the shading all working

Color shader tests

Weird blend mode tests after getting it all ported

(I like this a lot)

(Aaaannd obviously not taking inspiration from any particular game)

Color aberration stuff!

Other cool color stuff (these aren't gifs don't worry)

Some neat patterns and stuff from my firsts tests

And some glitches and other weird stuff I encountered while working on it
(Epilepsy warning)

Annndd that's about it! Nice short post, maybe a little too text-heavy ;)

But really I'm super happy with all of this. even just some gifs alone are really awesome. I hope you think so too!

Thanks for following my stuff!

Feel free to discuss any of these gifs individually, or all of them at once, if you want!



  • *
  • Posts: 9247
Shaders can be used to blend objects?


  • Posts: 216
Thanks to Justin's help I am able to send arrays to shaders. So I set up the lighting as an array outside the shader, then send it to the shader to draw colors in the correct positions in the correct tiles. i can blend those colors onto the texture in any way I want