Product Chat / [LOCKED] Internal Beta Update - Latest Progress

Author
Message
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 2nd Sep 2017 23:50 Edited at: 30th Nov 2017 17:41
The internal beta testers have been selected, and they are now hard at work on your behalf to ensure your first experience of the new DX11 version is a smooth and satisfying one. This, of course, means I am putting them through hell as they work through all kinds of strangeness on the road to stability. Even though I have entered what I am calling the pre-beta phase, I will still keep you informed of the progress as you have come to rely over the last few months. Here is the progress as it happens:

1st September - V 2017.09 DX11 BETA 01
* Fixed EBE saving and handle object issue
* Can now erase data from a specific limb (internally) for the above fix
* Fixed issues causing animatable entities to not animate (doors, scifi dlc assets)
* Fixed issue of decals causing Z write rendering issues
* Fixed Galazy Seed Shaders from Expansion Pack
* Fixed issue that causes object renders to drop mesh renders if earlier ones are unshaded
* Fixed issue of CPUANIM entities not animating (restored CPU animation but not recommended)

2nd September - V 2017.09 DX11 BETA 02
* Save Standalone now works and produces standalone which runs (with issues)
* NOTE: Above test metrics: launch to menu=30sec, start game=100 sec, FPS=123
* Added 'suspendscreenprompts=0' to SETUP.INI to hide any text prompts in standalone startup
* Fixed castle gate animation in Easter DLC
* Added support back in for multi-material models
* Added missing shader for effect_scroll.fx
* Corrected Core AI homing logic to avoid 'circling coordinate' if not being crowded by AI
* Prevented Core AI from attacking through walls (needs line of sight) FPS & TPP aware

4th September - V 2017.09 DX11 BETA 04
* Added entity_anim.fx to solve issue of entities with animations not animating
* Reduced intensity of SAO so have finer controls of shading range
* Added 'character_transparency.fx' to allow for characters that require transparency
* Restored gun muzzle flash and smoke decal shaders from weapons
* Reduced SAO effect at very close range, removing artifacts from weapons
* Adjusted weapon shader so lowest shader level shadows uses camera position reference
* Can now change between sky shaders (basic vs scroll)
* Unified sky shaders for better HLSL editing in the future
* Corrected binormal calculation in entity_core highest shader level (inverted normal shading)

5th September - V 2017.09 DX11 BETA 05
* Modified splash loader to select 'nearest' image in 'languagebank\x\artwork\watermark\'
* Fixed Paintedbarrier_N.dds which had corruption in the alpha channel of this normal map
* Added 'entity_transparency.fx' to shaders for new 'alpha to coverage' effect for entities
* Fixed issue of projectile models not loading now X files removed from standalone executables
* Restored gun loading in standalone, now looks for DBO instead of old X files

6th September - V 2017.09 DX11 BETA 06
* Fixed bug so all four gun sound effect variations are detected and loaded
* Regenerated Obstacle data for The Big Escape, and resaved, to speed up loading
* Fixed nasty bug that caused edge data in obstacle data to be incorrectly saved
* NOTE: Legacy levels will need to be loaded, move entity, test game then saved!

7th September
No build for the beta testers today, as I decided to spend the WHOLE day on PBR, and what fun I had. After some tweaking, I have a really nice PBR Shader now which accurately simulates real world lighting effects based on the texture information supplied, which so far handles albedo, normal, specular (not metalness), gloss (not roughness) and AO. I plan to create some shader flags to allow metalness and roughness textures to be used, or perhaps something more sophisticated through the model importer as I suspect other FBX/PBR source art will be arranging texture choices in all manner of ways, and GameGuru really needs to handle all the curve balls through the UI of the importer, not through hacking shader flags. On Friday I plan to continue my PBR work and extend the texture handling to more FBX PBR model examples and get clear on the process for getting them working the first time. My sources so far are Fuse Character Creator, Unreal Store, CubeBrush, Quixel and my own freelance artist assets. As this was the first day I saw some GameGuru PBR, I am commemorating the day by posting my progress shots from today's efforts. Enjoy.

8th September
Had a day of both PBR and BUG fixing today, all good and satisfying. On the BUG side, fixed 5-6 issues of great importance, including code which means you no longer need to load old legacy levels to regenerate the AI obstacle data, the system will detect older FPM files and simply delete the OBS data, and code that relates to this ensures the AI waypoint data does not corrupt on load, solving the crashes you might have seen if you repeatedly load and test game over and over. On the PBR side, more good things, I was able to get a few FBX models from various sources for more tests and managed to get a nice log and rock from Quixel rendering with all its textures under PBR, a portable generator model and a C64 model from the CubeBrush store. I will be looking for some test models that have a lot of metal in them next week as the ones I have are rather diffuse in nature and PBR screenshots of solo models only look good when there is some reflection going on. I am resisting creating a whole scene until the Import Model feature is further along, as I don't really want to step back to it to add stability at a later date, and would rather get it solid now so I can depend on it when I start bringing in lots of FBX models for my PBR scene experiments. I also have the loan of a top artist in October too, so I will be able to tailor existing and new assets to fit into my PBR plans, i.e. make some screenshots and a game demo that looks 'wow'. I was going to sign off this evening, it is Friday after all, but I could not resists staying for one more optimization before I made the new internal build for the beta team, which is to take all the separate draw calls from HUDs, text, images, etc and reduce them to a tight rendering loop. Right now they fire off one draw at a time, each one setting shader states in the process. The optimization is to set up the sprite shader then rattle off all the texture swaps and draw calls in a tight loop. The upshot will be a much faster frame rate when there are a lot of 2D overlay things on the screen, such as the TAB TAB view which really crawls for me in debug mode. This has been a great week and I am pleased that FBX and PBR work is firmly underway and I can start showing some visuals along with these words

