Monday 30 September 2013

Monday Merges

Adjusting The Heavens

A strange sort of day, in perhaps two parts. A speedy first half where I added the ability to adjust bloom and light ray intensity settings via hot-keys and a rather slow second half where I battled with a dreaded 'corrupt heap' issue for countless hours. 


I then had a third part in my increasingly inaccurately termed 'day' when I introduced real-time shadows and shaders to the editor itself, not just the in-game part.  The result was pretty cool, as the shadow allowed a real sense of placement when planting entities down.

Entities do not self shadow at the moment, but that's just a case of adding some lines of code into the entity pixel shader. My fear is performance, but I managed to do a decent 'generalized shadow' for the grass and if the shader begins to slow, I can always revert to that technique.  As we now run the engine on 16 texture stages, slot availability is not the problem but I should be vigilant about asking TOO much of all my shaders.  I am pretty sure though that everyone reading this will insist entities self-shadow, and that the performance concerns get resolved forthwith and without delay ;)

Also the scene is sorted by texture, not by depth, so there is perhaps a huge performance gain to exploit when I switch scene rendering to the new sort mode. Apparently 'overdraw' is still the enemy of a fast graphics engine, and rendering a huge brick wall in front of the camera first is always recommended when you have intense pixel shaders in 'da house.

As you can see from the above snap, more content is pouring in (and more to follow) which should give us more scope for new screenshots and presenting in-game suggested situations.

Next Step

Now that the entity shaders and shadows are working on both sides of the divide (editor and game), my main task for Tuesday is to get saving and loading to work properly to finally be able to store terrain edits. Right now it only stores entity placements.  Rick is also pushing for a 'random tree and bush plotter' in the editor to allow rapid generation of small groves of trees, which is not a bad idea. The palm tree shot you saw before was the result of a similar random algorithm which varied position, rotation, scale and even incline.  I am sure I can rustle up some spray gun which can fire of entities at the terrain without bunching them up and allowing for this natural scatter effect. You may not believe it, but in the palm tree shot from a few days ago, all the trees where identical, and only differed by position, rotation and scale. This opens the door to instance objects which will give the engine a superb advantage in terms of memory consumption and rendering speed.

Signing Off

If there is more time Tuesday, and I think there will be, I will probably add the guns back in to the engine and see if I can get the flak coded up. It's a tall order, but one needs goals!  I also need to load the latest version only my fastest Ultrabook so I can demo the version at a meeting on Wednesday, so that will be a test for it's Windows 8 compatibility AND it's ability to run well on a mobile GPU. No pressure ;)

