Saturday, 30 November 2013

Saturday Report

Advice Taken

I took my bodies advice and slept for over 12 hours, then logged on long enough to check for any urgent emails. The plan was to find nothing and log off immediately, and so to enjoy my weekend off.  Alas.

First thing I saw was that one of the internal versions had escaped, and was the star in a blog video on the FPSC-R forums ;) I knew it was an internal version on account of the sand cubes where corrupted, which has been fixed in the official final version of BETA 1.003. I also got an email from Rick green lighting this version for release, so I stayed logged on to supervise the release of the beta for today. Upload takes a while, so watch your Products page and your inbox for news of the new update.

Occluding In Brief

As you explore the new update, you will notice two things. One is that your frame rate goes up (or should) and the second is that some objects are disappearing (and reappearing) on you.

The visibility issue is due to the way the occlusion system has been created, and relies on the fact the larger invisible bound-box that surrounds each object will be visible BEFORE the actual object to which the box relates is visible to the player. Unfortunately there are situations where the player can turn a corner and surprise the system, meaning for a second the object is not there and then it appears. This happens for only one render cycles, but it is enough to spot the artifact!  I am currently looking for options to minimize this effect but all the Google links I found so far elude to the fact that this is acceptable and common for occlusion systems.  If anyone can find a link which identifies this issue, AND SOLVES IT, then please let me know through the comments section.

Another issue you MAY spot is that really distant objects now completely disappear. In the final version, objects at this distance are replaced with quads (two polygon billboards) to fake the object's appearance for increased rendering performance. Alas my R&D into the technique of generating the textures for these quads over-ran the planned release schedule for this update and so the quads had to be hidden for their own sake.

A Secret Tip

If you want to see what the quads look like, you can comment back in the two CLIP commands in the entity and quad shaders.  I only recommend this if you don't mind the technical challenge and the less than satisfactory visual effect.

A Special Thanks

All is not lost however as on the eve of the official 1.003 release, I received essential advice from my new best friend Matty, the author of DarkImposters who had already solved the issue of projecting objects onto quads and very kindly shared his secret sauce with me.

I have glanced through his equations and I 'just about' understand the technique used, and am now very eager to code this into the engine and see what happens.

The Question Of Performance

We still have a LONG way to go on the subject of performance, and I still have some hellish optimizations I want to attack the engine with. I did take a little time out to solve some legacy model issues and adding the store to start the whole legacy support ball rolling, but I am curious what the community (you guys and gals) would have me do at this point.

I could continue to work on PPP (Performance Performance Performance) at the exclusion of all else, or I could blend in a little non-Performance work such as more legacy support, Weapon HUDs (of which the art is now available to me), auto-fence builder, adding the RPG, e.t.c. I am sure I will do one or two of these things for the next update in December, but I am curious to what percentage the wider world would set for this division of labors.  Imagine it was another slider between 0% and 100% to control Lee's non-performance activity :)

Signing Off