11th September - V 2017.09 DX11 BETA 11
Spent most of the day focusing on shadows, which you will agree is a vital and important part of the overall visuals of your game. The current shadow system aims for widespread compatibility, but higher-end systems will want a certain level of fidelity, so I have been ensuring the shadows created in the PBR system have every advantage. Not only did I ramp up the resolution to 4096 which seriously improves up-close jaggies, I am planning on expanding the cascade shadows to 8 levels, so I can have higher quality shadows up close and still have decent shadows in the distance. It means more video memory eaten, and a performance hit, which is why the settings will be scalable right back to the 1024 4-cascade mode to retain backwards compatibility. I also made some small improvements to the shadow rendering itself, in keeping with how PBR wants things done. I also found time to get a new beta build ready for release to the internal testers, which includes these small items:

* Added 'hairlimbs=x,y' to specify a series of limbs that represent hair
* NOTE: Above can also be used for any limb that required the culling switched OFF
* Importing of some static FBX models now preserve single PBR texture sets for export
* Updated texture loading code to prefer .DDS if it sits alongside a PNG/JPG file
* Improved shadow rendering so can specify 'realshadowresolution' larger than 1024

12th September - V 2017.09 DX11 BETA 12
My mission today was to finish off the texture handling of the FBX importing and start work on bringing in an asset from the FBX ether to start the ball rolling to create a convincing landscape. My experiment started with a large rock. Took plenty of hours to overcome the trip wires strewn on my path, but finally managed to create a rendering that I was happy with (posted a shot below). Also found time to make small improvements to the beta build, which includes the following:

* Added extra code to skip AI obstacle generation if dynamic entities modified
* Added extra string clue to all runtime errors for file exist/not exist
* Fixed Security Gate entity so when it closes, it does not disappear
* Ensured the realshadowcascadecount in SETUP.INI can specify upto 8 cascades
* NOTE: Created new good cascade range values for an 8 cascade shadow mapper
* Added new 'hidelimbs' field into FPE to specify a range of limbs to be hidden
* Extended support for 'associated textures' load to PNG even if DDS specified

13th September
Continued to import more FBX models and sort through the texture variances. Have some nice looking rocks now (cliff, rock, and pebbles), and getting very close to AA engine visuals, just need some tweaks such as a dirt-detail map and improved shadow blurring, but very close now. I have extended my import testing to terrain and vegetation now, as this is the next most important element of a successful PBR outdoor scene. I have not released a beta today so I can spend that little bit of extra time working through the creation of some more PBR textures, and get a head start on Thursday. I have posted a screenshot of my three rocks, which I think you will agree is pretty good now and hopefully, more PBR assets in the scene will start to create something we can all consider a leap in graphics for GameGuru.

14th September - V 2017.09 DX11 BETA 14
Aside from finishing some PBR bits, my task today was to get more bug fixes and improvements made to the core to keep the beta builds improving constantly. Perhaps the biggest fix was the AI repair, so that many bots (like 50 zombies) no longer freeze when spread out and the player moves about between them. The issue was related to the multithreading losing track of an AI bot that got disabled at distance and froze the ability to process new ones and another related AI issue that compounded it. Hopefully, this solves what I suspect was the major issue from May onwards. Friday I spend some quality time with the terrain, vegetation and perhaps some metal models as I bring more PBR goodness via FBX into my test scene. For now here was last nights and today's completed tasks:

* Added 'unscroll=u,v' and 'uvscale=u,v' to FPE to change entity UV shader data
* Fixed issue causing depth map to decouple when SAO was switched off
* Fixed issue with AI threading code freezing logic when lots of BOTS out of range
* Restored full cascade shadow range for entities, terrain and character shaders
* Fixed bug for fresh installs so model files are loaded ok during DBO conversion
* Consolidated all separate HLSL shadow code into single cascadeshadow.fx shader

15th September
Started work on getting the terrain shader to run as a PBR terrain, and having re-familiarised myself with the terrain shader, I think it's going to take a little bit of work, not necessarily to get it running under the new rendering model, but to get it as fast as the old one. The PBR was good enough getting a single diffuse (albedo) color as part of the process, but the terrain shader can sample as many as four albedos, and then four normals, and so on and so forth so this bit of the work I will need to make sure the performance is considered at each step. It's now 8:30PM so I won't be able to finish to show a nice screenshot, but I am pretty confident I can get some good results. I have also resolved how you are going to get to switch between the old terrain and the new PBR terrain, via the LIGHTING drop-down in the Shader settings TAB TAB dialog. It's the closest setting that directly speaks to lighting models, and allows the HIGHEST to LOWEST settings to remain, just in case we want different intensities of PBR activity. It would have been nice to show the PBR rocks sitting on a PBR three-layered terrain, but the day has beaten me and everything is now dark. Work resumes on Monday when I can finish the PBR terrain variant, ensure the performance is as good as the current one (as much as can be expected) and then turn to the veg and trees. One good thing about going through the shaders and my fresher knowledge about shader writing, I am starting to consolodate HLSL code and removing lots of the cut and paste chunks that so often slow down shader debugging. By the time I am done, I will have one core PBR shader with lots of 'child shaders' that spur off the core one, meaning less code to debug but most critically, it will be a unified shader for everything (entities, terrain, characters, veg) so the lighting model will be consistent across all of them and thus blend the scene convincingly together.

