space prototype

Lighting Optimizations, Compositing

dcfedor's picture

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.

The short answer was "no."

Lighting and Line of Sight Testing

dcfedor's picture

Hey Folks! Hope everyone had a good weekend. Pretty smooth sailing here, though the air is getting a bit chilly.

Today was a bit shorter than usual, due to a parent teacher conference this morning. So once I got back to the office, I decided to tackle something a bit different: lighting/line-of-sight rendering.

Story Time

dcfedor's picture

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.

Wall Salvage, Room Recalculating

dcfedor's picture

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.

Damaged Walls, Scrap, and Scattering Items

dcfedor's picture

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."

Stacking Up

dcfedor's picture

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.

Stacking Items

dcfedor's picture

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.

Scrap, Parts, and Junk

dcfedor's picture

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.

Salvage Pod, Uninstall Scatter, and Usability Fixes

dcfedor's picture

Hey Folks! A few new additions today, plus a bunch of clean-up, fixing, and streamlining.

First on the list was to remove orphaned placeholders when the person installing them changed their mind. Previously, ghost items would just be left wherever if the AI got interrupted, but now those ghost items are cleaned-up. I also noticed that installing items on dark ships was hard due to using a lit material, so I added code to change the item being placed to use an unlit GUI shader.

Installing Works, Old Part Cleanup, Airlock Fixes

dcfedor's picture

Hey Folks! Pretty productive day, today. I managed to get part installation working, as well as some fixes and cleanup done.

It turns out I was actually pretty close to a working system yesterday. I just needed two things.