wow! you're crossing that line. you learn the tool (godot), you master the tool, and now with that bridge and now this lighting thing you're just transcending the tool. very nice, very nice indeed sir!
Thank you! That's my goal as a game developer. I'm always trying to push myself, constantly learn more, and improve my skills and knowledge as much as I possibly can.
lol, touché. But, I mean. I'm not sure what else to really show other than talking to NPCs and placing items on the ground. xD Glad you like it, thanks for watching. :)
While fishing and cooking are planned, they're not considered essential to gameplay, so are pushed way off to the back for now. But cleaning though, huh? That gives me some amusing ideas. :)
@@GameEndeavor Cleaning is just combat but replace the sword with a mop and the skeletons with dust. I like the idea of cleaning your room as being the hardest boss in the game
"... and I apply a multiply blend mode to it. How do you do that? Well, you see, you take these two colors and you multiply them." I just love your humor so much :)
lol, thank you. :) I added that because I actually Googled how to apply a multiply shader and felt silly when I seen it. That line with the edit still makes me laugh.
@@GameEndeavor Oh yeah. I just had to laugh so hard because I ran into the same problem just some weeks ago when I was looking up the same thing (ALSO for lighting xD) and I was just as surprised. Even though it could have been obvious - blend modes are named that way for a reason xD Good work on the game so far by the way. The art style is very cute and the gameplay seems very interesting. I wish you all the best with it :)
@@kidinashell4499 Haha, glad to know I'm not alone then! Thank you for the kind words. It has been a blast to work on it, so I'm excited to see what becomes of it. :)
@@GameEndeavor I have always wanted to create a game in that classic top down rpg style myself but mostly to tell a good story. But since RPG maker doesn't have a real cross platform availability (and I wanted my game to be playable on as many platforms as possible) I started looking for other options and I tried out many engine's and also just low level frameworks to create my own game. I have programmed some games (never published, just to get to know the frameworks and engines) and was most impressed with Godot. I first started using Godot for a 3D game I was trying to create some years back but I wasn't really impressed because of the workflow. I think in terms of the workflow for 3D it's kinda lacking some really important features. But for 2D it is actually pretty good and it's very easy to understand. Also the most important thing in my opinion: Godot has one of the best written manuals and api documentation I've seen (even better than Unity in my opinion) and the community is great as well. And last but not least: It is MIT licensed software which I'm always a fan of, because I don't mind spending money on something. I now donate to the Godot project regularly but I'm a 100% sure that when you solely concentrate on making something really good, it has a better outcome in the end than the need for creating a software, that produces a lot of money. At least that's my philosophy and I publish my software under the MIT license as well all the time, with the option to donate something if someone wants. Of course that's just my opinion, and I'm sorry for rambling; I just wanted to say - Godot is great for making 2D games :) I can't wait for Godot 4 :D
@@kidinashell4499 Indeed. What I like about it is how their license can benefit small creators without being a hindrance to them, and if there's a specific feature or fix that you need then you can build it yourself. I've probably donated enough through patreon to have bought it if it were commericial software, but I like how it's free and open for those that aren't able to do so. :) I'm looking forward to Godot 4 as well, it seems like it's going to be amazing.
There should be a clock tower somewhere in the world that you can use to change the time and maybe side quests that require you to wait for a certain amount of time to pass before you can complete them
I will be integrating time into quests and events for sure. It's the reason I want an in-depth system. :) I'm thinking you'll be able to change time wherever you are though. Like how waiting works in Elder Scrolls or Witcher 3.
I recently discovered your channel (yesterday) and I really like your game, but more importantly: your humor :) The delivery is a bit off so it's harder to pick out the actual humor, but that's also part of the charme :) As I'm a developer myself, I appreciate the level of detail to let me learn/think about something without making it too technical that will turn off the non-technical people. Looking forward to see more!
Haha. That's very much me though. I have a dry sense of humor. Some of my favorite jokes are the one no one notices. :D And that's the cornerstone for my devlogs. Informational for those that can use it, entertainment for everyone else. :) Thanks for watching!
@@GameEndeavor I love it and hope I get comfortable enough to do something similar in the future :) Glad I discovered you; I added you to my list of people that make cool devlogs (I keep a channel on Discord just for that and are joining ThinMatrix, Dani, DevDuck, Snuti, OrangePixel and many others that make entertaining devlogs on YT).
I honestly love that hard transitional lighting at 2:50. Your game has a clean and cute aesthetic with beautiful vibrant colors, and that hard lighting makes the colors pop even more at night against the darkness. :)
At 3:54 I think you absolutely hit the nail on the head. What you have implemented there is, in my opinion, perfect. Something that I think you're missing though is shadow figures. Imagine you're near a fire and there's another fire 100 yards away. You can see clearly everyone around your fire, and if you look across the field, you can also see everyone around the far-away fire. However, in-between is darkness that you cannot see well. BUT- if someone is in that darkness and between you and the far-away fire, you can still CLEARLY see that person's silhouette. Everything that is in utter darkness can still be seen clearly in the form of a silhouette if it lies within the line-of-sight of your eyes and a distant light source. So I think that you're on the right track with the lighting at 3:54 but you need to implement silhouetting for objects between light-sources.
having hidden things around time like only seeing this one npc on this day at this time or another npc that goes and does this at a time of day or time of week is always been fun for me in games.
A really cool mechanic would be that if you were an assassin class, your light circle would be smaller and during the night enemy detection would be way down, almost being able to walk right next to them without being seen
The several levels of light looks best, it's also a clear indication for any future stealth based games on when you would be visible and when you would not be visible.
Nice work! I think the end result looks great. Really appreciate you sharing the Patreon post too. I've been thinking about a lighting system for my game, but I've been pretty apprehensive about getting into shaders in Godot in general. Thanks!
Thanky you. :) I'm happy to share. I hope it helps others because I know I have seriously struggled with this for quite some time. I'm glad to have the problem behind me, but also thrilled that I know this little tidbit because I can think of some other fun things that could make use of it.
That is the nicest comment I've gotten, thank you. :) You made me realize that I might not have an idea, lol. I hear people mention how inspiring these devlogs are, but it hasn't really clicked before. So thank you. :)
I love it, it makes the world so much more immersive! If I could suggest on thing, it’s to fade the “permanent” tree shadow at night, as it doesn’t make sense to have it there when there is no sunlight. If not, perhaps changing the night light to a moonlight colour. Keep up the great work, I’m really enjoying the progress, and it is inspiring me to get back into game dev :)
I will. I wasn't able to for the video because TileMap shaders take their quadrant into account, so the positioning logic I use doesn't work. I didn't have time to sort it out before the video.
Dude this is really nice! I do like the retro lighting (solid circles), but honestly I think I prefer the smoother one. Just my opinion. It looks like you've gone with the smoother one as your final result which is nice! Also thank you so much for putting this up on your patreon! Really kind of you man, I'm going to check it out myself because I've been back and fourth with lighting/day systems for a while not but this has got to be the best implementation I've seen.
Thank you. :) Yeah, smooth is definately the one that I'm leaning more towards. The bands are a bit harsh on the eyes and distracting. As for putting it up on patreon, any time. :) I have spent so much time trying to figure this out, so I'm sure this could save other developers a lot of time and effort. I'm happy to help.
If we talk lighting having secondary item which can be two-handed weapon, shield or tourgh might be interesting idea. This is directly from Dark souls 2 Trailer gmaeplay where they have short vision range and take torch to light up dark place (ofc after release it was chance so you can see to the darkness which ruined several things using lighting in that game)
If I were to go with lighting, I think I'd probably just keep it a simpe lamp at your waist. I just want the light to create a nice atmosphere for the game. Not too concerned with implementing it mechanically.
I really liked the look of the retro inspired lighting, with multiple bands. It does look a little bit weird when the light sources have different strength, but I like how they merge when they are at the same level. I don't think the contrast is too harsh, as you mentioned. I feel it gives a stylish look. Nice work, and thanks for sharing :)
Have you tried using dithering for retro-feel smooth transition? Could try out different kinds of dithering algorithms and intensity. You could also take some inspiration from Lucas Pope's "Return of Obra Din" game, which uses a "fixed" dithering so that the dither doesn't become too distracting when scaling and merging with the background.
Really impressive light system! I wasn't sold on the light source from the outset of the video, but you definitely convinced me the way through nice job!
@@GameEndeavor I wasn't sure what it was going to add to the game, but you mentioned dungeons you wanted to create and while you were saying that the area looked a little bit like a haunted woods! I'm just now dipping my toes into lightning so I didn't know what type of an impact it could have
@@Nick-Games9 Aaah, gotcha. imo lighting makes such a major impact on aesthetics, especially if you do the color adjustment properly, which imo a lot of games get wrong. :)
Hi! About the lighting: I don't work in godot, but it should support something like this: As you're doing things right now all the lights have to work in very similar manner 1-Create an off-screen texture to which you render your lights however you want 2-Use that texture as the light info. You can just overlay it over your entire screen with multiply, or if you render the world to an off-screen buffer as well you can combine both of them and do some neat post processing. You should be able to store all sorts of information into that texture (or several textures), (specifically the colour of the light at that point, rgb 0-255) It has the advantage that each light can then have different behaviours. This should enable you to fix a few issues you have in the current version: 1-That dark band between two nearby light sources will disappear since you can now add the light sources together rather than just selecting the nearest one. 2-You can read that texture when drawing other shadows (eg: like the ones from the trees you have all over the map), and blend out those shadows according to light sources.
Lighting looks nice and toasty! The only other idea for a lighting option I can think of is: Perhaps it would be possible to write a script which generates a solid pixel circle of variable size for each light source, and omits pixels from the edges of the circles using a dithering algorithm. So you'd end up with a pixelated version of your smooth fade effect using the dithering, (this might work better with tiered lighting circles) and if you were able to rapidly toggle the dithering pattern/strength, you could also produce a cool flicker effect that might blend more with the art style. A few retro games used dithered vignette glows, though they weren't nearly as dynamic. Frankly, this sounds like it'd be a pain to implement, so perhaps just render your lighting using a dyson sphere and call it a... day? In any case, very snazzy stuff!
Thanks. I'm not too keen on dithering but it has been suggested a lot recently so I may look into it. However I have gone back to the banded lighting for now and made some minor tweaks to improve how it looks. :)
Just discovered you last night through your AI video. really interesting things I like how technical you're getting. I'm not quite there yet as I'm working on an SDL game engine with c++ and am still working out a data-based management system for the engine (using xml files. its really neat and will allow for extreme modability). Still haven't touched opengl yet but when the time comes to do these various aspects I'll definitely be using your videos as reference. Keep up the good work.
@@GameEndeavor please can you give a complete tutorial on it...I am a bit beginner and not getting completely.....please make a full tutorial....pleaseeeee plzz reply if you will make or not ..(but I know you will)yeee🥳🥳
@@seemarajput779 I'm not making any tutorials anymore, sorry. :) However if you check the description there's a patreon post where I break down the process further and provide the code that I use for this effect.
I want to say that Godot does have a "mix" setting for Light2D light masking, which allows for what you want. It gets the average of all of the lights at a specific picture, rather than adding all of the RGBA values.
I like the smooth version best. But I have a two ideas. 1. The sunrise and sunset could have more yellow/red in it. 2. Night normally is bluish and the saturation is way down, almost grey. Because in the eye there are several light-detectors. Normally you see with the colorful ones. But in very low light conditions they don't see anything anymore. Then you see with the ones which only see grey.
This looks great! Just a suggestion: for the shadow tiles, change their opacity depending on the time of day (i.e. most opaque during the day, invisible during the night)
Easier said than done. :) I wanted to but didn't have time to. Godot's TileMaps are broken into quadrants, which breaks the way I get the world position in the shader. But I recently got an idea for how to fix it.
Looking pretty good, I encountered a lot of the same issues when making a lighting system for a 2D game. I would also tie the alpha of the environmental tree shadows to the global lighting variable, since it doesn't make too much sense to have overhead shadows from the trees at night time.
I tried to but TileMap shaders don't work quite how you'd hope. Since it's broken into quadrants, the logic I use is relative to the quads and not the global_transform passed, so it only works on one small section of the TileMap. But I have ideas for how to fix it. :)
You should either combine your night time multiply layer and canopy shadow layer into a single shadow layer, OR apply the same kind of day-night dependent fade to your canopy shadows, since the contrast of those shadows will be harshest at noon and will fade to basically nothing after dark (since everything is "in shadow"). If you combine them into a single layer, this could also allow your light sources to "cut" into the canopy shadow in a realistic way.
Yeah, I had kicked that can down the road because I wasn't sure how to handle it, because TileMaps in Godot are broken up into quadrants, so accessing the world position the way I do in the lighting shader isn't as straight forward. Been racking by head how to solve this but you just gave me an idea. I could probably put the canopy shadow into a Viewport and render that over the world, applying the shader to the viewport render. I'll take a look at that soon, thank you. :)
I think little forest fireflies/glowworms would really suit the style of your game to maybe light up pathways or even give pointers to where some secrets might be hidden.
Absolutely. I wanted to add in fireflies this week but unfortunately didn't have time to. I'll be doing that asap though. :) Glow worms is an interesting idea that I hadn't thought of.
Can I make a suggestion? Have a seperate shader set to multiply for sunrises and sunsets. You could have the mornings feel slightly bluer, and sunsets slightly redder. I think this would do a lot for immersion, and will allow the player to see time of day at a glance.
I think it would really help the night vs day look if the 'shadows' of the treetops (the shadow layer thing) wasn't active at night. It doesn't really make sense that it is darker underneath the trees if the light source is also under the trees :P Maybe you can add the treetop shadow to the same lighting texture? As in--fade away the shadows as you fade in the darkness of night? Anyway, cool stuff man. I love your design sense; keep it up!
I agree but there's only so much you can do in a week, and I was making weekly videos at the time. :) Besides, that's not as simple with the TileSet because getting the world position in the sahder is difficult because it's broken up into quadrants, and not to mention computationally expensive. Currently I don't know how I'd deal with it. But I plan to look at it some day, the main thing was the lighting shader.
I find it more appealing of an overlay of a dark purple hue in the night .. and in the day I lower the saturation go to light blue hue ....then in sunset I put mid value and saturated yellow hue ..
@@xxflowerfamkxx1670 I decided to use the retro version for now, but tweaked a little bit. And I already have the ability to set the time like that for debugging purposes. All it does is set the time to a predetermined value.
@@GameEndeavor That's great to hear! I would honestly want to play this game. Most NPC's are too robotic and it might be a breath of fresh air to develop relationships in the way that you developed.
The banded lighting looks nice, but I would add a dither filter on the transition between light and dark. I noticed (as seen on 5:00) that the smooth version is being multiplied with nearby sources. I know you do not want an over exposure (add is out of question), so instead you could do the maximum of both, otherwise it looks like the lights are fighting each other. I hope to see this project finished it looks so promising.
It's not actually, it is taking the maximum value which causes the effect you describe, iirc. I tried multiplying but it felt bland. However I have since gone back to using the banded light for the moment with some tweaks. I'm not a fan of dithering, so it's not likely to be an option I go with, though I do intend to maybe try it at some point to see how it looks.
@@GameEndeavor Well that is weird, I don't see how the maximum would cause the "squish" effect when two light sources are moving together, but anyways the banded looks nicer. You could experiment with using the dither as a divisor between each band instead of full dither shadowing. This way it is neither a hard transition nor the full dither effect.
even i also made a lighting system in Godot for our jam i used canvas modulate for that this meathoad looks cool i will add to my indie game just getting it from you :)
Thanks. :) I considered using a canvas modulate but figured I might as well just use a custom blend mode. It gives me more control, especially if I want to use a different blend mode later on.
That's what I love about Godot. There's always these fun little ways to hack the engine and do some powerful stuff.. Or just look cool to your friends.
Really nice. The smooth ligh the best and fire effect. Maybe that people sleap ower night and just some folks work ower the night ...with option to sleap.... Your game is becoming beatifull :) thanks for sharing.how you are doing things. :)
In one game it was that you have to sleap or your caracter fall a sleap by it self... so you have sleap bar...when empty he will pass out. At first when full you cant sleap at midle you can so uymts good to sleap before mision then when close to empty he become slower... So it could be anoying or fun? Not shure... Itrasting to see where it will go.
Cool lighting efect, I like it. Gives you lot of combinations/opotrunities and I can't wait to see how is this all going to end - will be a great game :) PS: Day/Night cicle is ok, but day/month/year is overkill in my opinion.
It looks like when the player character gets near a light source he darkens the area around him. It seems very unintuitive to me, because as a light source his light should constructively interfere with other light sources.
I really enjoyed seeing the light (of the player character, specifically) kind of pulsate. It made me momentarily think of a heartbeat, before I paid attention to the rhythm. I do wonder now, what if the light did behave like a heartbeat for the player, and it shrank as the player's health goes down? I'm sure it would be a bear to program though
Thank you. :) I'm pretty happy with what I have. TH-cam seems to be pushing every video I make more than the one before it, rather than just blowing up a particular video and then forgetting about me. :) So I can't complain.
Nothing like having an existential crisis while trying to code a shader lol. Great video, love the lights.
lol, indeed. Flames do weird things to my soul, idk what to say.
"put as semi transparent dark colour of it and call it a NIGHT" - mOST UNDERRATED PUN 2020 5:00
lol, that took longer for any one to point out than I expected.
That pun would have deserved my like but alas, I had already liked the video by that point.
@@turoni314 I was thinking the same thing! The pun was amazingly like-worthy, but I had already given the like earlier at 1:13!
This man sounds like everybody's favorite guy to hang out with.
lol, thanks. That's quite the unique compliment. :D
yo, when you said "it's getting dark in here, so I'm pretty sure that's actually, uhhh, the x and y..." I died
wow! you're crossing that line. you learn the tool (godot), you master the tool, and now with that bridge and now this lighting thing you're just transcending the tool. very nice, very nice indeed sir!
Thank you! That's my goal as a game developer. I'm always trying to push myself, constantly learn more, and improve my skills and knowledge as much as I possibly can.
"Combat is not in the center of this game."
All you ever see: Combat.
Jokes aside. Game looks real smooth and very interesting. Keep it up!
lol, touché. But, I mean. I'm not sure what else to really show other than talking to NPCs and placing items on the ground. xD Glad you like it, thanks for watching. :)
@@GameEndeavor fishing! cleaning! cooking!
While fishing and cooking are planned, they're not considered essential to gameplay, so are pushed way off to the back for now. But cleaning though, huh? That gives me some amusing ideas. :)
@@GameEndeavor Cleaning is just combat but replace the sword with a mop and the skeletons with dust. I like the idea of cleaning your room as being the hardest boss in the game
Fishing is always essential! 🎣
4:34 Mood
Pretty much me in a nutshell.
I am super excited how this game is turning out to be :)
Me too! So far it's every thing lil Endeavor hoped for!
@@GameEndeavor lil 😂
"... and I apply a multiply blend mode to it. How do you do that? Well, you see, you take these two colors and you multiply them." I just love your humor so much :)
lol, thank you. :) I added that because I actually Googled how to apply a multiply shader and felt silly when I seen it. That line with the edit still makes me laugh.
@@GameEndeavor Oh yeah. I just had to laugh so hard because I ran into the same problem just some weeks ago when I was looking up the same thing (ALSO for lighting xD) and I was just as surprised. Even though it could have been obvious - blend modes are named that way for a reason xD Good work on the game so far by the way. The art style is very cute and the gameplay seems very interesting. I wish you all the best with it :)
@@kidinashell4499 Haha, glad to know I'm not alone then! Thank you for the kind words. It has been a blast to work on it, so I'm excited to see what becomes of it. :)
@@GameEndeavor I have always wanted to create a game in that classic top down rpg style myself but mostly to tell a good story. But since RPG maker doesn't have a real cross platform availability (and I wanted my game to be playable on as many platforms as possible) I started looking for other options and I tried out many engine's and also just low level frameworks to create my own game. I have programmed some games (never published, just to get to know the frameworks and engines) and was most impressed with Godot. I first started using Godot for a 3D game I was trying to create some years back but I wasn't really impressed because of the workflow. I think in terms of the workflow for 3D it's kinda lacking some really important features. But for 2D it is actually pretty good and it's very easy to understand. Also the most important thing in my opinion: Godot has one of the best written manuals and api documentation I've seen (even better than Unity in my opinion) and the community is great as well. And last but not least: It is MIT licensed software which I'm always a fan of, because I don't mind spending money on something. I now donate to the Godot project regularly but I'm a 100% sure that when you solely concentrate on making something really good, it has a better outcome in the end than the need for creating a software, that produces a lot of money. At least that's my philosophy and I publish my software under the MIT license as well all the time, with the option to donate something if someone wants.
Of course that's just my opinion, and I'm sorry for rambling; I just wanted to say - Godot is great for making 2D games :) I can't wait for Godot 4 :D
@@kidinashell4499 Indeed. What I like about it is how their license can benefit small creators without being a hindrance to them, and if there's a specific feature or fix that you need then you can build it yourself. I've probably donated enough through patreon to have bought it if it were commericial software, but I like how it's free and open for those that aren't able to do so. :) I'm looking forward to Godot 4 as well, it seems like it's going to be amazing.
Woo! I love it. My favorite is the blended version. The ringed retro style is great too.
Thank you. :) Seems the consensus so far is leaning towards smooth, which I agree with.
There should be a clock tower somewhere in the world that you can use to change the time and maybe side quests that require you to wait for a certain amount of time to pass before you can complete them
I will be integrating time into quests and events for sure. It's the reason I want an in-depth system. :) I'm thinking you'll be able to change time wherever you are though. Like how waiting works in Elder Scrolls or Witcher 3.
Game Endeavor Thanks
4:35 I love how he goes from looking at a fire to make a game more realistic to having an existencial crisis about life being simulated
I recently discovered your channel (yesterday) and I really like your game, but more importantly: your humor :) The delivery is a bit off so it's harder to pick out the actual humor, but that's also part of the charme :)
As I'm a developer myself, I appreciate the level of detail to let me learn/think about something without making it too technical that will turn off the non-technical people. Looking forward to see more!
Haha. That's very much me though. I have a dry sense of humor. Some of my favorite jokes are the one no one notices. :D And that's the cornerstone for my devlogs. Informational for those that can use it, entertainment for everyone else. :) Thanks for watching!
@@GameEndeavor I love it and hope I get comfortable enough to do something similar in the future :) Glad I discovered you; I added you to my list of people that make cool devlogs (I keep a channel on Discord just for that and are joining ThinMatrix, Dani, DevDuck, Snuti, OrangePixel and many others that make entertaining devlogs on YT).
so very glad to hear the flame staring session revealed the secrets you sought - brilliant as always GE. :)
Great job! I'm really loving how this project is turning out and can't wait to play the finished product!
Thank you, and me too. :) It has been an exciting journey so far and I'm looking forward to seeing where it goes. :)
I honestly love that hard transitional lighting at 2:50. Your game has a clean and cute aesthetic with beautiful vibrant colors, and that hard lighting makes the colors pop even more at night against the darkness. :)
At 3:54 I think you absolutely hit the nail on the head. What you have implemented there is, in my opinion, perfect.
Something that I think you're missing though is shadow figures. Imagine you're near a fire and there's another fire 100 yards away. You can see clearly everyone around your fire, and if you look across the field, you can also see everyone around the far-away fire. However, in-between is darkness that you cannot see well. BUT- if someone is in that darkness and between you and the far-away fire, you can still CLEARLY see that person's silhouette. Everything that is in utter darkness can still be seen clearly in the form of a silhouette if it lies within the line-of-sight of your eyes and a distant light source. So I think that you're on the right track with the lighting at 3:54 but you need to implement silhouetting for objects between light-sources.
You just solved the problem that I've been also struggling for months. Thank you so much for sharing the project files!
Any time. :) I know the feeling. This one has plagued me longer than a year.
having hidden things around time like only seeing this one npc on this day at this time or another npc that goes and does this at a time of day or time of week is always been fun for me in games.
Me too. :) I love day / night cycles and scheduled events in games. What I really like is when the monsters change based on the time of day.
That fire rant deserves an Emmy. Lol
Haha, wouldn't that be something.
A really cool mechanic would be that if you were an assassin class, your light circle would be smaller and during the night enemy detection would be way down, almost being able to walk right next to them without being seen
The several levels of light looks best, it's also a clear indication for any future stealth based games on when you would be visible and when you would not be visible.
Really awesome that you have such resources available to people.
just gonna say open world games get the best type of hits and mutiplayer TOO... so open world games + multiplayer games = BANGER!
Good stuff! Another way to add atmosphere is to tint everything pinkish red during sunrise and sunset.
Nothing like an existential crisis to bring clarity to your code.
lol, indeed. It really brings everything together.
Nice work! I think the end result looks great. Really appreciate you sharing the Patreon post too. I've been thinking about a lighting system for my game, but I've been pretty apprehensive about getting into shaders in Godot in general. Thanks!
Thanky you. :) I'm happy to share. I hope it helps others because I know I have seriously struggled with this for quite some time. I'm glad to have the problem behind me, but also thrilled that I know this little tidbit because I can think of some other fun things that could make use of it.
You have no idea how many people you are inspiring. What you are creating is truly were next gen games should follow.
That is the nicest comment I've gotten, thank you. :) You made me realize that I might not have an idea, lol. I hear people mention how inspiring these devlogs are, but it hasn't really clicked before. So thank you. :)
100% agreed
Came here through a youtube game dev rabbit hole. Staying for the interesting info and usage of Godot! Looks great!
Thank you for sharing this, and posting detailed steps on Patreon. You're a legend!
You're welcome! :D It's something that I had been struggling with for a while, so I'm glad people find it useful.
I love it, it makes the world so much more immersive! If I could suggest on thing, it’s to fade the “permanent” tree shadow at night, as it doesn’t make sense to have it there when there is no sunlight. If not, perhaps changing the night light to a moonlight colour.
Keep up the great work, I’m really enjoying the progress, and it is inspiring me to get back into game dev :)
I will. I wasn't able to for the video because TileMap shaders take their quadrant into account, so the positioning logic I use doesn't work. I didn't have time to sort it out before the video.
Yes! New video!
Indeed! This is my favorite one so far!
I 100% enjoy more the one that is super smooth and doesn't feel like a circle around the player
watching this project take shape has been really entertaining and insightful! keep it up :D
Thank you for being a part of it, Barwani. :)
the smooth transitioned lighting looks so good!
Dude this is really nice! I do like the retro lighting (solid circles), but honestly I think I prefer the smoother one. Just my opinion. It looks like you've gone with the smoother one as your final result which is nice! Also thank you so much for putting this up on your patreon! Really kind of you man, I'm going to check it out myself because I've been back and fourth with lighting/day systems for a while not but this has got to be the best implementation I've seen.
Thank you. :) Yeah, smooth is definately the one that I'm leaning more towards. The bands are a bit harsh on the eyes and distracting. As for putting it up on patreon, any time. :) I have spent so much time trying to figure this out, so I'm sure this could save other developers a lot of time and effort. I'm happy to help.
yay new devlog!
Zippity bop! :)
The smooth look is great! now to add some normal mapping to trees/rocks/buildings/terrain to make the lighting on those objects much more immersive!
If we talk lighting having secondary item which can be two-handed weapon, shield or tourgh might be interesting idea. This is directly from Dark souls 2 Trailer gmaeplay where they have short vision range and take torch to light up dark place (ofc after release it was chance so you can see to the darkness which ruined several things using lighting in that game)
If I were to go with lighting, I think I'd probably just keep it a simpe lamp at your waist. I just want the light to create a nice atmosphere for the game. Not too concerned with implementing it mechanically.
Loving how the smooth lighting blends with the pixel art 😍
Glad to hear it. :) I think it works rather well, better than I thought it might.
With every devlog my excitement grows stronger
Glad to hear it!
Great job! Love the lights, this game keeps looking cooler and cooler!
Thank you. I'm very happy with the lighting system. I have some tweaks in mind for later to make it even better. :D
I really liked the look of the retro inspired lighting, with multiple bands. It does look a little bit weird when the light sources have different strength, but I like how they merge when they are at the same level. I don't think the contrast is too harsh, as you mentioned. I feel it gives a stylish look. Nice work, and thanks for sharing :)
I almost don't want to watch the devlogs just to find all the fun things in the game by myself, but they are very entertaining!
It's tough but I'm trying to not share as much of the fun as I possible can to keep it a secret for the game's release. :)
Have you tried using dithering for retro-feel smooth transition? Could try out different kinds of dithering algorithms and intensity. You could also take some inspiration from Lucas Pope's "Return of Obra Din" game, which uses a "fixed" dithering so that the dither doesn't become too distracting when scaling and merging with the background.
I'll take a look but I'm not a fan of dithering usually. :)
It seems a game very fun! Congratulations for your work, buddy!
Thank you. :)
Last night, I created my own Day & Night system. And today morning, I got recommendation from youtube. I just shock now.
It knows. xD I absolutely love day night cycles in games. What are you thinking of doing with yours?
The night time looks brilliant! Great explanation into how you made it as always.
Thank you. :)
i tried to learn godot a time ago, and ended up still with gml, youre a god at my eyes.
the look at 5:12 looks like a thunderstorm so that could be an idea for your game
That's planned. :) I even have an enemy that absorbs lightning attacks and becomes an especially worthy foe during lightning storms. :D
@Game Endeavor Thats so cool!
Really impressive light system! I wasn't sold on the light source from the outset of the video, but you definitely convinced me the way through nice job!
Thank you. :) Out of curiosity, why wasn't you sold and what convinced you, if you don't mind my asking.
@@GameEndeavor I wasn't sure what it was going to add to the game, but you mentioned dungeons you wanted to create and while you were saying that the area looked a little bit like a haunted woods! I'm just now dipping my toes into lightning so I didn't know what type of an impact it could have
@@Nick-Games9 Aaah, gotcha. imo lighting makes such a major impact on aesthetics, especially if you do the color adjustment properly, which imo a lot of games get wrong. :)
@@GameEndeavor Yeah I really liked how you actually changed the color of the textures in a dimming radius, definitely changed the atmosphere
Hi!
About the lighting: I don't work in godot, but it should support something like this:
As you're doing things right now all the lights have to work in very similar manner
1-Create an off-screen texture to which you render your lights however you want
2-Use that texture as the light info. You can just overlay it over your entire screen with multiply, or if you render the world to an off-screen buffer as well you can combine both of them and do some neat post processing.
You should be able to store all sorts of information into that texture (or several textures), (specifically the colour of the light at that point, rgb 0-255)
It has the advantage that each light can then have different behaviours.
This should enable you to fix a few issues you have in the current version:
1-That dark band between two nearby light sources will disappear since you can now add the light sources together rather than just selecting the nearest one.
2-You can read that texture when drawing other shadows (eg: like the ones from the trees you have all over the map), and blend out those shadows according to light sources.
Lighting looks nice and toasty!
The only other idea for a lighting option I can think of is:
Perhaps it would be possible to write a script which generates a solid pixel circle of variable size for each light source, and omits pixels from the edges of the circles using a dithering algorithm. So you'd end up with a pixelated version of your smooth fade effect using the dithering, (this might work better with tiered lighting circles) and if you were able to rapidly toggle the dithering pattern/strength, you could also produce a cool flicker effect that might blend more with the art style.
A few retro games used dithered vignette glows, though they weren't nearly as dynamic.
Frankly, this sounds like it'd be a pain to implement, so perhaps just render your lighting using a dyson sphere and call it a... day?
In any case, very snazzy stuff!
Thanks. I'm not too keen on dithering but it has been suggested a lot recently so I may look into it. However I have gone back to the banded lighting for now and made some minor tweaks to improve how it looks. :)
@@GameEndeavor Cool beans, can't wait to see
Another great devlog! I really like the lighting system. :)
Thank you! I'm very pleased with it. My proudest gamedev achievement, lmao.
The light system looks amazing!
Thank you! :D
Just discovered you last night through your AI video. really interesting things I like how technical you're getting. I'm not quite there yet as I'm working on an SDL game engine with c++ and am still working out a data-based management system for the engine (using xml files. its really neat and will allow for extreme modability). Still haven't touched opengl yet but when the time comes to do these various aspects I'll definitely be using your videos as reference. Keep up the good work.
This is really impressive, I always miss your streams xD. I'll try to catch you next time.
No worries. :) It's an odd time for some people. I hope to see you at one soon.
I personally really like the more retro styled lighting but anything that you made would be perfect I’m sure
I've actually tweaked the retro style lighting to make it look better and have been using it currently. :)
I just can't get over how cool the adrenaline system is tbh
It's such a massive improvement. It completely alters the flow of combat I think.
Ha! I knew you would add it when I asked you in the live stream!
Add what exactly, a lighting system? I've always wanted to add one as soon as I knew how. :)
the lighting band looks cool !!
that's the video i needed from you !!!!!!!
This one exactly? This is my favorite one so far. I love this effect so much.
@@GameEndeavor please can you give a complete tutorial on it...I am a bit beginner and not getting completely.....please make a full tutorial....pleaseeeee
plzz reply if you will make or not
..(but I know you will)yeee🥳🥳
@@seemarajput779 I'm not making any tutorials anymore, sorry. :) However if you check the description there's a patreon post where I break down the process further and provide the code that I use for this effect.
I want to say that Godot does have a "mix" setting for Light2D light masking, which allows for what you want. It gets the average of all of the lights at a specific picture, rather than adding all of the RGBA values.
I've played around with it and didn't like it. I've spent many hours working with their lighting system and various settings.
I like the smooth version best. But I have a two ideas.
1. The sunrise and sunset could have more yellow/red in it.
2. Night normally is bluish and the saturation is way down, almost grey. Because in the eye there are several light-detectors. Normally you see with the colorful ones. But in very low light conditions they don't see anything anymore. Then you see with the ones which only see grey.
Thats awesome man !
Thank you. :)
This looks great! Just a suggestion: for the shadow tiles, change their opacity depending on the time of day (i.e. most opaque during the day, invisible during the night)
Easier said than done. :) I wanted to but didn't have time to. Godot's TileMaps are broken into quadrants, which breaks the way I get the world position in the shader. But I recently got an idea for how to fix it.
@@GameEndeavor looking forward to seeing it! Keep up the great work
THANK YOU! This is amazing!
Glad you like it!
Looking pretty good, I encountered a lot of the same issues when making a lighting system for a 2D game. I would also tie the alpha of the environmental tree shadows to the global lighting variable, since it doesn't make too much sense to have overhead shadows from the trees at night time.
I tried to but TileMap shaders don't work quite how you'd hope. Since it's broken into quadrants, the logic I use is relative to the quads and not the global_transform passed, so it only works on one small section of the TileMap. But I have ideas for how to fix it. :)
You should either combine your night time multiply layer and canopy shadow layer into a single shadow layer, OR apply the same kind of day-night dependent fade to your canopy shadows, since the contrast of those shadows will be harshest at noon and will fade to basically nothing after dark (since everything is "in shadow"). If you combine them into a single layer, this could also allow your light sources to "cut" into the canopy shadow in a realistic way.
Yeah, I had kicked that can down the road because I wasn't sure how to handle it, because TileMaps in Godot are broken up into quadrants, so accessing the world position the way I do in the lighting shader isn't as straight forward. Been racking by head how to solve this but you just gave me an idea.
I could probably put the canopy shadow into a Viewport and render that over the world, applying the shader to the viewport render. I'll take a look at that soon, thank you. :)
It looks great. Congratulations!
Thank you! I'm super happy with it. I haven't been this excited in a very long time.
This is one of the best features in your action RPG Game!
Thank you! It's certainly on up there for me. But I think the ai system with enemy factions and party members being my favorite feature.
The light looks great!
Thank you. :)
your existential rant was muah
YES I got into this dev log like a day ago
Eyy, thanks for watching! :) Glad you found them.
So did i
I would have applied the alpha and wondered for ages why it looks bad. Thanks for the video!
Can’t wait until the demo comes out!
Me too. I want to see what the game looks like by then. :) I'm loving this so far.
ahhhh yes a blood moon event
that's TOTALLY unique and hasn't been done before xD
I think little forest fireflies/glowworms would really suit the style of your game to maybe light up pathways or even give pointers to where some secrets might be hidden.
Absolutely. I wanted to add in fireflies this week but unfortunately didn't have time to. I'll be doing that asap though. :) Glow worms is an interesting idea that I hadn't thought of.
@@GameEndeavor looking forward to seeing the progress as ever.
Can I make a suggestion? Have a seperate shader set to multiply for sunrises and sunsets. You could have the mornings feel slightly bluer, and sunsets slightly redder. I think this would do a lot for immersion, and will allow the player to see time of day at a glance.
I think it would really help the night vs day look if the 'shadows' of the treetops (the shadow layer thing) wasn't active at night. It doesn't really make sense that it is darker underneath the trees if the light source is also under the trees :P
Maybe you can add the treetop shadow to the same lighting texture? As in--fade away the shadows as you fade in the darkness of night?
Anyway, cool stuff man. I love your design sense; keep it up!
I agree but there's only so much you can do in a week, and I was making weekly videos at the time. :) Besides, that's not as simple with the TileSet because getting the world position in the sahder is difficult because it's broken up into quadrants, and not to mention computationally expensive. Currently I don't know how I'd deal with it. But I plan to look at it some day, the main thing was the lighting shader.
The one that has the dark lines in between the lighting looks the best by far even with the bug choose that one.
This lighting system should be part of godot's 2D Lighting system!
I find it more appealing of an overlay of a dark purple hue in the night .. and in the day I lower the saturation go to light blue hue ....then in sunset I put mid value and saturated yellow hue ..
The retro style is cute and matches your aesthetic for the game.
You could make it seem smoother by making the dim light extend farther and blend them more.
For the clock, you could do the same thing minecraft has done but with your own twist. Like the time is either sunrise, noon, sundown, or night.
@@xxflowerfamkxx1670 I decided to use the retro version for now, but tweaked a little bit. And I already have the ability to set the time like that for debugging purposes. All it does is set the time to a predetermined value.
@@GameEndeavor That's great to hear! I would honestly want to play this game. Most NPC's are too robotic and it might be a breath of fresh air to develop relationships in the way that you developed.
The banded lighting looks nice, but I would add a dither filter on the transition between light and dark. I noticed (as seen on 5:00) that the smooth version is being multiplied with nearby sources. I know you do not want an over exposure (add is out of question), so instead you could do the maximum of both, otherwise it looks like the lights are fighting each other. I hope to see this project finished it looks so promising.
It's not actually, it is taking the maximum value which causes the effect you describe, iirc. I tried multiplying but it felt bland. However I have since gone back to using the banded light for the moment with some tweaks.
I'm not a fan of dithering, so it's not likely to be an option I go with, though I do intend to maybe try it at some point to see how it looks.
@@GameEndeavor Well that is weird, I don't see how the maximum would cause the "squish" effect when two light sources are moving together, but anyways the banded looks nicer. You could experiment with using the dither as a divisor between each band instead of full dither shadowing. This way it is neither a hard transition nor the full dither effect.
To be honest, the Endeavour Lighting System(ELS) has a pretty nice ring to it
lmao, I might just use that. xD
even i also made a lighting system in Godot for our jam i used canvas modulate for that this meathoad looks cool i will add to my indie game just getting it from you :)
Thanks. :) I considered using a canvas modulate but figured I might as well just use a custom blend mode. It gives me more control, especially if I want to use a different blend mode later on.
The degree to which you're hacking things here is mind boggling
That's what I love about Godot. There's always these fun little ways to hack the engine and do some powerful stuff.. Or just look cool to your friends.
5:58 Blood Moon you say?
*Terraria joined the chat*
Oh I thought it was a botw reference
Edit: autocorrect
@@aaronking2020 might be too. Who knows.
I really like the timer in top right
Thank you. :) It's mostly there for the devlog viewers to demonstrate how time works. If it's added to the game then it'll look much nicer.
@@GameEndeavor I will look forward to it in the game
Really nice. The smooth ligh the best and fire effect.
Maybe that people sleap ower night and just some folks work ower the night ...with option to sleap....
Your game is becoming beatifull :) thanks for sharing.how you are doing things. :)
Thank you. :) Yeah, there will be an option to sleep / wait if you don't want to play through the night.
In one game it was that you have to sleap or your caracter fall a sleap by it self... so you have sleap bar...when empty he will pass out. At first when full you cant sleap at midle you can so uymts good to sleap before mision then when close to empty he become slower...
So it could be anoying or fun? Not shure...
Itrasting to see where it will go.
The smooth transition lighting at 3:52 is just the best, please use it!
Inside buildings, they should be lit, whether the art has torches or not
Make the character pull out a small torch when it’s night time so it makes sense that the character glows
If you can add alpha maps, you can add a radient gradient map centered on the light source. This allows you to change the fall off.
You could probably have different light shaders for different types of areas like plains, tree covered, dark forest, dark interior, and caves.
That's the plan. :) I have variables I'll change based on the environment.
Cool lighting efect, I like it. Gives you lot of combinations/opotrunities and I can't wait to see how is this all going to end - will be a great game :)
PS: Day/Night cicle is ok, but day/month/year is overkill in my opinion.
It won't be a major thing, but I still like having the option. Like how it's a thing in Skyrim but you probably never notice it.
It looks like when the player character gets near a light source he darkens the area around him. It seems very unintuitive to me, because as a light source his light should constructively interfere with other light sources.
I really enjoyed seeing the light (of the player character, specifically) kind of pulsate. It made me momentarily think of a heartbeat, before I paid attention to the rhythm. I do wonder now, what if the light did behave like a heartbeat for the player, and it shrank as the player's health goes down? I'm sure it would be a bear to program though
Really cool content, suprised you don't have more subscribers!
Thank you. :) I'm pretty happy with what I have. TH-cam seems to be pushing every video I make more than the one before it, rather than just blowing up a particular video and then forgetting about me. :) So I can't complain.
Great work!