This engine is pretty cool and I'm pretty sure it'll have what I need but I'm still learning how do specific stuff with it.
I'm making a top down shooter (hotline miami perspective) and I'm trying to implement overhead lights but I don't really know how to do that. I'm looking for a way to make a light that'll cast longer shadows on objects further away, but as the object moves closer to the center of the light the shadow becomes shorter until when the object is directly under the light, there is no shadow and the object is fully basked in light.
How is the shadowLength variable used? In my tests it looks like it multiplies the size of the base shadow mesh in order to achieve its length, but I'm not 100 percent sure.
Additonally, how does the depth of light and shadow casters affect anything? I'm also having trouble getting certain objects to render above/below light sources and I figure this has something to do with that.
Apologizes in advance if I have a lot of questions, I'm pretty new to this and sometimes the documentation can be a bit unclear to me.
By setting shadowLength to 1, the length of the shadow will be equivalent to the distance from the light to each vertex of the shadow, in pixels. 2 will be twice that, 3 will be three times that distance, and so on.
To modify the variable, just do shadow.shadowLength = value;
All relevant information related to depth can be found here: Troubleshooting.
No worries, feel free to ask any questions you may have :)
Alright, thanks. I'm also having issues with soft shadows. On the documentation under the light types section, the direct light preview shows the shadow almost fading out into the light, and I've also seen this behavior in some of the test rooms provided. However, my shadows appear to have hard cutoffs instead (im using SHADOW_SOFT_TRANSFORMED) and don't fade out. (see img, i'm using a spotlight here but the same issue is still there when i do use a direct light)
Also, soft shadows with a low shadow length appear to not be completely softened, and only the vertexes of the shadow are not the edges in between, however I'm assuming this is intended behavior. Either way, how do I replicate the effect shown in the direct light preview?
So in my 2d side scrolling game game I have lots of layers grouped into foreground, middle ground and background, each has their own lighting system and is not affected by previous group. IE backgroun should not be lit by lights on middle ground. Right now I am drawing middle and foreground on different surfaces, not a fan. Would you suggest your engine for my game?
Thanks! I have actually looked around since I posted and I see I can accomplish it per layer via LIT_EQUAL. But I have 20 different background layers, 30+ middle ground layers, 10 + foreground layers. I don't think I can do the lighting on a range of layers, ie light layers from depth 100 to 2000, and another light to light layers from 2000 to 3000 for example?
Been waiting for this lighting system! Got the holy foxy trinity of managix, crystal, and post processing FX! Can't wait to really put them to use in our HD game, you're saving me thousands of hours! Special thanks indeed, and to all wondering if you need this? BUY YOU FOOLS
This means a lot to me! I’m so glad the holy foxy trinity is going to good use and I can’t wait to see what you’ll do with it in your game 😁 Saving thousands of hours seems totally worth it, isn't it? 😌 Thanks for the kind words!
Congratulations on the release! It's been a fantastic journey from first discovering your previews earlier this year to this moment. Cannot wait to take our games to the next level with such a powerful tool.
← Return to asset pack
Comments
Log in with itch.io to leave a comment.
This engine is pretty cool and I'm pretty sure it'll have what I need but I'm still learning how do specific stuff with it.
I'm making a top down shooter (hotline miami perspective) and I'm trying to implement overhead lights but I don't really know how to do that. I'm looking for a way to make a light that'll cast longer shadows on objects further away, but as the object moves closer to the center of the light the shadow becomes shorter until when the object is directly under the light, there is no shadow and the object is fully basked in light.
There are two ways to increase the shadow length:
A) Using the shadowLength variable in Crystal_Shadow. You can set it to 20, 40, or more, so that the shadows will go further.
B) Modifying the shadowScattering variable, per light.
Thanks for the kind words ^^ Crystal will be perfect for the hotline miami style.
How is the shadowLength variable used? In my tests it looks like it multiplies the size of the base shadow mesh in order to achieve its length, but I'm not 100 percent sure.
Additonally, how does the depth of light and shadow casters affect anything? I'm also having trouble getting certain objects to render above/below light sources and I figure this has something to do with that.
Apologizes in advance if I have a lot of questions, I'm pretty new to this and sometimes the documentation can be a bit unclear to me.
By setting shadowLength to 1, the length of the shadow will be equivalent to the distance from the light to each vertex of the shadow, in pixels. 2 will be twice that, 3 will be three times that distance, and so on.
To modify the variable, just do shadow.shadowLength = value;
All relevant information related to depth can be found here: Troubleshooting.
No worries, feel free to ask any questions you may have :)
Alright, thanks. I'm also having issues with soft shadows. On the documentation under the light types section, the direct light preview shows the shadow almost fading out into the light, and I've also seen this behavior in some of the test rooms provided. However, my shadows appear to have hard cutoffs instead (im using SHADOW_SOFT_TRANSFORMED) and don't fade out. (see img, i'm using a spotlight here but the same issue is still there when i do use a direct light)
Also, soft shadows with a low shadow length appear to not be completely softened, and only the vertexes of the shadow are not the edges in between, however I'm assuming this is intended behavior. Either way, how do I replicate the effect shown in the direct light preview?
This can be solved by setting the light's shadowUmbra to 1
Yet another amazing extension! I really like that you utilizing the depth buffer to limit the number of surfaces needed for render pipeline sorting
This definitely makes a big difference, especially on low-end platforms with little VRAM :D
Thank you, constlet!
Congrats on the release, looks great!
So in my 2d side scrolling game game I have lots of layers grouped into foreground, middle ground and background, each has their own lighting system and is not affected by previous group. IE backgroun should not be lit by lights on middle ground. Right now I am drawing middle and foreground on different surfaces, not a fan. Would you suggest your engine for my game?
Yes! It is entirely possible to use Crystal for your game. You can illuminate the layer using a Direct Light and a different litType. Thanks ^^
Thanks! I have actually looked around since I posted and I see I can accomplish it per layer via LIT_EQUAL. But I have 20 different background layers, 30+ middle ground layers, 10 + foreground layers. I don't think I can do the lighting on a range of layers, ie light layers from depth 100 to 2000, and another light to light layers from 2000 to 3000 for example?
You have some options:
Ah I see, thank you!
Been waiting for this lighting system! Got the holy foxy trinity of managix, crystal, and post processing FX! Can't wait to really put them to use in our HD game, you're saving me thousands of hours! Special thanks indeed, and to all wondering if you need this? BUY YOU FOOLS
This means a lot to me! I’m so glad the holy foxy trinity is going to good use and I can’t wait to see what you’ll do with it in your game 😁
Saving thousands of hours seems totally worth it, isn't it? 😌 Thanks for the kind words!
Absolutely fantastic, been waiting for this to release, so excited to give this a try as soon as possible ^^
I'm glad you like it!! If you have any questions, don't hesitate to ask :D
Looking awesome, is there going to be a demo for Mac?
Thank you! I can't provide it, sorry... If you wish I can provide videos demonstrating (or see my Twitter)
I can provide you with a Mac demo, now that I have purchased this great pack! Let me know if you are interested?
Kind of you, that would be interesting ^^ in your time
I have put up a blog post, https://conceptalpha.co.uk/crystal-lighting-engine if you just want to download and it add it to this page that's fine. I can remove the post when you're done.
Added, thanks! ^^
Will this only be applicable to GM? Are there plans to support other game engines in the future? Ex: Godot,Unity etc...
Hello! Only GameMaker this time - my knowledge of other game engines is limited
I've been brewing a few Spine projects, so this is well timed.
Looking forward to seeing what you cook with Crystal :D
Epic! Can this be used for an Art App, practically and legally? Anyhow, this is really impressive!
Yes, anything made with GameMaker! =] Thanks ^^
Congratulations on the release! It's been a fantastic journey from first discovering your previews earlier this year to this moment. Cannot wait to take our games to the next level with such a powerful tool.
I'm extremely flattered! I can't wait to see what you're going to do with Crystal! ^^ Feel free to tag me on Twitter/X and I'll repost :D
Nice, does it work with tilemaps or just objects?
Works with everything =], tilemaps, backgrounds, instances/objects, etc. Check out what else is here
Congrats on the release, looking forward to trying it out soon! <3
Thank you kindly!! If you have any questions, feel free to ask =]
OMGG :D
🔥
I’ve been checking for this page every hour for the last month and finally here it is
That makes me so happy to hear! I can't wait to see what you'll do with Crystal! :D