Monday 24 June 2013

Monday's Child

The Tease Is Over

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.

Next Steps

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).

Signing Off

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.

18 comments:

  1. Just a minor suggestion, could you modify the code so that your own player's shadow is visible? Thank you for your time.

    ReplyDelete
  2. Is the grass procedural?

    I think one model pack of higher quality would be best, probably of a modern type. WWII packs are too old-fashioned now, older than that or steampunk or anything more specific is too niche, and sci-fi is a bit limited in application. A modern pack would be good, with some city elements but also some stuff you already have.

    I love the video, and particularly the shadow falling on the guns - it's a feature I've long wanted to see in FPSC.

    ReplyDelete
  3. player's shadow is visible
    should be optional but would be great to have

    and well watching that video
    was the first that time i wasn`t thinking i would be watching @ FPSC(R)
    the terrain/ open scenery gave it a totall new meaning and feeling
    great work Lee and Mark

    a question/suggestion regarding the grass
    "are we going to get"
    some kind of wind emitter
    so that waving of grass/ trees/ flowers in the wind can be simulated by the radius defined in the windemitter (ofc it should be possible to place more then 1 wind emitter)
    and in combination with particle emmiters that produce
    falling leafes = that would create a great atmosphere

    @Lee
    there is plenty more that could be done
    but evrything takes time, so i hope you take the rest you earned to refresh your braincells
    so that you can tackle some of the feature request
    keep up the great work

    ReplyDelete
  4. Would love fantasy any. Or maybe try stuff that can cross over like dungeons can mix it with all. Castles old house style. We need characters as they tend to be the over limited. Love to see a beholder or a dragon but will not get my hopes up.

    ReplyDelete
  5. Excellent progress there and I guess something of a milestone to see.

    I must be very pleasurable to see these results of your very hard work Lee. I am sure it it also very inspiring for all Reloaded supporters. My hope is that this and further progress output released will encourage more interest and more supporters to pledge and help make FPSCR a great success and increasing the user base along with that.

    In all of this at the end of the day we hope to see some great games made with a very successful TGC product.

    with regard to advanced additional features, nice though it would be and surely there are an endless number of things that could and will be asked for to extend the feature set to more advanced levels. Thats all great but not at the expense of the quality and stability of core features and performance. A balance is obviously needed or all else is to no avail. No point in having endless eye candy if you can't enjoy it and play your game successfully. There always have to be some limits.

    As to the question of the genre and default assets. My personal preference is Sci-Fi but that does not matter. From the point of view of the product I would agree that as default neither past nor future would be the best option but something modern day with emphasis on the "Modern" so assets that might be right up to date or looking to the near future. Whether that would be of a latest modern warfare type style, city, streetwise or detective/police/swat or other type assets a shooting style of some kind is obviously best for default fps assets.

    There are so many different game types users would wish to make that its impossible to cover them all.

    I would prefer default assets all of one style type rather than different genre as at least users can concentrate on making something with a reasonable asset base out of the box and FPSCR levels are likely to look sparse as you have said with few assets to choose from initially at least.

    Thanks for the great work and the video which is a pleasure to see.

    Hopefully you will have a good holiday Lee having reached such a milestone.

    :-)

    ReplyDelete
  6. The shadows are looking really impressive! If that could eventually be applied to spotlight-style flashlights then goodness me we will see some awesome horror games!

    Choosing a genre focus is tricky because it is so difficult to cater to everyone's wants and desires. In my opinion, I'd stick with a single genre of modern, clean and dirty style assets. I think this would be the most all-encompassing focus while providing a good number of assets that integrate well with another.

    I'd love to see some city/industrial stuff for out-of-the-box assets. A decent array of buildings, including shops, houses, apartment blocks, as well as some essential street/city building stuff.

    Ideally the assets would be as interchangeable as possible too.

    ReplyDelete
  7. Excellent work, very well done! I agree with everything said above. It is better to have one consistent, strong theme instead of a bunch of cheap and uninspiring sets. Industrial/city/grime/modern is my personal preference. Looking forward to more updates. Oh and enjoy your vacation Lee.

    ReplyDelete
  8. OMG this is amazing. I know I've been going on about dynamic shadows a lot but I hope everyone can now agree this was essential to take Reloaded to the next level and boy has it.

    I can see a lot of people migrating back to FPSC once this gets released and a LOT of new members joining. Am getting very excited for this project now.

    Congratulations to Lee and Mark B on a seriously good showing here. Everything is very high quality and Dark Clouds has made the sky look significantly better than before.

    When you get around to doing iron sights / zoom mode for guns please ensure its possible to activate the depth of field shader as that will be a very nice touch.

    ReplyDelete
  9. Truly brilliant. This has come a long way in a short few days.

    No comments on the engine, as everyone else has covered anything I'd have to add, but for the media, I think it's better sticking with a modern theme, but maybe with a little flexibility, say 1960's to the slight near future, but sticking to a general theme of urban. I like the suggestion of matching sets of clean and dirty assests.

    ReplyDelete
  10. Looks really great so far.
    I have one question however. Will there be multi-texturing support for static entities? It would be very helpful.

    ReplyDelete
  11. Lee , about your question - I think you guys should focus on modern day assets because 90% of shooters are modern day based.

    ReplyDelete
  12. I tried player casting shadow, but it was a disembodied arm floating just out of shot :) There was also the issue of the caster being part of the shadow map that textures the shadow-ee, very confusing! The grass is a few polygons plotted on the terrain with a nifty shader to make the grass sway, the eventual implementation will generate the vegetation based on reference data painted into the scene at edit time. I'll probably use seed values to control the random distribution, no need for procedural trickery on this occasion. The concept of Wind emitter is apt, and yes there should be at least a wind direction and speed setting somewhere as several shaders and effects will require this.

    ReplyDelete
  13. Thanks Peter for your comments, as you know I respect your opinion as a long time supporter and critic ;) We're aiming high on this one so keep me honest and let me know if I start to slip! I'll be blogging every day so there's no escape for me :)

    ReplyDelete
  14. Great to read the majority wish a single thrust on a modern genre, aiming for the best quality result with plenty of matching content. I will see if I can push Rick, Mark and other decision makers out of the desert and into a sand swept town complete with streets, shops and short-cuts. My idea is to keep the artwork bright and sunny, deliberately combating the temptation to make the games dark. Dark games hide a multitude of sins, and I want Reloaded to expose every little detail we craft for it. You can always switch the lights off if you want something moody and sinister, but when you turn everything to 11, I want the engine to deal with it :)

    ReplyDelete
  15. Multi-texturing support ;) Currently my shaders use eight textures per polygon, that's diffuse, normal, specular and cube map, then four textures for the cascade shadow mapping. I think we pretty much have multiple textures coming out our ears! I take your point though and yes, we will be defining an import naming convention that will allow you to specify textures plainly, and tie them into the custom shaders you write to replace the ones we provide by default. We also won't mind you taking our shaders and tweaking them too, as we think you will like what we produce in that regard ;)

    ReplyDelete
  16. Glad to hear that. Also, I'd like to ask if there will be possibility to add more than one material for a static mesh. You know, I'd like to make a mesh as a static entity and create at least a few separate materials for it. In the current version of FPSC I can add only one material for my static entity.

    ReplyDelete
  17. I cannot say a sand swept town is quite what I had in mind. It is a slight concern that it might be a tad too constricting. The idea of modern architecture is to be able to take it to a number of themes and match it to other assets to create the environment the user wants. I fear imposing a desert/sandy theme would constrict a lot of free reign. =(

    ReplyDelete
  18. I agree with everyone that a mostly generic modern setting is the go here. It should have dirty and clean variations on some things (or all if that's possible) so we can have clean and sun-lit bright areas (and a gentle, warm breeze blowing) of the city (preferably with some tall, shiny glass-sided sky-scrapers of ultra-modern design) and then some darker somewhat grimier areas that you might, in real life, want to avoid. Oh dear, my imagination is going wild here. I really can't wait for FPSCR! :D

    ReplyDelete