18th September
Started the week with the last thing unfinished from Friday which was to complete the terrain shader to run under the same PBR core shader as the current object renderer. The thinking is that as I change other aspects of the shader such as lighting, e.t.c the changes are universal across all shaders that use PBR and create consistency (and less code to traverse to change/fix things). It took most of the day, but the terrain shader now has PBR power and aside from a few artifacts which I am sure will explain themselves in time, I am happy that the resulting PBR core shader is still clean and is doing what I wanted it to do. I was also interested in being able to see my PBR layers at any time during this work, so I killed two birds with one stone and added a new LUA command called SetShaderVariable which will allow anyone to change the shader constants of any in-game shader, which has been requested by the scripting elite of the community, and which saved me the task of adding any hard coding into the mix. I added the controls to view the PBR layers in the gameplayercontrol.lua script, and used a nice generic name like ShaderVariables as my constant, and by passing a shader index value of zero into the command it will seek out ALL shaders loaded and modify the above constant, which in my case finds and adjusts all PBR shaders with a request to show me a specific PBR layer. I have posted a shot of the 'lighting only' view, so you can see one of the artifacts I still need to deal with, namely that the lighting as the terrain goes into the distance is making much use of the normal mapping over there, and this needs to be faded out as the normals should not make much of a difference as they get further from the player (and presents a possible performance boost for terrain rendering). I plan to work on a beta build for Tuesday, which includes further AI fixes and of course the above new LUA command which I am sure a few of you will want to experiment within the internal beta group

19th September - V 2017.09 DX11 BETA 19
I wanted to get a good beta build out today and did just that. I had a mind to go through a rather large FPM level that exhibited the AI freeze issue, and thanks to the massive file, I was eventually able to determine the cause, and this issue is now fixed. If you keep an eye on the forums, it's the level with all the zombies attaching a top down perspective shotgun soldier. He now does not stand a chance, that is, when the chickens get out the way! I also found enough bravery to replace the external X file converter with a new internal one which I managed to coax to live within the DirectX 11 framework. No small trick as DX11 does not have the ability to load X files The plan for Wednesday is to continue with the PBR efforts, getting the shadows to look even better, getting normals in the distance to behave and finding time to move swiftly onto PBR vegetation. For now, I can also add the following to the official change log:

* Created PBR shader for terrain handling
* Added SetShaderVariable(shaderindex,constantname,vectorindex,value)
* NOTE: Above can assign a value to a specific shader if index was known
* Replaced external X file converter with internal DirectX 9 converter
* NOTE: Buildings Hut 2 never had materials, fixed its invisibility
* Fixed transparency issue for regular entity rendering
* Further consolidated all character shaders into entity core shader
* Fixed issue of entity bounds disappearing when going underground
* Fixed issue with AI threaded race control when AI bot destroyed

20th September
Every developer knows you get good days, bad days, and absolutely disastrous days. I have just had one of the latter. Started late morning and worked for about eight hours on removing the jaggies and stripes from the shadow mapping system. Started with some basic tweaks to the bias code and then extended to learning the secrets of eliminating pixel swim in referencing shadow map texels when using a floating projection view from the cascade system, then to considering a whole new shadow mapping system that relies on dynamic cascade shadow splitting for increased resolution and finally back to the place I started from with the knowledge I gained from failing every other way short of a rewrite. For me, spending an entire day on something and winding back to where I started is not a feel-good day by any means. I even skipped dinner so I could give myself focus and time to get shadows right once and for all. As I always like to find the good in bad, I did create code which allows me to view the closest cascade shadow map using the old "debugviewmode" value of 1 (when return is pressed) so we have that, and in the last twenty minutes (during writing this very blog entry in fact), I did settle on a series of quick tweaks so that the shader stripe issue is fixed for all cascades, and the jaggies at extreme slopes are faded out to hide the artifact that I wanted to handle gracefully. It does mean I can carry on with the other tasks on my list come Thursday, but it also means that I am not finished with my mission to create the ultimate shadow mapping system for GameGuru that can handle flashlight shadows as well as sun shadows. Anyhoo, its the end of the day now and I can only beat myself up so much. Thursday will be a day of terrain normal map fixes and PBR grass, so that should cheer me and my engine up a little. Also have a mountain of emails building up too, so I think tomoz is going to be a big day!

21st September
Spent half the day finishing off the shadow tweaks, so that I am now happy with shadows casting on old terrain, new PBR terrain, old and new entities both close up and in the distance. Spent the second half adding some extra code and a new SETUP.INi flag which allows all in-game shaders to refresh themselves each time the test game is run. This basically means I can modify HLSL shaders and test the results without having to exit the software and relaunch which took extra valuable time, and I anticipate I still have more PBR and non-PBR shader coding ahead of me as we bring in more models to improve the visuals of the example level I have in mind. Also did a little work on the UI graphics, and received the new logo refresh from the artist so I can start thinking about putting the new welcome panel system into effect, to keep things moving along. I don't have a new shot for you, but did receive an image which I thought was a good marker for the old GameGuru, before we charge ahead with the new one.

25th September
Blasted a lot of bugs, and released a new beta build. Will switch to some PBR work on Tuesday to ensure I keep up to speed on the two fronts. Here is the latest change log:

