Saturday, August 17, 2024

The King is Dead! Long Live the King!

So, there's no update from yesterday because, for lack of a better term. I cracked it. I said I was going to try to work out what I needed to do for my lighting system in an image editor, as I wasn't really able to work it out on the fly in the code, and I opened up trusty GIMP and did a few screen shots, mocked up what sort of lighting I wanted in some layers - and proceeded to find out, why it was exactly, that I couldn't get the look I wanted from it. For the graphically minded, I had a composite layer of world (terrain, decorations, animations etc) then a world lighting layer, then a player/creature lighting layer. And therein was the problem. Once I applied the first lighting layer, I was potentially shading out parts of the world that I didn't want to put into shadow, and there was nothing that I could do with the second layer to bring it back.

I could make it look half-not-terrible with a medium lighting level, but as soon as things started getting dark, it went to the dogs.

So. It was time. The King (Lighting System) is Dead.

I did a complete do-over. I discarded the entire lighting system and rewrote it completely different from the ground up.

Long Live the King (Lighting System)!!

There is some bad news. My old system could do a "shimmer" which meant that lighting looked like it was dancing about within it's radius. And I've lost that. I can't get that working with the new system.

There's a lot of good news. Big good news. Most important by far, is that the new system actually does what it's supposed to do. The player lighting as well as stationary world lighting looks and works the way it should. When there is a lot of ambient light, and when there's basically utter darkness. There's more great news. The framerate has basically doubled. On my device, the framerate is now back up to about 35 frames per second, which means it feels completely smooth with the recent changes I did for the extra threading and subsystems. That means a few things. Firstly, I have some CPU cycles that I can use for other stuff. I can see some weather and particle effects in my future. (Seriously, future, not now). Secondly, as I was implementing it the new lighting system, I saw potential for doing a whole bunch of different effects that will open up really fun possibilities for character states or abilities that I wasn't really able to access with my old system. I know that's vague as buggery, but at the moment, it's sort of open ended in my thought process. Basically, I can do really cool stuff with the world view in ways I couldn't before, and I'm excited about all the ways I can use that to make a better story and game.

Also. I fixed a few bugs as always. Vendors were working perfectly well on my local setup, but weren't working in the online version. There was a good bit of faffing about with tweaking code to fix some warnings/error messages showing up in my deployed build compared to my local server install. Anyhow. Vendors work again. Again, getting closer and closer to an alpha test.

I think with these things now in, I'll look to build a little more world, set up some encounters and see if I can create a few starter quests and then focus on making sure quests do indeed do all the things they should do.

No comments:

Post a Comment

Character Inventory Updates

So, quick update. I've been chipping away at various bugs (Read; BUGS BUGS BUGS!!) and generally enjoying the process as it lets me not ...