12082019
Spent all day messing around with various lighting systems across all different kinds of implementations – shaders, surfaces, straight-up line traces – before finally arriving at a solution I’d already been using for over a month now (albeit for different purposes). I’m using a slightly modified version of this lighting system now to simulate FoV in interiors, and it works really well for my purposes because it’s pretty lightweight and slots in really effortlessly without too many changes to any other things.
The one thing I did have to change though was the grass, which I was planning on changing eventually anyways because before I was using a paid extension off of the GM Marketplace. Since both the lighting and the grass rely on vertex buffers, which I know literally nothing about, they broke one another’s functionality so I decided to remove the less critical one. I’m now generating all of the grass as objects, with a single draw pass in the master draw event. It looks basically identical to before although I’ve lost the slight animation for the wind effect; I’ll mess around with some shaders or even hand-animated sprites maybe at some point, I’m not too worried about it.
I haven’t noticed any major performance dips which is what I was originally concerned about, but also, I have noticed pretty significant dips (down from the fixed 24 to around 18 or so) although I haven’t been able to identify the exact cause. I was also recording footage though when I noticed the dips and I think the game’s been running on the integrated chip this whole time, so if that turns out to be the issue, it’s not too much of a concern. I’ll still take a look at optimising everything later on down the line, but as they said, never pre-emptively optimise if you can help it…