I know I have been teasing over this video for a few days now, so let me stop the silliness and show you a video of the demo I have been mucking about with over the weekend. Big thanks to Mark B. who really helped me pull this visual prototype together in such a short space of time.
As you can see, we have a few things going on here. Parallax mapping on the sand, objects, buildings and walls. Soft shadow mapping on everything, including the players weapon. The weapon has all manner of subtle and clever effects to bring it to life including cube mapping for the reflective lens. The sky uses real cloud generation and you can see some experimental grass on the outside of the compound. Floor vegetation really brings out the terrain and we'll be finding ways to make this look great and render fast.
More Than Candy
Fear not, this was not a quick demo to show off some eye candy, but to get to grips with the format and scope required for the art assets. Before we can produce more buildings, objects and scenery, we need to know the demands of the shader and renderer to see where our bottlenecks and limits are. Already we have discovered you cannot cast real shadows on a field of grass using a forward renderer due to the insane amount of overdraw and pixel shader meltdown.
The more we study the demands on the shader, the more deferred rendering makes sense, and is clearly indicated as something that will need prototyping to see if we can get a sizeable performance gain. Don't worry about the 30fps frame-rate, fraps was taking it down from a VSYNC 60 FPS. I have higher rates, but I found creating the DirectX device with VSYNC produces a very smooth experience where something at 70-80 fps looked ever so slightly choppy on close examination.
I am off on vacation for two weeks in a few days, so I am tinkering with what the best thing for me to wrap up with. I have a basic Bullet prototype working with terrain and a kinematic player controller, so I might move that into the prototype, or finish the grass shader, or add some particle experiments such as dust bowls, smoke and atmospheric effects.
My brain is a little fuzzed from the half day meeting (and what feels like all day talking) so I will make the above decisions on Tuesday when my head is clear and I've got the hunger for code again. Right now I have the hunger for sleep and I really ought to think about packing (or at the very least looking for a suitcase).
Let me know if you spot anything horrid in the video. There are a few shadow artefacts at the extreme edges of the render (due to the cascade scope not accounting for the wide field of view being used here), and don't comment on the grass yet as I was in the middle of integrating it when I found every blade was an intense expense in processing power. I've also seen some grass in a recent you tube video that really crammed it in and made it look good, so I am also going to try to ramp it up and cover the whole terrain, then see what looks like using a basic shader.
Also an open question to you guys and gals. Would you prefer us to work on one genre only, and provide a very high level of quality and design finish on those assets, or have the work spread over a few genre's during the initial release. Of course we will be producing dedicated model 'super' packs to explore genre's in detail after release, but I am curious what you would expect in the V1 default asset library? Bear in mind that asking for three genre's means you get a third less in each one, and your levels might have to be spread a little thin from time to time.