* Removed some internal grid update code from AI for improved speeds
* Added shadow map debug view mode when debug slider is 1 and ReturnKey()
* Tweaked shadow mapping shaders to eliminate artifacts at distance/angles
* Added "forceloadtestgameshaders" to SETUP.INI to refresh shaders each run
* Fixed portal warp entity in Cartoon folder to avoid FX crash
* Cleaned up SETTINGS.FX slightly to reflect changes to shader
* Fixed the LAPTOP flag in SETTINGS.FX so it no longer FX crashes
* The editor no longer starts up dimmed, and defaults to non-PBR terrain
* Improved filter on Import Model shader choices to remove internal ones
* Added 'lightmappingdeactivatedirectionallight=0' to SETUP.INI
* Added 'lightmappingambientred=25' to SETUP.INI
* Added 'lightmappingambientgreen=25' to SETUP.INI
* Added 'lightmappingambientblue=25' to SETUP.INI
* NOTE: Set above to 1,75,75,75 for sun everywhere
* NOTE: Set above to 1,0,0,0 for sun nowhere (static lights require)
* Added 'lightmappinglocaliseterrainlighting=1' to allow ALL terrain LM
* NOTE: Above when set to zero will LM the entire level (if desired)
* Added 'allowcpuanimations=0' to SETUP (new default prevents all CPU anims)
* NOTE: Above optimization will freeze entities 'relying' on CPU anims
* Tweaked entity core shader to allow transparency AND clips zero-alpha
* Added support for the Logitech F310 controller (xboxcontrollertype=2)

26th September
Got back on the PBR horse today, and finished the vegetation (grass) shader so that it's now part of the unified PBR shader universe. I still need to do a few more things such as test a high-quality tree, and fog and other bits like a unified dynamic lighting/spot/flash system but we're almost at the point where the whole scene can be PBR rendered. Performance reports are still good from the beta testing, and I continue to battle non-PBR issues which are still very much desirable to have as part of the next major update. Should be getting some new UI icons too, so exciting stuff. I have posted a screenshot of the grass, though the really cool shots will come when I start adding metal objects and start work on the dynamic cube/env map textures to create a more convincing blend within the lighting model as opposed to the placeholder cube texture I am using now.

27th September
A little of both, bug fixes and making sure the shadow mapping worked with all the PBR so far, and that we can switch back and forth using different shaders without a hitch. My new feature of refreshing the shaders each time you run Test Game has been pretty useful and allowed some quick shader iterations. I have posted a shot of the latest, now including tree prototype. Thursday I hope to work on the environmental maps for PBR, starting with generating them on the fly and storing them inside the respective skybank folder, but the better one will be when I take the general colour of the terrain as a factor, and of course the ultimate version of light probes to grab more localised examples for the environment map. Going to start with the sky and terrain ones though as this will go a LONG way to blending all the objects with the floor and sky. Also have a few more bugs reporting in from the beta tests, including a concern that existing entities and those from the asset store will still work, so will be looking to get sample assets that have trouble with the new engine and make sure we have good backwards compatibility. When I started in June, I had hoped to have something for you around now, but it turned into a pretty huge job, and I think the extra time working on it will pay off, not just in having a good PBR solution, but with the software overall in terms of performance, fixes and a general improvement in how it will be presented to new users.

28th September
Spent most of the day going through the build and cleaning up the code from the last few days, and going through a few more bug reports from the latest beta. Part of this was chasing a pretty hidden bug relating to LOD based animations in large levels which only took a mere 3 hours to track down. This pushes my work on the env map creation to Friday but I gave the dog a nice long walk and between us figured out how we can skip the static cube map in the skybank thing and go directly to the dynamic run-time creation env map that can use a file cache to remember when it changes, stored in the levelbank folder. This would work similar to the current way we retain terrain texture selections and would essentially produce a better env map for the PBR as it would take into account both the sky and the terrain coloring. This takes care of 2 out of the 3 essentials for the reflective aspects of the PBR rendering. The final step is 'light probes' which may be automatic or placed manually, and some kind of cube map blending trickery in the shader to transition between cube maps as the point within world space changes for the pixel being rendered. A lot of tech there, but essentially it's the penultimate step for the PBR system, the final step being the table of material types that will ultimately provide the physical properties in the absence of gloss and specular maps, and provide a detail map rather than the generic rock one I am using now. Throw it all in a bag and shake, and we should have a pretty cool graphics engine for GameGuru's future. All that will remain is to add some high-quality art, both from our own studio and of course from many third party sources.

29th September
Had some errands to do in the morning, but started at 1PM to get dynamic cube maps generated, and it's now 2:30AM (AM that is), and I have made some good headway but not as far as I thought I would get. I can generate the cube map from the scene right inside the game, but for some reason, the depth buffer does not seem to be doing its job and when I save the cube-map as a texture it's pretty empty. No energy left to think straight, so this will resume on a second day when I can finish it off and see what the PBR looks like with accurate env maps. I have posted a 'work in progress' shot so you can see where I left off for this week. Sleep Time!

30th September
Was hoping to do some gardening this weekend, but it was wall to wall rain and nothing else planned, so after a late morning start, I continued part B of the cube map work and finished it. I skipped the issue of depth buffer troubles as my current goal did not strictly need it as I only wanted the terrain and sky and I could at least control which one got rendered first. From this, I was then able to get the save env map working properly, for levels to retain a cache of the env map and reloaded it okay. The final test/step was looking at my small PBR model collection under different sky/terrain choices, and I was very pleased to observe it all worked as PBR intended. I have posted some choices below. This means I can work on the next things such as dynamic lights and other missing aspects of the new unified shader system, and of course, make more fixes and beta builds. For now, however, 5 hours is enough for a weekend day, and I now turn my full attention to surviving the post-war horrors of FallOut 4 (universally slated on Steam reviews but I find it a great game to play, go figure).

