A few new graphical effects.

Lately we started thinking about making the game look better, finally. Ignacio has been working on some graphical effects to this end (though he's been putting forth a lot of effort on performance as well). Here are a few things he's been working on:

Sun beams. These are accomplished with a radial blur centered on the sun, during postprocessing. The nice thing about this effect is how dynamic it is -- as you walk beneath the trees, the shape and intensity of the beams are changing all the time.

Due to the way the effect works, sometimes beams are drawn that are a little bit unphysical. You probably have to be looking closely to see that, but I am a little bit uncomfortable with it given that the game is all about the opposite of that. We'll see how this evolves. We've been talking about augmenting this with other effects.

A revised water reflection effect.

Softening of the shoreline, so that it doesn't look like one big alpha-blended water polygon intersecting the ground.

Here's what the island looks like now:

It's fun to look at this compared to another shot of the island, say, from about a year ago:

Island Snapshot

The current puzzle count is 328.

31 Comments:

  1. Wow that’s really looking good. On the subject of graphics, I’m curious how you are going to handle specularity? Are you going to use something like radiosity normal maps? I know that will require a lot more textures and potentially slow down performance. I guess the other option is to use dynamic spec only lights that add specularity to the light maps. Anyway, just curious how that’s handled in a pre-baked environment.

  2. The sun beam looks wonderful. at leat from the screen. though i see the water and it looks more like a mirror in the ground than actual water. Don’t know, just an opinion.

    And yeah, looking at the previous shots of the island, the island has change a lot.

    PS: nice shadow “Mr. roboto”

  3. That’s an interesting silhouette (in the shoreline screen)!

  4. What kind of shadow is lingering on the shore?
    Is “it” the main character?
    I’m wondering… A game with Mr. Roboto… Mmh… Interesting.
    Nice sun beam, btw.

  5. Right now the lightmaps have no specularity, and that seems fine for our purposes. They do not ever store direct lighting components, only secondary bounces. So there’s always a shader on top of that that is handling the direct-lighting pass.

    The water being very mirror-like is intentional; it is part of the setting we are establishing.

  6. The island is really becaming beatifull. I also see You have added a building to the closer right penisula.

    How long is still “to do” list for the game?

  7. I get it.

    I get it now.

    You are making Gears of War 4.

  8. Those sun beams are friggin’ beautiful, man! It’s great to see the game coming along so well.

    Oh, and a big hello to the naughty beach shadow.

    Big love!

    Gary

    xx

  9. I do hope that the sun beams aren’t done to the extremes taken by Crysis, where ANYWHERE the sun intersects an object causes a beam, rather then only in situations where the air has enough diffusing particles to cause the effect.
    Question: will the skybox be animated?

  10. gAH! Just wrote a LONG comment, and accidentally shut down my browser window before sending :(

    I had two questions i would like to ask though:

    Will this be able to run on older computers, or only new-tech?

    Will we see a movie soon? I would like to see the sunbeams in action for example :)

    LOVE how it looks! Been following the blog for nearly two years and i just CAN’T WAIT!!!!

  11. Peoples’ comments on that shadow remind me: it’s amusing how little of a player identity people need to start wondering about it. Back before Bioshock’s protagonist had a name or a voice, some testers were really concerned about who they were supposed to “be”.

  12. so we *are* a person? i thought we were just gona be a floating spirit or something…
    The shadow looks like a man in armor, are we a knight? are we gona be looking for a princes again? you do have a tower castle in the island!

    You know what happens sometimes in games that have the Sun in them… you will go in a room and sunshine shines trough the window. you go to the place where the light is coming from and crouch and when you peek trough there is nothing, no sun! is just a sky box with a white circle on it.

    i would always expect it to be like in real life… when beams pass trough my blinds and light my room I position my eyes with the rays and i go blind when i try to see in it because the Sun is right behind and then i see green even when i close my eyes,,,

    no game ever has done this right. will TW be the first?

    capcha: sforsa energy

  13. Oh man, that shadow is a pretty heavy-duty tease. I’m almost kind of bummed by seeing
    that in a picture for the first time, instead of in-game.

  14. I’m very curious about players reflection in the water. Guessing from the shadow, is it a knight?

  15. Guys, this is a game CONTAINING PLACEHOLDER GRAPHICS. The player shadow is not meaningful.

  16. Your game reminds me of Myst series.

  17. It is almost pity the shadow is just a placeholder.
    It was a real suprise to see it and a big twist from what I expected.

  18. Just a small correction. Some of our new materials have a specular component for the indirect lighting that uses the lightmap information. This is particularly important for metals, otherwise they would look completely black when in shadow. See this for some examples:

    http://research.tri-ace.com/detail_2.html

    The way this works in our game is a bit of a hack, because our lightmaps don’t have directional information. However, despite of that, it looks fairly good. I should post some screenshots once we use this in more places.

  19. Ahh that’s right. I forgot that this had been added.

  20. Yeah, yeah… Just a placeholder…
    That’s what my ex said when i found her with her lover.
    Not meaningful, yeah…
    Btw, better this way. The kind of “being” displayed on that shore does not quite fit into the game (a robot? An armored guy? What the hell?). Then again, reading from the pre-Home, “The Witness” is a game about DOUBT… …
    Nevermind us, Jonathan, it’s only hype mounting.

  21. for a LIMITED TIME (1st till 10th July), these guys have put up a tonne of tutorials on games dev and 3d software in general, I suggest you all check it out while you can if you’re looking for good tutorials:

    Includes tuts for:

    3dsmax
    Softimage
    Unity
    Blender
    Maya
    Photoshop
    Source Engine
    Unreal Engine
    Mixamo
    Allegorithmic

    http://www.design3.com/learn

    Normally this stuff costs money, but I figure I’d post it here whilst it’s free.

    …caocha: ability excellent???? (a sign maybe?)

  22. Wow, I’m really looking forward to this. Braid is one of the best artistical experiences I’ve ever had. Very inspiring piece of art.

    What kind of music will you use in this new game? If you need anything fresh I could send you some music of mine in the future. Send me a mail if you’re interested!

    (Please excuse my lacking skills in english)

    Have a great day, cheers from a HUGE fan in Sweden!

  23. Lookin good

    Not that you asked, but here’s some feedback from a fellow graphics programmer:

    -Light shafts over saturate the area near the sun, you can limit that with a screen blend ((1 – DestColor) * SrcColor + DestColor) instead of just additive blending, it effectively brightens the dark areas more, and the bright areas less. With HDR colors you need to do something different than 1 – DestColor, so you have to do the blending manually in the shader.

    -Right now it looks like your light shafts only have an additive effect on the scene, you can also include an occlusion term for little extra cost (you’re doing the downsampling and blurring already) which has the benefit that it doesn’t need a bright area to smear, and it can work even when the sun is slightly off the screen.

    -Tree lighting could use some work, like a softer shadow falloff (which can be tough if you are doing the shadow projection deferred), because the harsh shadowing looks unnatural. Also they don’t seem to have much AO when in a shadowed area, so they are lacking depth. Trees tend to have a lot of white specular from the leaves as well and right now they are purely diffuse, although not sure if that goes with your look.

    -Water is lacking waves (actually they are just really faint), I’m sure you are aware. If you go with some panning normal maps, you can limit the artifacts where the normal map allows you to see ‘under’ reflected objects by dampening the waves near the shore.

    -Water is missing underwater fog, which should make up a large part of the look when you are looking straight down where fresnel is causing the water to mostly refract instead of reflecting.

    Overall the game is looking great and I wish I were working on it with you guys.

  24. I just found your blog an hour ago, so I binge read it all. Freaking beautiful. This is something I’m definitely looking forward to. You’ve definitely earned yourselves a new fan :D Your game tech blog posts remind me of David’s from Wolfire. Great information, but buffered slighty for consumption by your lowly fans. ;) and your art posts are very intriguing.

    Between this, overgrowth, and jade….boy. indie dev is a happening place ;)

    Keep up the good work! I’ld also like to see some video soon! :D

  25. Bicameral Jaynes

    Is there going to be a day/night cycle in The Witness (or many other dynamic light sources)? A major gripe I have with AO (besides the halo artefacts) is that, at least in the games i’ve seen it implemented in, the effect persists regardless of direct lighting. Though i’m not sure if doing higher-precision AO is worth it since it’s already expensive. Of course depending on how dynamic or not the lighting needs to be this could be baked in? Like with the Beast lighting used in Mirror’s Edge.

    As for specular, I mentioned John Hable’s blog in my last comment about HDR (I should really start quoting other blogs!), and he points out that *everything* has specular and fresnel – especially supposed diffuse materials.

    Having said that, you don’t need me to repeat the obvious that there are countless other methods of producing immersion that don’t rely solely on photorealism. Like lens flares – who needs sun beams when you’ve got six sheets of glass in front of your eyes :D

  26. Will be Linux version?

  27. Hi Jonathan, congrats for the development of this game, I’ll buy it day 1!
    Is the fact that people is pulling out a story or a meaning from the shadow you put in the screenshot, is this what you call “dynamical meaning”?

    Keep rockin’!

  28. Hey Daniel, thanks for your comments:

    > Light shafts over saturate the area near the sun.

    This is on purpose. I actually like the over-saturation effect.

    > you can also include an occlusion term for little extra cost

    I’m using Tiago’s occlusion trick already and it does improve the results noticeably.

    > has the benefit that it doesn’t need a bright area to smear, and it can work even when the sun is slightly off the screen.

    I don’t think you can go that far, even with the occlusion trick. The effect just falls apart when the sun is not visible, because after all it’s done in screen-space. My plan is to limit the god rays to the areas around the sun and in some particular cases render light shafts using more accurate volumetric techniques.

    > Tree lighting could use some work, like a softer shadow falloff (which can be tough if you are doing the shadow projection deferred), because the harsh shadowing looks unnatural.

    We used to have a nice shadow falloff which simulated light scattering and looked pretty good, but in D3D9 it’s not possible to sample a shadow map and get depths and bilinear depth compares simultaneously, so the effect was disabled when I upgraded the shadows.

    Also, rendering foliage is pretty expensive, so shadows use a much cheaper shadow filtering than other surfaces.

    > Also they don’t seem to have much AO when in a shadowed area, so they are lacking depth.

    It may not be very noticeable in the screenshots, but trees do have lightmaps, which provide some of the ambient occlusion effect, but also include indirect light reflected from the ground and scattered through the leaves.

    > Trees tend to have a lot of white specular from the leaves

    Yep, but it’s hard to render that accurately when the actual tree geometry is very low poly.

    > Water is lacking waves.
    > Water is missing underwater fog

    The reflectivity of the water is unrealistic on purpose as that was a requirement of the game. I wanted to do underwater fog, but in order to do that correctly I would have to render in two passes, or resolve a copy of the framebuffer, which would also allow proper refractions. Not sure whether I’ll end up doing that or not.

    > Overall the game is looking great and I wish I were working on it with you guys.

    We still have openings, don’t hesitate to apply if you are interested!

  29. Hi Ignacio, thanks for taking the time to respond and give me some insight into your techniques.

    >We used to have a nice shadow falloff which simulated light scattering and looked pretty good, but in D3D9 it’s not possible to sample a shadow map and get depths and bilinear depth compares simultaneously, so the effect was disabled when I upgraded the shadows.

    Personally I prefer the soft shadow comparison + manual PCF over the speed boost of hardware PCF, because the soft shadow comparison just reduces so many self shadowing artifacts. It’s a subjective call though.

    >It may not be very noticeable in the screenshots, but trees do have lightmaps

    I noticed it on most trees, but there’s that one bright one in the background of the first shot that looks completely flat with no AO. I assume that was unbuilt lighting on just that tree.

    >Yep, but it’s hard to render that accurately when the actual tree geometry is very low poly.

    I’ve never found a good solution for this, also it’s very difficult to do good specular on trees without a lot of aliasing. But it seems like a big missing component of the look.

    > I wanted to do underwater fog, but in order to do that correctly I would have to render in two passes, or resolve a copy of the framebuffer, which would also allow proper refractions. Not sure whether I’ll end up doing that or not.

    I think you can do the fog part with just the depth buffer as a texture, and knowing the height of the water plane right? Refraction requires the resolve of the framebuffer.

  30. > Personally I prefer the soft shadow comparison + manual PCF over the speed boost of hardware PCF

    It’s not just for speed. In general, the quality of the new shadows is vastly superior to the method we were using previously, only drawback is the inability to do fuzzy comparisons, and this is only with D3D9. It will be fixed once we have a D3D1x backend. Achieving the same result without PCF is unpractical.

    > I think you can do the fog part with just the depth buffer as a texture, and knowing the height of the water plane right? Refraction requires the resolve of the framebuffer.

    Computing the depth difference is easy, what’s not so easy is combining it with the framebuffer. The specular reflection is additive, but the fog modulates. There’s no way to do that with a fixed function blending unit, we would need two passes, which is not really the end of the world…

    Another alternative, is to apply the fog when rendering the underwater surfaces, but that requires making assumptions about the water level and adds some overhead to all shaders that may be used underwater. I think the two-pass approach makes the most sense.

Leave a Reply

Your email address will not be published.