We've Moved


The blog has been retired - it's up for legacy reasons, but these days I'm blogging at blog.theodox.com. All of the content from this site has been replicated there, and that's where all of the new content will be posted. The new feed is here . I'm experimenting with crossposting from the live site, but if you want to keep up to date use blog.theodox.com or just theodox.com
Showing posts with label StateOfDecay. Show all posts
Showing posts with label StateOfDecay. Show all posts

Sunday, May 6, 2018

State of Decay 2

SOD 2 box
It’s no accident that there have not been a lot of blog entries in the last several months, but hopefully life will be returning to normal soon. I took the time to clean up my site generator and simplify the site theme, though I expect I’ll probably waste a bunch of time fiddling around over the summer.
In any event, the game is looking good — although I’ve got one HUGE bug I must squish before we go out the door! — and it’s been a real blast to bask in some of the reactions from people who’ve seen the game.
The last couple of years have been kind of a wild ride, professionally — I certainly never thought I’d spend more time staring at C++ than anything else ! — but at least, now that the dust is settling, there should be time for blogging again. With all the crazy stuff I’ve had to learn I’m sure there will be lots to chew over, too.
In any event, the press embargo will lift on May 1st, and opening day will be May 22d. In the meantime, here’s a little video teaser from the company stream with a special shout out to my colleague Jeff Sult, who helped me ferret out a truly insidious bug in the Xbox shader compiler.

PS If you’re wondering… sometimes the Xbox decides to ‘optimize’ exponent operators to use a logarithm instead of a multiply… Which is very nice unless your exponent somehow goes negative, in which case the result is a NAN which can really mess up your PBR G-buffers. Sigh…

Monday, August 25, 2014

Pax Dev State of Decay Post-mortem


I'll be on a panel this Thursday at Pax Dev, along with a bunch of my +Undead Labs  colleagues to talk about how we shipped a big open world game with a teensy tiny team.  Since we're also debuting Moonrise at the show, and hanging out with State of Decay fans as well, it's gonna be a busy, busy week. Hope to see you there!

PS. You know we're looking for some serious senior tech-artists, right?



Tuesday, January 7, 2014

State of Decay moment of zen (and lighting)

Pastor Will found the Super Fudge Chunk.  
The whole scene (except for that one spot of sunlight and the window) is lit entirely by ambient lighting with some vertex lighting and (small) point lights in the windows. What a nightmare - whatever we do in the next game, it won't be this!

There's no lightmapping, thanks to a 24 hour continuous time of day cycle.  The houses could also be placed at any orientation, so the vertex lighting has to be pretty gentle - we shot basically ran a very smoothed out hemsipherical dome light outside the house, once with Final Gather and once with a dome of stochastically placed Maya point lights to create the illusion of darker interiors and lighter areas near windows). The final gather provided some bounce light look and the point lights provided a smooth gradient; blending the two helped eliminate hard artifacts and cut down on the frequency since we didn't want real shadows which would be wrong as the sun moved.   We also ran a similar omnidirectional vert light pass on all the props to add depth to things like cabinets and shelving. I also did a little tool to try to do some vertex decimation on the lit meshes -- we tended to subdivide the big planar areas heavily before lighting and then trim down verts which didn't hold much light or shading information (again, the smoother interior gradients helped a lot on memory here).

A handy trick - thanks to a suggestion from +Wolfgang Engel  - was small point lights in the windows and doors to add a boost to exterior areas and to make it look as if the characters move from light to shadow, which isn't really true.  These had to be very small - much smaller than I wanted - to keep the overdraw costs low in the Crytek deferred renderer. Every house had a handful of somewhat larger lights right near the floor. They watched the sun direction and lit up when the room was facing the sun to provide the illusion of bounce lighting (this wasn't really checking the sun, it was checking the orientation of the light (and the house) against a precalculated table of sun positions and elevations so you could figure out how bright a given vector should be at a given time. Would have been much nicer to really sample the sun , but the perf environment was brutal

The ambient lighting comes from an HDR cube map -  only one per building, alas, and they didn't orient with the placement.  In the end I hand painted abstract ones.  The 'faces' of the cube are color biased to help pick out the planes of the architecture so it doesn't all collapse into mono-color mush.

Thank God for screen space ambient occlusion, which adds a lot of edge definition.

And for Super Fudge Chunk.

PS: Who has seen the bug where Pastor Will flips out on somebody back at base and threatens to "Cut you like a prison bitch"?  We heard about it from a tester and unanimously voted it "Won't Fix".