2nd October
My mission today was to finish updating the UI graphics and start the new Welcome System which will replace the current opening dialog that presents ancient videos and not-very-good games, in favor of a single 'better' game level and a link to the reference guide, which I will be updating to include the new features added since the last time the guide was updated. The new welcome system will also help new users test their system to determine if they meet minimum requirements, and if found wanting, to adjust the default settings so they get better performance 'out the box'. It will also prompt the changelog each time an update has been made, which should go some way to highlighting the work done between updates and answer one the criticisms that two years have passed and nothing has been done to GameGuru. At the moment I have used scratch graphics, but they will be replaced this month with proper art. This is also the month I put some energy into creating new PBR assets, and go over the software as a whole to ensure the visual impact is lifted across the board. With the UI and welcome dialog getting a face-lift, and the new PBR shader to improve in-game graphics, I am hoping to release a major update for GameGuru before the end of the year. Thanks again for your patience, and I hope these dev blogs go some small way to keeping you in the loop given you've not had a Steam update since May. I may even bring in a metal model on Tuesday, a great way to show off what PBR can really do!

3rd October
Had to prepare for a meeting on Wednesday, but did manage to do some tasks I had been meaning to do, which included the importing of my first metallic PBR assets, and the shader worked very well. I am still not 100% happy with the shadow solution and have the dynamic lighting and fog still to add, but I think we are getting higher up the visual quality scale for GameGuru (see screenshot at end of thread for today). Most of the assets came from third party artists who specialize in PBR texture sets and higher-end game media, so you can see the difference it can make. Any assets TGC creates from now on will be in this style, so in time we should have quite a collection of high-quality assets for you to use (courtesy of your GameGuru purchase) I was going to release an internal beta, but the Welcome System is half-finished and would have been a little cruel to any users with the current beta so I will release one on Thursday when I return to the fight.

11th October
Brought back a large bag of changes from my meeting last Wednesday, and created a good deal of backlog too, so sorry for the lack of updates on the current progress of the engine. The good news is that I have been setting up the sourcing of brand new PBR content for the Big Escape and have a good solid plan for the remainder of this development, with a potential release date this side of Christmas. It is not confirmed, as we will have a final team meeting to decide if it's got enough 'wow factor' to release into the public, but rest assured the beta builds will continue to flow and each update will bring us closer to a stable fast and visually impressive update. Just like waiting for a 'bus', I have another meeting planned for Thursday so I am expecting some more backlog to slow down my build frequency, but by Monday I should be 'distraction free' and ready to pump out some updates to the beta testers. I have also secured a Windows 7 machine to resolve some issues reported in that quarter, and have a GTX 960 winging it's way to me which 'might' reveal an issue that could cause some graphics cards to run GameGuru much slower than they are capable of. As an example I have a 980 and run my PBR tests at a solid vsynced 60 fps, but the model lower, on two different machines, runs at 20-30fps and the second at a ridiculous 5fps. Clearly something happening here, and once I find and fix it, it should mean much more FPS for those users who are sharing this strange reaction to graphics cards. I am going to hold off showing the new PBR art being created for now, as I want to get approval from the internal team, but I can say quite confidently that they are a leap in quality to what we have now, and should really help show off what PBR brings to the table.

19th October
Managed to finish off the new Welcome System and put things back together, and was able to release a beta build this evening, along with the fixes that came along for the ride. The delay in updates was partly due to CEO/TGC business, but the bulk of them have been delegated now and I can bring you more frequent news as we charge ever closer to the next major update. Friday I have scheduled to work on finishing off the PBR shaders (fog and lights) and getting some of the new art in the stock asset collection. I am also keen to see if I can shave some loading time from the standalone executables as it's clear they can be faster. My current PC loads the main editor in 20 seconds, the escape level in 33 seconds and the test game in 27 seconds so that's 80 seconds from clicking LAUNCH to playing a simple game. I am hopeful that after I have improved the standalone loading code, the above three figures will also reduce which can only be a good thing. I also plan to tackle a Windows 7 'restart session' issue that has been buzzing about and annoying beta testers with extra systems to run on, so Friday is set to be a very interesting and productive day.

26th October
After releasing a new internal beta to the testing team, got my first report of incredible load time improvement when launching the editor, so that's one cool new thing to look forward to with the next update! This result was from some keen optimization work I did to get a standalones to load and run faster. The above metrics I quoted also affected a standalone, so the new build can run a standalone and get to the menu in less than 5 seconds and load and run a simple level in about 10 seconds (my PC), whereas before my optimization the whole thing took over 50 seconds. My current mission is working with my artist to create some stunning art for you, and I've just spent the last six hours basically rewriting the PBR shader to accommodate an improved rendering approach. It was a risky play but it paid off, and how I have better PBR visuals than before, and also found time to add back in dynamic lights, spot flashes and fog. As a teaser, I have posted the latest render of my PBR test level and added in the dragon for fun. Hopefully, I will be able to bring you some nice shots of the renovated Big Escape level. PBR art takes time, but it's worth it, and the results are pretty awesome.

