Thursday, 26 September 2013

Thursday Triumphs

Good Coders Are Bouncy Coders

That's right, you can't keep us down for long!  Given the overwhelming support for increasing the texture stage count to 16, even from my good friend at a certain graphics card company, I solved the issue of terrain shadows and normals in a stroke.

Monster Shader

In fact, when I had completed the leviathan shader, it turned out that it's performance was very reasonable for the amazing number of things it was doing. Turns out the performance hog happened a little later when I switched EVERYTHING ELSE on and ran it as one combined program.

Performance Tuning A Must

I had hoped to get away with avoiding performance tuning until later in the project, ideally after the beta, but it seems I will need to face this one earlier than planned. To that end I have ordered a mid-range GTX 650 Ti graphics card to compliment the NVIDIA NSIGHT tool, which will give me unparalleled access into the innards of what my graphics engine is doing. Turns out my chunky old AMD card can't run the tool :)  That said, I am still running 45fps with everything switched on and unoptimised, which means it is certainly fast enough to continue developing, testing, adding different content and generally allowing a few screenshots and videos to be had.

Your New Shadows and Normals

As you have pushed for them, I though it thoughtful to give you a screenshot showing the new features. Here is the new ground shadow system which provides real time dynamic shadows for the terrain and the grass coverage:

And here is a blatant normal map poking through the muddy terrain by the waters edge. I have also toned down the water reflectivity, adjusted the fresnel term and muddied the water tint some more:

As you can see, I re-used the palm tree leaf normal map while I await final artwork from Mark who is currently busy producing lots of lovely terrain art!

Some Scouting

I also checked out some of the 'competition' by viewing all the best of the best E3 game releases for 2013, and tried to mine more ideas for shaders I could throw into this engine. Alas most of what I saw was either scripted sequences or mountains of content, nothing technical I could pull out quickly and convert into an new engine feature that could improve the shots and vids. If you find inspirational material that contradicts my findings, please do post a comment so I can check it out. I am not in the least bit phased by the lofty heights established by 20 million dollar projects, and I don't mind having a go :)

Weapon Work

What you are not seeing here is the work progressing on the weapons side of things. We now have complete animations for all weapons, sounds are coming along nicely, lots of subtle touches in there over and above the airmod tricks such as a separate running animation for weapons, weapon wobble based on parent camera wobble and some new weapon lag code to create a natural effect when you swing around quickly.  Running along now feels more realistic and I am looking forward to completing the rest of the weapon systems once visuals have been cracked.

Signing Off

