Hey Folks! Hope everyone had a good weekend. Feels like it was a busy one here, though I can't seem to pinpoint why. Chalk it up to parenting, I guess :)
I resumed work on the new renderer today, fixing and tweaking progressively smaller factors. The aim is to hopefully arrive at the quality level we used to see with fully 3D lighting, but with faster performance allowing us to have more of them.
Hey Folks! Another light update day today, as a chunk of my time went towards working on the teaser/trailer script. I'm feeling pretty good about it, though, which is a relief. Before I reached out to Josh and got this started, I was a bit anxious it wouldn't be possible to make something exciting with the limited gameplay so far. But I'm definitely more hopeful now :)
Hey Folks! Bit of a short update today, to go with a shorter day. Plus, a lot of the stuff I did today was more administrivia.
I had to cut a new gameplay video for NEO Scavenger to be used on the Kartridge store. This one is meant to be a background video, so needed to be shorter, looping, and more demonstrative than a typical trailer. A couple hours to record the footage and cut it together, then notify parties waiting for it.
Hey Folks! Started work today on merging the experimental renderer with the main project, and so far making steady progress.
There was a fair bit of blind work as I started copying over the necessary code and assets, and figuring out where the new stuff should live. I had some old procedurally-generated shadow mesh code that I could replace with the new square light-blockers I'm using. And the old Unity light prefab could be replaced with the new line-of-sight light component.
Hey Folks! Hope everyone had a good weekend. I finally got with the times and started The Witcher 3, and it's pretty good so far. I don't know if I'm drawn in as much as some folks I've heard talk about it, but maybe my taste is changing. Still, I'm really digging the attention to detail and immersion.
Hey Folks! Adding a few more finishing touches to the renderer today, as I remembered the space prototype has objects that get rotated, animated, and have transparency.
So far, everything I've been testing was set to zero rotation, not animated, and opaque. So some of the calculations I was using start to break when things don't fit that bill. Fortunately, these are fairly standard problems and there's a lot of info out there on how to solve them.
Hey Folks! The line of sight and lighting test seems to still be going well. I've got it rendering multiple lights now!
There was one more bug to solve in the single line of sight/light code I've been working on, and that was to get the line of sight to behave when there weren't enough light blockers nearby. By doing that, I was able to get the light to produce nice round shapes regardless of the surroundings.
Hey Folks! A bit more progress today, as you can see from the image. I got a slightly better wall visibility trick working, and I'm working on limiting vision/light range.
Yesterday's trick to get walls visible was a bit hacky, and I wasn't thrilled with it. I basically just extended the vision rays outward a bit so they revealed chunks of the walls that stopped them. However, it revealed walls in weird slanting angles, and it was a bit distracting when they moved around. Interesting to look at, but for the wrong reasons.
Edit: I spent another 10 or so minutes after posting this today, and managed to get a wall reveal/penetration thing working! The image has been updated accordingly.
Hey Folks! Getting a bit closer now with the new rendering code. As you can see in today's screenshot, the line of sight mesh is now rendering appropriate texture colors for the exposed floor, as well as a simple lighting component based on the floor's normal maps.
Hey Folks! Hope everyone had a good weekend, and Turkey Day if you celebrate that. We were fortunate enough to have friends invite us to their parents' house for dinner, which recharged our social/family stats, so to speak.
The time away also seems to have helped refresh the old brain. I think I'm starting to get somewhere with Unity's rendering pipeline, and a better understanding of it.
Hey Folks! Nothing pretty to show off today, unfortunately. Still wading through the Unity rendering system and trying to get acclimated.
So far, I've been able to get the scene's color information to write to a render texture. That part was pretty trivial. And you can see it covering most of the screen in today's screenshot. However, what I'd like to do next is turning out to be a bit tricky.
Hey Folks! Making more progress on the alternate lighting engine today.
Yesterday's work got basic light rays drawn on the screen, which appeared to cast shadows on random blocks placed around the scene. Not a bad start, but one of the next things I wanted to check was whether this actually scaled up to many lights/shadow casters or not.
Hey Folks! Finished some features today, and had a cool micro story to share as a result.
In today's gif, we see Ian docking his salvage pod to a derelict. He starts in his airlock, and crosses the gangway into the darkened derelict. We can see discarded EVA suits, scrap, and loose items on the ground. Then, using his drill to cannibalize some conduits from elsewhere on the derelict, he installs them in the mainline from the reactor to restore power to some lights and sensors.
Hey Folks! Finally got the wall salvage interactions done, and made a few bug fixes before starting work on a missing room feature.
I figured out that placement bug from yesterday. It turns out that the loot generated by salvaging starts at tile 0,0, floating in space (i.e. not part of a ship), and as the game tries to place loot on existing stacks, it picked up those floating pieces and stacked there. I just changed the code to ignore pieces that were not part of a ship when placing loot, and it behaved correctly.
Hey Folks! Work continues on item stacking, and expanding various loot systems to use it.
The big change today is getting mode switching to support lists of new items instead of a single new item. E.g. having a wall convert into a damaged wall plus a list of scrap parts when it receives a "damaged" interaction, whereas before it could only change from "wall" to "damaged wall."
Hey Folks! Almost there with the stacking feature. I've actually got loot spawning into an area and stacking correctly, it seems. And now we're down to edge cases and other ways loot appears in the game.
Hey Folks! Hope everyone had a good weekend. It was pretty much wall-to-wall for us, between household maintenance and a trip to the zoo with the little one. Hardly feels like we relaxed at all!
And in keeping with that momentum, I decided to tackle stacking items today :)
I'm pretty sure I'm going to need stacking at some point, so I dug into the code. And as predicted, it's pretty hairy. There's a lot of record-keeping and juggling of references, hiding and revealing of objects, and a lot of conditional placement.
Hey Folks! Took a bit of an art and research break today, focusing on adding components and scrap to the game.
Now that we're starting to use tools to break down ships, and ships can receive damage, I thought it made sense to add items to represent some of the smaller pieces that result from each. We have loose components that can be removed and reinstalled elsewhere (or sold), but there are some things we'll only be able to break down into smaller parts if we want to move or make use of them. E.g. ship framework and bulkheads, sections of wall, dead equipment, etc.