2nd November
We now have PBR in the weapon shader now, and a whole new set of textures for the gun system to load in. With some great help from our community gun smith ErrantAI, I was able to reproduce many of the visual touches that ErrantAI has been working on and able to replace one of my old stock weapons with a brand new one and it really transforms a scene. Alas I won't be getting any of the new weapons, and overhauling the existing ones for, but it means when the new PBR weapons go on sale through ErrantAI's website, they will work a treat in the new GameGuru overhauled engine. I have posted a teaser screenshot below so you can see what I've been 'shooting around' for the last few hours, and I am sure I will be able to show you more weapons in the near future. I've also welcomed some more artist help this month with the single goal of improving the Big Escape game level so new users will have a great looking game to play with when they first take the wrapping off GameGuru. Hopefully, we can leave behind the '2002 graphics critique' and redirect that energy towards performance, which will more of an ongoing saga as we target lower-end systems such as gaming laptops, integrated GPUs and cards over 5 years old.

6th November
Finally managed to assemble an old Windows 7 PC with 2GB of system memory, slow HDD and slow graphics card for a stability test that reported a crash, and was able to find and fix it (and another one while I was there). Having moved from my SSD and super fast graphics card dev machine really highlighted to me the importance of having some older benchmark machines around to periodically test GameGuru against. I can appreciate a lot of users don't have the latest kit, but they should not suffer for it. It was only a handful of years ago I was developing quite happily on my Win7 HDD PC so it is something I will be dedicating some of my time to next year, just so this game maker runs good where-ever it finds itself. Going to upload an internal beta build this evening to confirm the Windows 7 bug has been fixed, and I have also posted a new shot showing the lovely new PBR rock models I received from last week (soon to be part of the update, free of charge).

15th November
Have plenty of art now for the Big Escape, and it's slowly transforming the 'showcase' PBR game level demo that I hope will show off some of the visual improvements to grace the next update. I've also been improving the FBX importer and mapping out some work for particles and a new explosion system to replace the horrid one we have now, and thanks to DirectX 11 I should be able to access the depth buffer for particle overdraw rendering. I have also been collecting some material for the new website refresh that will accompany the new update and modified logo strapline. My priority is slowly switching over to stability and full backward compatibility with the beta builds moving forward, as I think we have a decent PBR and performance boost (by no means the final state), as it's vital anyone who 'automagically' updates to the DX11 engine don't suffer any ill effects while working on their formally DX9 game project. Managed to get my inbox (it gets busy up to Christmas) down to 19 emails, and many of them are GameGuru issues pending, so should be a good week of fixes and beta builds. Once I get a few more assets into the Big Escape, I will post another screenshot so you can how it's all coming together. It might seem trivial to work on asset importing and visuals, but the two big goals for this update was improved rendering and improved performance, and for the visuals, we need top PBR artwork to show the first part off. The loading and performance has been measured to be better, so now it's about getting a good demo polished, ensuring the update is solid and testing heavily to make sure the update goes well.

21st November
Got through a lot this week so far, and getting ever closer to that public release. Starting to close off new features and focusing on stability and backwards compatibility now, and tweaks as required. Here is the latest changelog to keep you up to date:

* Added missing 'detail_default.dds' to effectbank\media folder
* Fixed Weapon FOV slider while retaining standalone FOV menu fix
* Fixed bug so Prompt3D now aligns to camera angle when not overridden
* Deleted left-over Prompt3D object when return from game level session
* Corrected 'PositionPrompt3D' documentation to include 4th angle param
* Changed CutOutDepth to BackwardCull to fit BSP weapons (not sealed mesh)
* Ensured asses from Big Escape all have mipmaps in their texture files
* Fixed issue of AI obstacles not regenerating when affect static entities
* Added muzzle flash spot lighting to modern day weapons
* Added muzzle flash flags to all modern day guns
* When specify FBX in the FPE for direct load, it now converts to DBO (faster)
* Fixed PBR shader for tree rendering (no alpha transparency during clip)
* Added APBR_TREE shader to handle leaves with no alpha transparency effect
* Prevented FPE based FBX loading from using twizzle/center flags from importer
* Allow shadows to reduce env contribution in PBR by 50% (defeat bright cuberef)
* Editor now restores non-PBR terrain for editing with low-level shadows
* Standalone no longer eats shadows when enter in-game menu and FOV setting fixed
* Removed erroneous INI files from standalone executable processes
* Added 'hidedistantshadows=0' to standalone executable SETUP INI
* Fixed issue causing SKIPFVFCONVERT flag in FPE to wipe out character firespot
* Fixed issue of being able to slide METRICS PANEL sliders (harmless bug fix)
* Added screen/override to 'none' post process for spin up fade in
* Weapon no longer randomly selects after entering new level or exiting menu
* No longer shows HUD panels if F11 FPS View is displayed (used to show HUDs)
* Fixed jetpack HUD rendering issue (related to newer weapon shader system)
* Fixed issue of muzzle flash decal sinking into terrain via Z clipping
* Added new 'PromptLocalForVR' command which prompts normal if not in VR mode
* Modified all scripts that prompt the player for action with 'PromptLocalForVR'
* Fixed Prompt3D and PositionPrompt3D for when not in a VR mode
* If legacy weapon still uses entity_basic, switch to use weapon_basic shader
* Restored weapon HUD to game view, caused by incorrect restricted mode flag
* Fixed cube map generation so it uses FOV of 90 and ASPECT of 1.0
* Added slab_D.dds set back into Fixtures folder for other non-PBR assets
* Fixed missing shadows issue caused by FOV being set on shadow renders