7 comments:

  1. "I am pretty sure though that everyone reading this will insist entities self-shadow, and that the performance concerns get resolved forthwith and without delay ;)"

    Yes :)

    "so that will be a test for it's Windows 8 compatibility AND it's ability to run well on a mobile GPU. No pressure ;)"

    lol if an ultrabook can run it we're all good :D

    Do you want to try enabling anti-aliasing to reduce the pixelled look of your screenshots? They feel too much like x9 as they are.

    But excellent work so far! Continuously excited about Reloaded now :D

    ReplyDelete
  2. Awesome work there Lee, keep it up.

    ReplyDelete
  3. Progress is looking good there. No matter how good there will always be calls for better if possible.

    Sounds like the current stages and thinks looking to be added or updated are good thinking at this time. e.g. tree management placement.

    Not quite sure why in the order of things you seem to have the weapons in then out then in again unless I am reading wrongly the way that has been - anyway no matter.

    Yes I agree that the quality of the screen shots is not as good as they should be with non smoothing of edges and perhaps transparency issues around detail edges or whatever the reasons. The grass also seems at close proximity to not blend well with the floor with a hard straight line at the base presumably because the grass is composed of billboard type entity. The latter could be worked around I guess by users perhaps.

    Of course in editor or game the visuals may be improved and we cant see that and we don't know either what resolution screens shots are being saved out at. e.g. 70 dpi

    Whatever from a promotional point of view Screen shots need to be improved ideally as they don't look like a "Visual" quality engine output at the moment. Shaders and other eye candy can add modern effects to visuals but the quality is let down by the lack of professional smoothing.

    You did say there was an issue with sharp polygons that the idea of sand storms came about I believe when looking for some methods to hide the sharpness which I don't know you can or if that's the answer.

    Anyway you know the issues and its still early days I know - generally all is looking good and I am sure it will continue to improve.

    I am sure no one here wants to complain too much and without justification but the screen shots/in game visual quality at the end of the day will play an important part in how the engine is perceived both at first impression in promotion and continually ongoing for users and game players. The visual quality needs to be that of the rest of the engine quality and somewhat better than classic in the jaggies and quality edge display stakes. As is it will leave the product down.

    Not sure if it can be improved or not but it may well haunt the engine forever if not.

    My humble opinion anyway.

    :-)

    ReplyDelete
  4. Looking good! I agree that the pixelated grass is holding the visuals off but you can really see the improvements coming along nicely.

    On the subject of a random vegetation brush.. How about also having a custom random brush, where you click and drag some entities into a group and the brush will randomise between that? That way you could randomize stones/rocks, randomize barrels and other similar entities etc. And perhaps a way to save each custom random brush to allow for re-use later with some naming and re-editing capabilities?

    ReplyDelete
  5. after looking at the recent shots
    what i feel is missing
    are Vignette and Bokeh and no i dont mean just simple DOF

    now ofc there are other PostFx that could be shown aswell
    but those 2 are giving the best focus
    as in without overusing something
    and still keeping the focus at the scene or partial focus
    regarding Bokeh
    http://mynameismjp.wordpress.com/2011/02/28/bokeh/
    this comes with a small program and hlsl code
    it might be of some use
    (i remember reading that we would get Bokeh in reloaded so just ignore it if Bokeh
    is already in)

    anyways as always great
    and cant wait to testdrive that Thing!!!

    ReplyDelete
  6. "I am pretty sure though that everyone reading this will insist entities self-shadow, and that the performance concerns get resolved forthwith and without delay"

    We must have self shadows for static entities. The only question that remains is can we have self shadows for dynamic entities and characters without blowing the performance budget.

    I'm confident that Lee can continue pushing this area given the optimisations he already has up his sleeve to address overdraw and indexing. It will also be interesting to see how Lee intends to handle lighting and shadows for indoor areas.

    I'm very excited to see real time dynamic shadows in the editor. This is going to be just wonderful for building levels and seeing all of the shadows being crafted as you design the level.

    On post processing I agree that Anti Aliasing is really important to smooth everything out. Although I generally find when I'm playing AAA games on my PC this is one of the 1st things I switch off (or use the lowest setting) to gain better performance.

    On the vegetation I think its just because the alpha is not as clean as it could be at the moment. Not sure if this is a texture filtering issue or something of that nature but it could do with being cleaned up a bit. AA might help improve it also.

    Anyway all of this is really coming together and we are already on the way to a very powerful set of tools for the 1st Reloaded BETA. The tension is mounting with every passing blog entry now which is great.

    ReplyDelete
  7. So nice to see your enthusiasm for Reloaded Nomad. Especially your pet dynamic shadows :-)

    October is here. Hopefully you will get to hear and see more of Reloaded progress shortly.

    Again self shadows for all entities would be nice.

    Some how I think that everyone at some stage is going to have to come to terms with Reloaded not being able to maintain performance as more things are added and something is going to break and have to go. Maybe more things than one might like seeing as there could be literally hundreds or thousands of things people want Reloaded to have built in - and all at the highest possible quality.

    I hope that's not the case but one has to be realistic and Reloaded will have limitation - where and at what stage that comes in we will find out as time goes by I guess and if not then everyone will be happy.

    :-)

    ReplyDelete