So far it's seen more use as a rendering playpen than an actual game, although messing around with various representations of immutable game state has been fun.
Oh, and for the curious, I did indeed mis-spell the name for a goodly portion of the project. This is what happens when you start naming things at dark o'clock one night and don't check them for ages.
On the graphics side:
- Deferred shading forms the core of the pipeline. I wanted lots of light sources, and wanted an excuse to mess around with deferred rendering. It's been fun.
- A single main light uses a conventional forward-rendering technique with exponential shadow maps. This forms the focal point, being centred on the player character, and also serves to illustrate line of sight.
- Transparent objects are forward-rendered after the deferred pass, although I don't like this approach at all. Planning on doing some stuff with screen-door transparency for water at least, essentially stealing the work done by Media Molecule for LBP.
- Zeroth order particle systems! I've a minor obsession with these, entirely deterministic effects with all particle motion calculated in the vertex shader for a given time.
- Star-shaped bloom. This is just a very boring post-process, but it's summed over many increasingly downsampled versions of the final image so has quite a large effect considering the main blur kernel is rather small.
- SSAO. Actually, this is no longer a 'proper' SSAO implementation. After messing around with a few different approaches, I eventually settled on a very crude approximation of the depth Laplacian using difference of gaussians, plus some falloff over large distance deltas. This gives a rather stylized effect that I really like. It only works well for quite compressed scenes due to fixed kernel size - perfect for a top-down view though!
First working implementation of the deferred render targets:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgabcUSNoSbb-CFqB16kWcko1-YJA3mmdkRlMP5Y3aF9ugyVemi3iXA70XQ6AI_lse1xq4MlhoaxxMMa3VLnJcJz01tRr57PIvLcWI7rq1pMF4-YuP3B4NrE0cSDO5UVBEzTAMiZLS6ozw/s288/DeferredTentacles.png)
Prototyping water, note that only the main (forward rendered, shadowed) light affects the water surface:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKbC6_j800hG6QyRTrr4sX1wCmSee-oXqc2-aey5vzzOK_YqiZChfGhm-QSIfK9nk7rePUsh14MBYFm32beHyW7dmGjJcJrMT37WehEAUPef0UEU-m5ir8hyphenhyphenHnFRwKb6aenoLyBUroE40/s288/WaterFloatingShrooms.png)
The 'notSSAO' post process, dialled up to 11. This also shows a chunk of the map lit almost entirely by deferred lights cenred on the glowing mushrooms:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnVCRIzpeq9uVGyBqF84o5f5WDPy-xrovrjPNE1CeIEvAVowul3TcrjcLa5LGqm0fONwvuSi1znn8KRIXgx4svYK6_U5okWhEAmnU8JqX8odx3VTwxbbSzEDW7jvR9kgw3NKzAdTaMw1c/s288/SSAO_TopDown.png)
And last repeat screenshot for this post, the basic particles with a simple lit and shadowed alpha-tested rendering mode:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie6s0MDanfNgI1Q2deRVKov28pMnoEKw3fQ1TrV-h7kKYIxJeo7QmUlwspKz_y6MWCtVVoO5_Dqyhyphenhypheni3t-VGBUDkRE3q0jKUJaujyBBXi6naHVvE_CSw4rau79D1xuHsucNCAvXUQMdyo/s288/PclSpheresTwo.png)
I'll try to get this running on my partner's PC and get some new screenshots of this for a later post. Have to admit, it was nice going over the early screenshots and see it evolve.
3 comments:
Those screens are amazing, nice work! Another push for me to get a laptop that handles shaders ;D.
It's great to see more progress on this, and the screenshots are quite breathtaking. Any thoughts on when we can expect some game features? :)
Hey!
Amazing stuff! I would like to now more about this (im reading all your blog)
What are you programming this on?
Regards
Post a Comment