27th November
More fixes for the last week and Monday. Was going to create a beta build today but got so involved with the fixes, I ran out of time (9AM to 3AM) so don't have the time to do a test before uploading the beta before my head falls off. Here are the latest tweaks:

* Added CityscapePBR folder which contains extra PBR assets for Big Escape
* Updated Big Escape opening message for better new users experience
* Fixed collision modes for all CityscapePBR models
* UZI Weapon improved for PBR rendering (hands no longer look wet)
* Moved 'default' cubemap generation location to lowerleft corner of terrain
* Added 'Center All' to FBX import features so center on XZ and Y axis
* First-time importing of FBX models will adjust settings for best results
* If BMP exists for FBX model at source location, that BMP thumb will be used
* Fixed bug erroneously assigning objective value to exported FPE file
* Fixed importer export so physics box not exported if this collision not used
* Improved importer for FBX models to detect associate PBR texture files
* Cleaned up all PNG files from effectbank media folder
* Updated PBR shader from Preben to refine Physically Based Render pipeline
* Added 'Preview Orbs' folder to Misc models for PBR material previewing
* Updated Big Escape level to use more of the new PBR art
* Fixed issue of muzzle flash decal rendering behind scenery objects
* Simplified weapon shader to use universal PBR render system
* Tweaked PBR shader remove extra Fresnel activity
* Now shows blood splat for characters that spawn with material 'flesh'
* Added 'old bridge' to the CityscapePBR asset folder
* Replaced RealtimePBR option with PBROVERRIDE=1 in SETUP.INI (default)
* NOTE: To restore 'non-PBR' shaders, set PBROVERRIDE=0 in SETUP.INI
* Improved shadows when in default PBR override mode in editor
* Save Standalone now exports any material decals associated with level
* Flashlight lighting now works in PBR rendering mode
* Moved muzzle flash light closer to affect weapon and close surfaces
* Restored proper test game image with correct control instructions
* Fixed lightrays so they work in new PBR render sequence
* Brass folders for included guns are now copied to standalone
* Rearranged 3D render pipeline to render weapon before lightrays
* Calmed water ripple to 0.01 from 0.02 ripple delta and improved mask
* Reinstated clipPlane for PBR rendering for correct water reflections

29th November
Blasting through the tweaks now, and getting closer to something I want to share wider to get more feedback on general stability and legacy compatibility. I have gone through the whole software to make this next beta build, here are the tasks:

* Updated PBR shader to refine handling of metalness/envfresnel
* New default for GlobalSpecular in VISUALS.INI is 1.0f
* If XBOX=1 flag set in SETUP.INI, save it for standalone export
* Fixed alpha masking of decal rendering of projectiles
* Third person characters now use PBR to render themselves
* When in third person mode, shadow update is never delayed
* Fixed issue causing thumbnails not to be created (just white)
* Sniper rifle no longer disappears when lightrays active
* Character creator parts now hide when going into Importer
* Importer no longer crashes when try to apply a texture to FBX
* Lightrays no longer cancel out the depth of field effect
* Widget no longer gets hidden behind entities that are transparent
* TAB mode to cut through entities now works again with PBR shader

30th November
Moe fixes from the latest round of legacy and stability testing, and will be part of this evenings beta build:

* Updated UZI textures to use new PBR rendering model
* Ensured .BLOB files for shaders part of Steam installed update
* Added script so that F11 will trigger PBR debug view (keys 1-9)
* Character creator tints for head attachment and hair restored
* LOCK entities no longer inverts the render caused by disabled Z
* Import Model no longer clips model when camera was near terrain
* Ambient RGB and Surface RGB slides now affect PBR (not recommended)
* Weapons with bone and non-bone parts still use weapon shader set
* Asylum doors (and other animated instances) now render under PBR
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 4th Sep 2017 17:28
As you can see from the above dev blog, my day job is to ensure all legacy functionality issues are resolved in the latest update before racing ahead to add new toys, visuals and performance improvements. That said, there is nothing written which says I cannot use my weekends and extra hours in the evening to work on my pet FBX and PBR goals. On Sunday I finished adding code which allows all the textures buried inside an FBX file to be exported, and those textures correctly assigned to the FBX meshes of the model. I am using a Zombie I created from the Fuse Character Creator as the basis of my test, and have all five meshes rendering with the diffuse (albedo) textures in editor and game. My next step is to get normals, specular and gloss textures into the rendering, and start the PBR shader by first rendering out all the textures to make sure they make it into the game.
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 6th Sep 2017 17:29
Wednesday was meant to be a PBR Day but I stumbled across a rather nasty issue which has been the cause of so much delay when loading levels, both in a test game and standalone executables. It would seem on most occasions, the obstacle data was being regenerated, even if data was available from the saved file. Once discovered, I also found a few issues in the way the data was saved, which might explain why the data was forced to be regenerated most of the time, and now the loaded data matches the original generated data exactly, and the AI path finds perfectly around loaded data. The upshot is that the Big Escape used to take my PC 75 seconds when I clicked Test Game, and it now takes only 14 seconds. If you are not moving static entities or dynamic doors, perhaps writing and tweaking LUA scripts, then this will seriously speed up your day to day development. Whilst working on it, I also saw a possible way to segment the obstacle data so subsequent test game sessions could replace 'only' those areas that have changed, so even changes to static entities would result in a near instant fresh of the present obstacle data. As you can imagine, once the clock struck 5PM and no PBR in sight, I was eager to get this beta uploaded and give myself a few hours on the PBR side to keep forward progress on multiple fronts. A lot of users are expecting a lot of things from this next update!
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 7th Sep 2017 19:10 Edited at: 7th Sep 2017 19:21
This afternoon, my first PBR rendering appeared in GameGuru, simulating some blue plastic material wrapping up my Fuse Character Creator Zombie:



