Tuesday, 10 December 2013

Tuesday Meet Up

Out And About

As you may know today was a meeting day so between driving and talking, not much left in the tank for coding tonight. I did show off that speed increases are possible on integrated systems with room to spare, which means we can retain some level of visual fidelity in the modified shaders.

It is not realistic to get ALL the effects, running ALL shaders at white hot speeds on low-end hardware and expect high frame rates to compete with the mid and high end systems.  There MUST be compromise. The trick is in compromising those shader hungry effects that are not immediately apparent, thus allowing performance to increase without significantly affecting the end shot.

My jibe at removing EVERYTHING from the shader was really just to highlight my starting point, from the point of view of performance. The work now is to introduce shadows, texture variations, normal mapping and other elements in an efficient way, and as there is no one solution here I will probably opt for several shader levels to choose from. It will then be up to the individual creator what settings they prefer for making games, and what settings they recommend and preset for their users.

The End User

We will be having option screens so the end user of your game can likewise choose which shaders are employed for best results, and during the meeting we talked briefly about being able to 'post' recommended settings filed by graphics card name so new users of Reloaded and it's standalone games to quickly find and apply the best settings as discovered by fellow members of the community.

Signing Off

I plan to work on bringing the basics back into the terrain shader Wednesday as I am pretty sure can restore unfiltered shadows and terrain selection without hurting performance, and I have a question whether you can really appreciate the normal mapping as you're running through a level (and more importantly, whether it's worth the few FPS it costs to render them on low-end systems). Similar measures can then be applied the entity, weapon and other-game render surfaces. Combine these with the savings on scene and terrain polygons, we might start to see some serious improvements for many Reloaded users.  

Whether the sacrifice of visuals is apparent or welcome is the subject of another discussion, but it may be possible to supplement any short falls with some pre-baking. Many modern games that run on low-end positively depend on various forms of pre-baking to get the performance you expect, whereas Reloaded is attempting a complete real-time engine with zero-pre-baking.  In laymen terms, pre-baking is sitting and waiting for your level to 'build', and something I really want to avoid for as long as possible, and hopefully find a nice solution that satisfied the majority.

P.S. If...

