man thank you for this. i've been putting the finishing touches on my first game and i wanted to add a basic lighting system but didn't want to have to go back and change every bit of how things interacted for a more complex light system with shadows and whatnot.. this is perfect for what i want. simple but effective.
Timestamps for reference: 1:29 Create the object oLighting (set the events and variables needed) ***ERROR FIX AT 12:31 timestamp below 4:15 What the glow effect looks 6:56 What will glow, and setup in the draw event 8:53 Add a variable "darkness" to oLighting to manage the darkness of the room. Set it to 0.5. 10:12 Demo 1 10:39 Darken the room (In the draw event of oLighting) 12:31 Fixing an error (surface_set_target(light_surf) and draw_clear(c_black) in draw event) 13:30 Demo 2 13:42 Subtracting from the darkness where the light is 15:08 Demo 3 15:59 Apply the glow for the shrine 16:54 Final Demo 18:05 Managing the darkness, Bonus Demo
great material, congratulations, I don't like the variable definition window, but anyway, nothing to complain about, continue with your videos, Thank you
Awesome tutorial dude! There is only one thing I cant figure out how to do with this system, if it is even possible ofcourse. Basically I want a lighting system like this in my game, but I want to make is so that things further away on the depth will have a lower amount of light displayed on them, and lets say for example the sky at the highest depth will not have any light on it at all. Do you know how I could make something like this?
I've got everything working in this just fine except for the blending where the shape of the light is subtracted from the dark surface. Doing this renders all things drawn below the light source to be completely enveloped in black, I assume their shape is being deleted as well. Unsure as to how I can have my light exist at a depth where it is properly affecting all the sprites I want it to without it also just erasing them if I add the subtraction.
hey i need help my code isnt working eventho i copied youre code if (surface_exists(light_surf)) { surface_set_target(light_surf) draw_set_color(c_black)
with (Player) { gpu_set_blendmode(bm_normal) draw_sprite_ext(sLight,0,x,y,1,1,0,c_white,0.5) }
gpu_set_blendmode(bm_normal) surface_reset_target() draw_surface_ext(light_surf,0,0,1,1,0,c_white,1) "its 1 Because i thought darkness was the Prob" } else { light_surf = surface_create(room_width,room_height) } Edit:SOAB it was DRAW CLEAR BLACK
When minimizing the game or alt-tabbing, most of the screen goes black with only the glowing parts remaining. Has anyone else encountered this issue and knows how to fix it?
Hey there. sGlow is the name I gave my sprite. You can name your sprite anything you like. Just make sure to replace sGlow with the name of your sprite. Hope that helps. 😬
man thank you for this. i've been putting the finishing touches on my first game and i wanted to add a basic lighting system but didn't want to have to go back and change every bit of how things interacted for a more complex light system with shadows and whatnot.. this is perfect for what i want. simple but effective.
Excellent lighting tutorial! Thanks so much. Super useful.
Thanks!!! Glad you like it!
Timestamps for reference:
1:29 Create the object oLighting (set the events and variables needed) ***ERROR FIX AT 12:31 timestamp below
4:15 What the glow effect looks
6:56 What will glow, and setup in the draw event
8:53 Add a variable "darkness" to oLighting to manage the darkness of the room. Set it to 0.5.
10:12 Demo 1
10:39 Darken the room (In the draw event of oLighting)
12:31 Fixing an error (surface_set_target(light_surf) and draw_clear(c_black) in draw event)
13:30 Demo 2
13:42 Subtracting from the darkness where the light is
15:08 Demo 3
15:59 Apply the glow for the shrine
16:54 Final Demo
18:05 Managing the darkness, Bonus Demo
nice! thanks!
You are King!!!,Thank you so much.
Thank you!! Just added a day night cycle, by having a time variable change the darkness, and making the alpha of the light be the darkness -0.5
Woah that is amazing!! Nice!
Hi my friend! can you make a tutorial on how to handle resolution and camera? your game looks very good and sharp
at 4:06
can also be written as
/// ! //work as a “not” term
if !surface_exists(light_surf) {
light_surf = surface_create(room_width, room_height);
}
Great video, thank you.
you save me so much time thx a lot !!!
thanks, this tutorial was very useful!
This is so cool! Can you please do a tutorial on manipulating the shape of the surface?
Btw you got a sub and a like :)
Woah the shape? What do you mean?! 😮
@@NorthGameStudio I'm not that familiar with surfaces. Isn't there a way to change the shape of a surface?
great material, congratulations, I don't like the variable definition window, but anyway, nothing to complain about, continue with your videos,
Thank you
Thank you very much!
Thank you very much! This is exactly what I was looking for
Hope it helps!!! Thanks!
Awesome tutorial dude!
There is only one thing I cant figure out how to do with this system, if it is even possible ofcourse.
Basically I want a lighting system like this in my game, but I want to make is so that things further away on the depth will have a lower amount of light displayed on them, and lets say for example the sky at the highest depth will not have any light on it at all.
Do you know how I could make something like this?
I've got everything working in this just fine except for the blending where the shape of the light is subtracted from the dark surface. Doing this renders all things drawn below the light source to be completely enveloped in black, I assume their shape is being deleted as well. Unsure as to how I can have my light exist at a depth where it is properly affecting all the sprites I want it to without it also just erasing them if I add the subtraction.
This is one of the rare good gms2 tutorials, unfortunately still drawn out to 20 minutes
Thanks I appreciate that and I think you’re right, I need to make these shorter lol
TOP!
how to make different layers unaffected by light
Put the depth of your lighting layer below the depth of the layer you don't want effected by it.
hey i need help my code isnt working eventho i copied youre code
if (surface_exists(light_surf))
{
surface_set_target(light_surf)
draw_set_color(c_black)
with (Player)
{
gpu_set_blendmode(bm_normal)
draw_sprite_ext(sLight,0,x,y,1,1,0,c_white,0.5)
}
gpu_set_blendmode(bm_normal)
surface_reset_target()
draw_surface_ext(light_surf,0,0,1,1,0,c_white,1) "its 1 Because i thought darkness was the Prob"
}
else
{
light_surf = surface_create(room_width,room_height)
}
Edit:SOAB it was DRAW CLEAR BLACK
When minimizing the game or alt-tabbing, most of the screen goes black with only the glowing parts remaining. Has anyone else encountered this issue and knows how to fix it?
where can i get this theme?
draculatheme.com/gamemaker-studio enjoy!
@@NorthGameStudio thanks man
some objects that use DRAW GUI no longer display their draw events after adding a surface.
any help?
hhhmmm. you may want to include draw_self() at the very top of the draw events on objects that are not appearing.
what is sGlow? Y ou havent specified what I am supposed to do and now I am getting error, because small glow can not be found
Hey there. sGlow is the name I gave my sprite. You can name your sprite anything you like. Just make sure to replace sGlow with the name of your sprite. Hope that helps. 😬