And an hour or so later, we had some texture action (though Fuse is not providing a true PBR specular map, i.e. the eyes):



And finally before I walk the dog and find things to eat, I finished getting my dragon rendered, complete with AO:



Having fun with the new visuals, and you can really appreciate the shader when you rotate the object and camera perspective, and certainly when they animate themselves (next on my list after finishing off texture handling). Also, the good news is the PBR shader is not particularly more intensive than the ones we're already using, so aside from higher storage requirements for the larger texture sizes and sets, there should not be a performance hit.

P.S. It should be noted that the above shots are rendered in the editor, not the game. When in the game, they will also have self-shadowing, SSAO, anti-alias to smooth all edges plus the various post process effects to blend it with the rest of the scene. It is also using an arbitrary cube-map I nicked from the weapons folder, when in the game it will depend on a pre-created light probe environment map to accurately reflect the sky, floor and surrounding objects for the subtle Fresnel term, even on diffuse materials.
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 13th Sep 2017 00:32 Edited at: 13th Sep 2017 00:38
One of the great things working with PBR is that different models coming in from different places have a MUCH better change of blending well together, and I look forward to bringing in more rocks soon:



PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 13th Sep 2017 19:19 Edited at: 13th Sep 2017 19:19
My trio of PBR Rocks, rendering happily in the new engine. Now I need MORE PBR Assets to make the scene more interesting and ensure the import/render pipeline is robust enough for many model varieties:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 14th Sep 2017 23:06 Edited at: 14th Sep 2017 23:07
Last night I continued to play about with the PBR scene, and switching the terrain off gave me a nice looking sea scape. Definitely a cool new in this at some point, perhaps a convincing beach and sea scene level:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 18th Sep 2017 22:02 Edited at: 18th Sep 2017 22:37
Thanks to the new SetShaderVariable LUA command, I can fiddle with the shader live within the game, specifically to see the various contributing layers of the overall PBR effect:



And a quick shot of my test terrain transitioning over three texture choices rendering under the same PBR lighting as the rock:



Of course, once I add the correct environment map, and realise my test textures I've used are WAY too glossy, you get the full PBR effect, but I will be tweaking these of course, and looking into the subject of 'planar reflections' at some point which will allow the cliff rock to reflect accurately in the shiny floor textures:


PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 21st Sep 2017 20:28 Edited at: 21st Sep 2017 20:29
Some of the Steam reviews have quoted that the graphics are from the 80's, and I just found the proof:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 26th Sep 2017 18:43 Edited at: 26th Sep 2017 18:43
Added the vegetation shader to the unified PBR way of doing things, and cleaning up large chunks of the shader architecture to which I have been meaning to do for some time. Next shot will have a tree in it:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 27th Sep 2017 22:56 Edited at: 27th Sep 2017 22:57
This tree will not be appearing in an asset store or DLC, but it is an example of an FBX and PBR texture set I purchased from CubeBrush, just to make sure that imported graphics will work alongside my other items:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 30th Sep 2017 02:44 Edited at: 30th Sep 2017 02:44
Part One Of Two : Dynamic Cube-Map Generating inside the game world. Useful for obtaining accurate environment map for PBR

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 30th Sep 2017 20:38 Edited at: 30th Sep 2017 20:39
Here are three sky and terrain choices, and how the PBR models change in response the environment map that surrounds them. We are one step closer to dropping in some metal objects for the WOW factor

Wasteland Blue:


Ice Moon:


Lava Dark:
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 3rd Oct 2017 19:18 Edited at: 3rd Oct 2017 19:20
Thanks to some great third-party PBR game art, I was able to produce this scene to test the terrain, veg, and entity rendering under my new unified PBR shader system. I will be creating TGC owned versions of these soon so they can be included as stock art for all GameGuru users:



I especially like the tree that currently weighs in at 10,000 polygons. Hopefully, our resident 3D artist can improve upon that figure to help with the performance!
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 26th Oct 2017 04:09 Edited at: 26th Oct 2017 04:09
As it's been a while since I posted a screenie, here is my PBR test level watched over by our friendly neighborhood dragon:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 3rd Nov 2017 01:38 Edited at: 3rd Nov 2017 01:38
My new PBR based weapon shader, capable of rendering ambience, direct light, dynamic lights, SSAO, AO, specular reflection and all the usual goodies:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 6th Nov 2017 19:42 Edited at: 6th Nov 2017 19:43
Getting close and personal with a rock. If it moves, shoot it. If it doesn't move, wait until it does, then shoot it:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 28th Nov 2017 03:03
Here is a post to announce the latest dev progress up to 27th November 2017. See the first post for details of the tweaks.
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 30th Nov 2017 02:15 Edited at: 30th Nov 2017 02:16
Here is a screenshot of my random level that formed itself while I was testing the basic features of GameGuru NOV BETA 29:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 30th Nov 2017 17:42 Edited at: 30th Nov 2017 17:42
More test game fun while hunting for bugs. I should do a Twitch broadcast just on the F9 mode's ability to conjure dynamic creates out the sky, so much fun! The shot of the day:

PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Attachments

Login to view attachments

Login to post a reply

Server time is: 2024-04-24 05:20:26
Your offset time is: 2024-04-24 05:20:26