As customary, it's getting pretty late (or early) and my list still has a few items un-ticked which will be pushed to the next days. I had hoped to play around with dust particle effects and sugar steelers, and might plop another hour into it before noddy time.  Hopefully I will get some terrain content on Friday and have a fun filled weekend populating my little world.  I am pretty sure the only thing I need now to get some nice screenshots is enough content scattered about the empty fields to make it look like something ;)


  1. WOO! Go LEE!! Amazing work, I knew you'd do it, just not that quickly! The water looks 100x better now! And I'm loving those fossilised palm leaves in the mud ;)

    See, Rick. THIS is why Lee should release screenshots of early work: we see them, hate bits of them, tell Lee, and he fixes them nice and early on!


  2. Awesome work Lee! The palm leaves in the mud aren't actually that bad, they add interesting texture. I agree on the decision to increase the texture stage count to 16, I think Reloaded is setting itself up for the future. The content and progression is very cool Lee, keep it up!

  3. Yes, I don't mind him sharing screen shots when they look this good. It's those half finished ones that didn't help anyone understand what we're trying to achieve. We're on the good side now, it can only get better!

    1. Everyone that commented on Monday's blog post and those following have indicated they understand that Lee is working hard and really does know what he's doing; are you more worried about those that don't comment? That is, those that don't know about Reloaded and are turned off by the less-than-spectacular videos Lee posts? Just curious :)

      "We're on the good side now, it can only get better!"

      Haha, I'm sure you've said that before :)

  4. Hi Lee,


    Your are as good a level designer as programmer :-) I like the care taken in selecting the angles of the screen shots and their composition - quite the artist you are.

    The palm trees to I can see have been nicely placed and seem to have some variation given the perspective. I have been dying to ask how is this achieved? Not that it matters particularly.

    As a matter of interest, how are they placed on the terrain? are they placed manually and do they find their own level on the terrain or are they embedded in it/below it at the bases?

    Anyway great work and nice screen shots :-)

    Thanks again.

  5. "The palm trees to I can see have been nicely placed and seem to have some variation given the perspective. I have been dying to ask how is this achieved?"

    Do you mean, what tools will we have for randomised trees? I should think none, at the moment. I suspect Lee just got either a few different palm models and placed them by hand or got a "group of palms" model.

    "As a matter of interest, how are they placed on the terrain? are they placed manually and do they find their own level on the terrain or are they embedded in it/below it at the bases?"

    I'm 99% certain they are placed automatically (that it, they automatically find their height on the terrain), so it should be really easy to quickly place trees and rocks and SAMs wherever we want on the terrain :)

  6. Yes and Yes.

    I was alluding to both without spelling it out and making an issue out of it.

    e.g. It would be nice if the placing of entities like trees, groups of trees could be managed by the system and auto generated and placed to sit nicely upon the terrain perhaps in specified type, number, position in world, area volume, density, variable dynamic scale and so on but that is a system in its own right and complex and a lot of work.

    Thus I was saying if necessary then I would place them individually if need be. Done it before so could do it again. A lot of work for a user to add a lot of such items manually with precision but there you go.

    Automated system features are good but they clearly come at a price.

    I was just interested to know if the trees were actually placed manually at this moment in time as - presumably the grass is not placed manually and if thats part of the previously mentioned "Veg" system then presumably Trees could be placed via the same "Veg" system which presuming the grass is then the trees could have been also as far as I would know - even though in this instance I expect the tress were manually placed at this time?


  7. Awesome work. If there were occasional dust particles in the air (affected by the lighting), and the vegetation wasn't so low-poly and low-pixel-textured this would truly look like at the very least an AA game. Of course each individual user has the choice to get an artist to make HQ vegetation for them.

    On the topic of weapon bobbing. Animations for weapon-bobbing are all fine and dandy and will help bring the game to life. I just hope you don't hard-code camera/crosshair bobbing with it. If you implement it, at the very least make it adjustable (and removable) by the user.

    Still though, I must congratulate you on this huge milestone. Good job.

  8. Great job! This is what we like to see, you tacked that problem and smashed it right out of the window.

    I seem to recall you mentioning that interior shadows/lighting will be different in some respect, though?

  9. Lee, a question for you:

    Some considerable time ago, while making FPSCR fit into your new editor interface (or something along those lines), I seem to remember you discovered an "is-client-window" parameter for DBPro or something....

    Basically, I'm trying to make an editor for something and I need DBPro to render into a window without setting the resolution all squashed, since DBPro can't render to any resolution other than the fullscreen ones supported by your computer.

    My question: How would I make DBPro render at the native resolution of the window it's in? (Now that I think about it, the same way AGK does)

    If you can't answer this off the top of your head, I'll go ask in the forums; I just thought you might have a better idea of how to do this.

  10. Nice work Lee I think what I like the most is the sky reflection.

  11. OMG

    This looks amazing. Now Reloaded is looking like a AAA game.

    Lee made a fantastic choice moving to the 16 texture slots and it shows.

    Real time dynamic shadows are going to be the difference here. They look stunning.

    I really like the terrain bump mapping also. Mark and Rick were spot on there.

    FPSC Reloaded = WINNING

  12. You really took the advice of Monday and more than just applied it. This blows my expectations of how the water could look. I also didnt expect the shadowing to look that good. Looks even better than such games as Fallout: New Vegas.

  13. Well done chap. It seems Clonkex and nomad are frenzied drooling maniacs. A club I want in on . must say can't blame them I am still in awe of it all. So is night and day back on the agenda
    Hope so. And them moving lights :))

    1. "It seems Clonkex and nomad are frenzied drooling maniacs."

      lol :D