I know it's against policy to blog at the weekend, but I have 450MB of data to upload and decided to give you an update while I waited for the files to leave Wales. I have a meeting Monday and Tuesday next week so I can't imagine I would have much Reloaded news to blog, but if anything does occur, I will be sure to include it!


  1. great news on the release Lee,thank you.

    1. Also if we could ad our own static models,a lot of us can build our own models and play while you keep on coding.This would give us something to do and also pruduce some more good pics for the gallery.

  2. I'd say that you still need to focus on performance still. Get these core features optimized to the bone and make the underlying engine fast running. The more performance you can save early on, the more you'll have to spend on later features.

    I'd say not to worry about any of those things you've mentioned. They are pretty much all after-thoughts.

    I'd say that you should be more focused in future development. Your focus on performance has lead to some really great results and I think it could happen again on another focus after that.

    Some areas I believe deserve a good looking at:

    Interface - This is huge. I think, if reloaded is to work as a game creator it needs to be as diverse as it can when it comes to the user interface. Meaning complete control for the developer. With the plan to support more than just first person game types, it makes sense to build this feature from the ground up to allow for diverse genres, rather than tweaking it later to account for them. (We are talking about displaying meters and bars on the screen, buttons, variables and other graphics to create HUDs, inventories and interactable interfaces.)

    Graphics/Shaders - I still feel, from every single screenshot I have seen so far, that there is this weird, several-year-out-of-date polish over everyone's shots. I don't know whether it's the lighting, the shaders or both but considering you have performance in mind, it would make sense to tighten up this area and allow the visuals to really shine while still in the guts of the engine.

    Terrain - The terrain system while proven to be very capable so far, is still so bare. There are lots of features that could, and should be implemented to make it more workable and capable of delivering fantastic visuals. Quite importantly is the ability to import heightmaps to generate terrain, as you've proven how stunning the results can be from the "new map" randomly generated terrain. Even more importantly is to support a greater number of custom textures. I can't stress this enough, especially being able to just import an image and have the editor allow you to paint with it.

    Programmability - So this one is probably the most important one out of everything I've suggested. Basically, we need to be able to make our games. We need to add functions and events and ifs and in a way that does not make us sweat blood and tears. This goes back to the debate on programming language and method. I think the best example of usability and flexibility can be found in Unity and with visual scripting. If we could right click any object and select "Actions" or something along those lines and then insert action nodes (Collision, Button_Press_Near, Playsound...etc) and draw lines to another to give them instructions, it could not only be intuitive and powerful but also fast.

    Looking forward to seeing Reloaded developing further.

    1. I completely agree. Right now the community is still trying to understand the current features. We don't need new ones just yet. However improving the current features would be great as some of them seem bare-boned(which I have no doubt is the case). After this I think its important to decide which programing lanagaue to use and to allow us to start coding.(I don't think this has to be very refined only basic and then we will be able to setup are own models and developers such as ice can start to implement in there code to there games.)

      The only problem I have with your post is the several-year-out-of-date thing. I'm pretty sure its only a couple ;)

  3. well lee at last I can use reloaded!!! I've not been able to move at all in the default map as my frame rate was a terrible 2fps, but after installing the latest beta and just tweaking a couple of the sliders eg: reflection and veg size I am now running at 12fps!!! and if I tweak even more I could get up to around 20fps so thank you for all your hard work!!!

  4. @Huknar, I agree 100%, especially in the graphics department. I even said the shadowing needed work a couple of days ago. :)

  5. I downloaded the update and got to play around with it a bit. Glad to see the bad guys don't stretch anymore. ;) I would say performance is still the number one priority but definitely keep adding more legacy support. This let's us play around with a lot more in the environment. By the way, in the new update the animated palm trees completely disappear when you run 'test level'. You can still collide into them but they're completely invisible now! Another strange aspect I've noticed (of each release) is that I can't turn when I'm walking, only if I'm running (and only then if I press shift after holding w not the other way around.) One aspect I would change would be able to change the sky and terrain while developing as opposed to when in 'test level.' Also being able to put the start marker on a rooftop. Sorry, kinda rambled for a bit there. lol

    Anyway, to answer your question more concisely: performance and legacy support. My 'wish' item would then be a character editor.

  6. I am sure you can you can probably guess what I would think should be next......

    Yes you got it : Performance, Performance and Performance just like others before me here would support.

    I would generally speaking also support the other comments above along the way, including as you already have it under development, updating and advancing the terrain features, first as last, however again as you would probably guess.....after Performance my opinion is get the FPShooter thing right first, so Performance first priority and after that apart from introducing what you can as has been done to date along the way when the opportunity arises without detracting from core features, then after performance we should concentrate on the next most important fps major feature and that is, you got it......AI, AI and more AI until that's as good as the performance. i.e. as good as it can be..... Stability, Performance, AI in that order then anything else would be nice thank you :-)

    To be fair I know a lot of people may want to move on to room blobs and I am sure they will be needed but they are not critical as many seem to be doing quite well with legacy model content for the moment.

    Anyway thanks for all the hard work again, I am sure you will move along in the best possible direction as things come to light for best advantage.

    1. I don't know how fesible it would be, but if Lee decides to go down the visual programming root (I really hope he does!) I'd love to see an AI editor that allows us to create our own complex behaviours rather than pre-built scripts given to us. And yes, this is something that needs to be considered immediately as it requires a foundation to support, not just an "after basic AI" approach. You know the saying, give a man a fish, he eats for a day. Teach a man to fish, he eats for life.

  7. Agree with the above. I also would like a bit of scripts for my none human characters a lot of them. But a stable fast engine first.

    QUESTION will you be doing a character shop type thing


    Question 2 will you be doing a template script for the animals and odd creatures that will inhabit reload world

  8. Please give us decent camera view when editing the terrain! :)

  9. Definitely the performance should come first but, perhaps, throw in the odd new thing just to keep things fresh. ;)

  10. Performance is much needed. I have severe lag since the new update, occasionally almost stopping the game while it loads in stuff.. It would be nice to be able to carry a weapon from the start rather than having to drop one next to the player each time also. Although I don't mess much with that stuff yet as theres not much to mess with :)

  11. I believe 75% performance and 25% non-performance would be a great balance. Rome wasn't built in a day and neither will Reloaded be. Just add a little something for non-performance on the updates as you improve performance and when performance is maxed then the %'s can be reversed. This would make me happy anyway. I do appreciate the performance tips in the newsletter. I guess that's why you guys are the coders and I'm the tinkerer!

  12. Performance is fine for me. Custom content is what I want. Would love to be able import my meshes. Im not liking the new update at all, seem to be going backwards. The terrain editor is to low poly now and upon zoom out i cant see to edit my mountains. You should leave the editor high poly and add a reduce poly button.

  13. I agree with 't mauldin' with 75% performance and maybe 25% on the legacy support. most legacy entities are now working fine. I also like the idea of having different formats to import meshes, but I know that messes with the performance....
    Keep Up the Great Work!!!!!