
So, after months of reading, downloading samples, and other fruitless attempts at learning how to use shaders, I finally understand. It’s reallllly not that difficult, and like all things in the programming world, anyone who tries to help assumes too much when they try to “help” you and end up confusing you further (when they are not outright condescending for asking an obvious question). As you can see here, Arashi is lit up at night, giving a soft glow around her that lets her see the surroundings a bit better. Now, I’m cheating a bit here to show off the image, but in the actual game code, this glow only appears when Arashi is holding or equipped with a light-emitting object (like a torch or lantern) in her special item slot (or left-hand as we like to call it in the real world). The light effect also works on furniture or other objects laying around (like, if you wanted to, you could have Arashi drop some torches or lanterns on a path and light them up, to mark your way), but since I don’t want to show the inside of Arashi’s tent anymore you’ll have to take my word for it until I get another more advanced screenshot. This actually uses one of the simplest shader possible, but it does use it, and now that I fully understand how to use shaders to do other more dramatic effects I can put that to use when I make Arashi’s (and the enemies’) special attacks and spells.
Otherwise, it’s been a slow couple of weeks, I’ve been adjusting to a permanent day shift at work so I haven’t really had a lot of energy to do much but sleep when I get home, and to make things worse, I finally caught a cold after more than a year of work, so I’m even more bogged down. But fear not, this lighting/shading thing was the biggest obstacle in my programming, and it’s getting to the point where I have to do more artwork. I hope to hear from an artist I’m asking to help draw the portraits while I work on the sprites.
If anyone wants any help explaining HLSL lighting at the beginner level (no need to be ashamed, I’ve been coding for decades and just now “got it”), just send me a comment and I’ll do my best 🙂