Anyone wants to have a look at my terrain shader (in effectbank/reloaded/) and suggest how it can be made 'more efficient' without loosing 'any' of the visual effects, please do get in touch ;)


  1. I know obviously that the build game feature is a long way off, but it would be good for the game maker to be able to set what the end user is allowed to change, in terms of visuals. Eg. If my game is built around finding the spots of green light and the end-user has the option to turn off lighting that may be an issue. The same with what other sliders are available to the end user in build game. I know obviously this is still a way off but do you understand where I'm coming from? High performance on an ultrabook can only be a good thing. It's good to know a range of hardware will be able to function well :)

  2. On the question of choices if needed.

    If one choice at the expense of another is an only option because you cant have both then I would suggest personally that an Overall better quality for any game general scene is better than better quality for the detail as the senses tend to be impacted visually and emotionally by what we see as a whole during game play. e.g. explosions don't have to be in front of the eyes so we can see small detail to be impactful. Same for many other things they don't necessarily need be close enough to be able to see the finest detail to look good and add to a game experience.

    Users can make a difference for example by using better textures to improve the look of a game to help achieve a bump (normal map) effect and so on but lack of decent shadows are harder to work around for end users. Thus a choice between normal mapping or shadows is a no brainer really for me.

    Normal mapping and shaders, bloom and so on can be overdone though if done well are really good.

    Personally I would rather have good gameplay before anything else. AI especially as you know but that's a personal thing.


  3. I think normal mapping is an essential asset. It brings it out more. And there is a subtle difference which when you place next to a none normal mapped entity shows this. Gotta keep normal shading. A must. As long as you give all options im happy. I can run on beta 3 a complex map and busy with no issues. And I have a gtx660. Mid range. Which is really the normal for gaming. But I think give switches or give us the option to give them the options needed. Don't downgrade and lose things. That's reverse progress. Just add kill switches per shader. This way we can all move on and stop trying to get black ops on a zx spectrum it's futile. Time for other things. Its near Xmas and people can ask santa for a games pc. Or gaming laptop. That can actually play games :)

  4. I think the solution is simple. If you can't play games on your PC such as an FPS game which requires decent hardware, then don't attempt to make one. It's too hard to get a feel for the visuals of the end user if you cant experience them yourself. I am all for options to reduce visuals if people need a speed increase but if you have to cut out so much that it's bare just so people with low end non-gaming computers are able to run a test level, then don't bother. This project should be aimed at people with mid to high range computers. If low range is to be included then peope with good hardware shouldn't have to "suffer".

    1. We won't suffer. (I say "we" but I don't really have good hardware; just a GTS250 and a Core 2 Quad.) Lee is keeping the visuals great on higher-end hardware but adding the option for to reduce visuals for lower-end hardware.

      And yours is not a good solution. What if the low-end user is doesn't care about visuals and just wants to make a game (which is most low-end users, trust me)? We should support those with less well-off than us (again, I don't have amazing hardware, but it's better than my laptop that died).

  5. The bottom line here is a numbers game.

    The wider the range of end user game maker and game player computers that the engine will support and allow to be run successfully at acceptable performance and fps game play speeds then the more of those game makers and game players will be able to use it and the more high quality games made with it will be the end result.

    Importantly the maths say that equates to a more successful product, more game makers, more game players, more and more quality games made with it and most importantly of all, MORE SALES.

    That's why performance on a wide range of machines is important - for TGC its about making money and that's good for Reloaded and everyone concerned in developing, improving and maintaining it ongoing into the future.

    If you want a lot more users and sales then you have to produce a product that more people can use and want to buy for the reasons under consideration.

    You can have sales equating only to those who can use the product and want to do so because it performs well for them, meets their needs as developers, large or small and returns a high quality result and its those out there in the wider world that you have to attract to buy despite what anyone here thinks.

    This is no different to classic - despite any visual differences in the engine if it does not perform well and user and player speeds are low then you will limit the number of users to those that effectively can indeed find it useable and acceptable wherever that range group exists.

    Features and eye candy will be of no use if users cant use the product - thats the bottom line.

    What you want is fast and efficient engine and high quality with lots of features. The balance you achieve will reflect directly in sales so the more users you can accommodate with varying systems the more sales you will have. Thats the maths and cant be changed whether you like it or not.

    People who cant use it simply cant use it and that an end to it so if you isolate users groups then you restrict the type of system owner that can and will buy the product.

    Where you set the bar is a matter for how many user you want balanced with many other things. Get it right and you win if not you lose.

    Numbers and sales - more is good - less is bad. Something like that anyway.

    Theres a long hard road ahead yet to come in developing Reloaded and a lot of updating and features yet to develop further and many more to add - performance will be critical in maintaining as it develops forward and I am sure TGC will do their best with what they have. How it all pans out we have to wait and see as always.


    1. That's a good point and I 100% agree with it. I have had a bad experiance with "cash grabs" in the past and I'm just trying to get on the same page of the development. My point was that people with better graphics cards shouldn't have to "suffer" to increase sales. If people with decent hardware don't, then I have no issue. I love reading about the development and which direction the project it heading.

  6. Well, after reading these comments I must admit to being a bit surprised. I never like to guess at a persons technical knowledge, you can easily get it wrong. It is fairly obvious to me that Lee intends to develop shaders that use older technology, Reloaded is probably using the latest shader version, I'm a little out of date now as I can't afford a new shiny graphics card, but let's just use the ones I know of. The first graphics cards to use shaders were the Geforce 3 cards, version 1.1. They were limited and at the time quite spectacular. Morrowinds water effect is still one of the best I have seen even with newer shaders since. Since then version 2 and 3 have been released, perhaps more but I haven't heard of a version 4 yet, but there could well be.
    I don't think Lee intends to cut the shaders that are there now. Just work on older versions that will run better on old cards. Considering the market for laptops and ultrabooks it would be silly to ignore them just for high end machines. So many people buy a laptop for cosmetic reasons it really is quite amazing. They have no idea it can't run games like a decent desktop/tower unit and never will until 3D cards become uneconomic (That will be a sorry day, but I do see it coming with cpu/video integration becoming more and more popular). So getting stuff running on those machines is fairly vital. I don't see it affecting high end machines, they can still use all the latest stuff no problem. This is just to get lower end machines running to the best of their abilities. Definitely a welcome move!