Sparks Fly and Crew Sits

Hey Folks! Made some decent progress today on some visual features which should help in the upcoming teaser.

First, I finished getting crew to sit correctly in ship equipment like toilets and nav stations. I ended up adding a new field to objects to store the current idle animation name, and allowed interactions to change that. This way, when the crew is awaiting a response from equipment, like when using a control station's UI, instead of the default standing "Idle" animation, it can use "Sitting" as the idle animation.

I also had to fix a bit of the data so the crew starts out "using" the station, using the typical standing anim. That allows the AI to approach the station normally without sit-hovering across the floor. Then, once they arrive at the station's "use" point, it switches to an interaction that teleports them to the "sit" point, and triggers their "Sitting" animation. It also changes their idle animation to "Sitting," so when they finish sitting and start waiting for the UI to appear, they remain seated.

Finally, I added a new interaction called "DoneUsing" which restores the standing idle animation, and teleports back to the "use" point. This produces a pretty normal-looking succession of animations and positions when using ship equipment.

While I was there, I fleshed-out the sitting animation to involve some head turning, button-pushing with arms/hands, and leg positions more like a relaxed person. They now look like they're using the station while seated, which is pretty cool. You can see that on today's screenshot, to the right.

With that done, I started working on the next shot: the crew repairing equipment, which needs a visual effect for sparks. This took a bit of fiddling to get good settings and sprites for, but I'm pretty happy with the outcome so far. Today's screenshot on the left has a sample of this. Sort of a lens flare combined with blue shadow-caster light, and some white-hot sparks emanating, that fade into yellow and then red as they cool off. They even bounce against walls and floor!

I still have a few things to tweak with respect to these sprites, scaling, and params. But the next thing will be to assign some sort of controller to make the sprite and shadow caster flicker more, instead of sitting there static.

And once that's done, I have to figure out how to attach this to the crew's hands without messing up scaling/orientation.

Still, though, I think it looks pretty good!

Tags: Ostranauts

Comments

Rovlad's picture
Rovlad

Will there be an option to remove overhead stuff like those wirings, or (probably a better solution) make them semi-transparent?
I feel like those are probable to get in the way of the view, like in the screenshot on the right.

PS. What's with the completely white tile on there, too? Is this a bug?

dcfedor's picture
dcfedor

I think the overhead stuff might end up being a layer that can be toggled. Or alternately, something one can only see in schematic/x-ray view when requested by the user. I think it can add to the atmosphere when it's visible, but you're right that it can get in the way, visually.

The white box isn't a bug, but I agree it looks weird. It's blown-out from too many lights hitting it at once (like overexposing film). There's one light near the orange suit on the right, and another immediately to that box's left in the next room.

Normally, the light would stop abruptly at the wall's near edge, leaving the floor nicely illuminated, but the wall black. So I added code to reveal any wall the light touches, so we can see the entire room we're in, walls included. The side effect is that walls like this can get unnatural illumination accumulation.

Note that the box immediately below it is dark because the room on the left is only one grid square. And the light-touching-wall-reveal code I added doesn't work on corner tiles. It might make things look a bit less jarring if the corners were somehow included.

Also, I might be able to tweak the renderer so that it graduates the lighting from leading edge to trailing edge. Maybe through vertex tinting. At least that way, cases like this would have less overlap.

That said, placing too many lights close together can cause this overexposure anywhere, even on the floor.

Dan Fedor - Founder, Blue Bottle Games