Product Chat / V1.14 Progress Update

Author
Message
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 13th Jan 2017 10:54 Edited at: 31st Jan 2017 16:22
Find below my bulletins for progress on the V1.14 update which many of you know is the Easy Building Editor feature release. Naturally, we will sneak in some core adds and fixes, but mainly you will learn about the progress of the EBE as it's various functionalities come online, and some of you will be lucky enough to be internal beta testers for the test builds prior to launch.

12th January 2017
This catch-up report covers all the work since returning to my desk to finish off the EBE (Easy Building Editor) and does not represent the work of a single day as you might suppose. The bulk of the new 2017 work has been for the saving and loading of EBE structures, and ensuring the process is fast so you are not waiting around for things to be built in the background:

* Improved performance of Gem World demo by reducing camera draw distance and adding fog system
* Changed vShadowTexCoord.z bias from 0.0003f to 0.00009f to fix realtime shadows (entity/static/char)
* Added missing DarkAI commands and additional help in Docs\DarkAI Documentation\
* Added new FAQ section to main TGC site to collect and centralise all Lee answers in 2017
* Changed SAO bias from 1.2f to 1.48f to reduce artefacts in final rendering
* Added a fix to ensure all GameGuru MessageBox pop up in FRONT of IDE not behind
* Added SAVE button to EBE Entities so they can be saved to the Builders tab
* Added code to save EBE when save level, load when load level, and load EBE from Builders tab

13th January 2017
After finishing the save and load systems for the EBE (both level based and EBE structure items), I noticed the act of constructing the 8000 cubes in anticipation of building something in the EBE took a few seconds to process (was 1000 until I realized I needed more). After looking at the work, which involved some really indepth limb creation on a grand scale, I decided the solution was to create these meshes on the fly as you create the structure, thus eliminating the initial overhead and performance hit. It's now 5:20PM and it took most of the day but the structures are now creating meshes on the fly, but I have lost my edit-mode textures, shaders and some stability along the way. Probably will take most of Monday to restore these elements, but it will be worth it as it will mean any aspect of the EBE usage will be fast and punchy!

16th January 2017
Once the weekend emails had been sorted, and the daily tasks delegated, it was back to the coding. I did decide to spend a detour adding cube mapping to the engine as I felt it was a little bit of code for a lot of value (in terms of giving surfaces a touch of depth), but it proved very elusive to implement and it's now 7PM and I am still scratching my head why it just turns out black no matter how many ways I am forcing the texture reference into the shader. All the clever sensible things have been done, so I am now suspecting it's something wildly silly. The hunt resumes tomorrow but in the meantime here is the other progress I can report:

* Increased capacity of EBE grid to handle FULL 3D volume (200x200x200 cubes)
* Reinstated FirePlayerWeapon(2) functionality
* Fixed GetAmbienceIntensity() and similar visual setting retrievers

17th January 2017
This morning I decided to offload the search for cube mapping R&D to the community so I could focus back on the EBE, and I think it was the right decision as we now have nice and fast operation across creation, editing, loading and saving. I am almost ready to make a version for the internal beta testers who have been wanting saving and loading for some time (well, months).

* Optimized the EBE creation/edit step so mesh assets are created on the fly, removes delay-start
* EBE now retains editing settings from last EBE edit site, quicker productivity

18th January 2017
I had a single crash from the night before, which was fixed within about 5 minutes and a full test revealed the EBE was solid to construct, save and reload structures so I moved swiftly onto the subject of textures. As I was wandering around my EBE creation, I spotted a lighting issue and then spent two hours researching it, as it reminded me of some feedback I received last year, and for more information, I will post details in this thread below. For the texturing work, step one was to gather lots of suitable textures. I had a few generously donated by the community, and I also knew I had plenty of good textures from the old X10 product, so I collected the good ones together which amounted to over 300 megabytes of additional content for you all. I then created a temp texture selection (my task on Thursday is to allow the EBE to construct its own custom texture plate) and started making a building, and was quite pleased with the result for what amounted to walls, floors, and stairs. Once it looks worthy of public viewing I will share an official screenshot.

* Finished off optimization and testing of the block construction system (nice and fast now)
* Added simple STAIRS prefab to EBE constructor so can quickly make navigatable multi-level rooms
* Added first-round of material and wall textures to EBE 'texture source' folder (370MB)

19th January 2017
After my usual three hour tour around the various social feeds, I continued my EBE odyssey but not before I managed to fix a spawning issues being reported in the community which I was certain was a quick fix, and it was, so expect V1.14 to also include the ability to respawn characters in any state to keep those armies charging towards you. On the EBE front, I finished adding code which would allow anyone to right click a texture slot and replace the texture within the plate with one of your own, and it detects if that texture uses Normals and Specular textures and uses those as well. I still need to do further work, not least getting the texture to the correct grid reference and to deal with sub-pixel bordering so I can have seamless textures even though we are using a texture atlas. I will also make the final textures auto generate mipmaps so the end result looks good from any distance. I was also kindly sent some useful cube mapping HLSL code, so I may have another stab at that if I can stay ahead of schedule with the EBE. Here are my fix notes for the day:

* Fixed issue of ResetPosition() command not returning characters to the specified location
* Added mipmapping to EBE grid system so pixel swim has been eliminated from gadgets
* Added ability to right click on any texture within plate to choose a custom texture file

23rd January 2017
Some work from Friday, Saturday and Monday to come up with more work on the Easy Building Editor system, including the work to ensure the EBE structures are good with seamless and mipmapped textures. Also had time to analyse and fix a long standing issue with entities that revert to a non-lightray flag state when they switch from clone to instance or vice versa. I plan to release a beta on Tuesday to the internal beta testers at some point to test out the seamless texture work.

* Fixed PFB system to allow larger prefab shapes to be crafted and used (20x20x20 columns)
* Fixed issue of mouse pointer disappearing on file requesters after using free flight mode
* Added 'preservemode' to PFB system to allow wall types to gracefully add and delete
* Added system to create a border to the texture plate to allow seamless atlas textures
* Adjusted UV coordinates of textured cubes to allow sub-pixel seamless texturing
* Fixed CHURCH DOOR entity so it does not disappear for one cycle when closing
* Fixed issue of entities keeping their lightray mask after clone/instance switch

24th January 2017
Got plenty done Tuesday, happy with the new UI graphics for the EBE system too, so all going very well. Also making a build for my internal beta testers to have a play with, so hopefully they can assure the stability moving forward.

* Replaced Freaks\Elhumongo and removed Viral Outbreak\Jaws and Medusa from asset library
* Fixed issue of 'Site Switching' only works when click another EBE site - not any entity
* EBE no longer persists if start a new level whilst creating an EBE structure
* EBE no longer crashes if edit an structure after an attempt to lightmap it (F4)
* Added single stage UNDO and REDO to EBE editor for convenience of one-off mistakes
* Added Help Panel to show keyboard shortcuts for the EBE editor system
* Added improved STAIRS and new COLUMN PFB build shapes for complete basic set
* Added two built-in preserve modes for more intuitive building for new users
* Fixed issue of staircase rotation corrupting right facing constructions
* Added subtle arrow to cursor highlighter so can determine rotation direction
* Created simple TALLBUILDING to demonstrate EBE loading and possible multi-storey

25th January 2017
Had a good battle with the subject of material responses within the EBE, and it opens a small can of worms, but I think it's important that brick should act like brick, metal like metal and so forth so spending the time getting this one right. Almost there, and the beta for the internal testers goes out slightly short of it working but Thursday should see it finished (and the physics system improved to handle per-box-section material attributes).

* Added 9 more textures to EBE texturesource and created default Texture Plate choices
* Moved created EBE structures from inside ebebank to entitybank (ready for store selling)
* Added 'EBE Material Types.txt' to DOCS to instruct user on what the material letters mean
* Added support for assigning material references to each texture in plate
* Added support for saving and loading material information between EBE entities

26th January 2017
It turns out getting the EBE structures to have its own materials was a small world of pain, but I managed it in the end. The footfalls use material attribute data stored in the physics geometry and the bullet impact detection uses the visual geometry so I had to make some creative additions, including an addition to Bullet physics to allow my to detect the child collision shape within a compound collision object which is what the buildings presently use. I also found time to get structures lightmapping in the light mapper, and it's looking very nice indeed (shot below) with my next task targetting what I call 'texture groups' so when you modify the texture plate those changes are carried with the EBE so you can go back to an earlier texture plate to continue editing. Not difficult, but one of the last items before we can call this cake V1 done. I am aiming for a release next week so plenty for beta testers to do and after an extraordinary wait, I am looking forward to sharing our very own mini-modeler with you

* Added code to inject EBE material choices into physics for footfall sound effects
* Added code to inject EBE material choices into geometry for bullet impact effects
* Fixed lightmapper to detect and lightmap EBE structures as regular entities

27th January 2017
Well, it's Friday again, and normally a weekend of chilling and tinkering, but this is crunch week and I am not going anywhere. I have just finished the last of the EBE specific functionality called texture groups, which allow different structures to have different custom texture plates, and deal with all the saving and loading scenarios so it all makes sense. I am going to make release builds for the beta testers now, and then resume into the early hours (or at least a few more hours) on an exciting feature which lends itself to the EBE but has been anticipated long before such an abbreviation existed, namely the implementation of composite (now called associate) entities. The idea that you can stick entities onto other entities, and they remember what they are attached to. If I am to have doors and windows, I will need this, but why not make it a generic feature of any entity, that way you can use it for non-EBE adventures such as adding a fire decal to a torch entity, so every time to place down a torch it comes with a free fire More on this when I have thought about it come more and done some experimental coding:

* Fixed issue of materials 16, 17 and 18 not converting to the final optimized object
* Added rest of material sounds back into load sequence (materials 4-16 were missing)
* Material choices now carry through to lightmapped version of the EBE structures
* Removed spikey sphere handle mesh from lightmapping process (editor mesh artifact)
* Added texture group references into EBE file to track which textures were used
* Unique filename generated for EBE texture arrangements so can share texture files
* Each EBE structure saved now has its own 'unique-named' texture set
* You can now switch between two different Texture Plate groups

30th January 2017 : Upto 5PM
Dived right back in, not too many weekend emails as I did a few hours on the EBE on Sunday, so here is Monday's list. Planning to do a few more hours once the beta has been uploaded for the internal testers:

* Added SpecularOverride to static_basic.fx shader so specular setting can work in prebake
* When EXTRACT entity, any child entities are also extracted, moved and rotated as a group
* When pasting extracted entity group, child references are maintained
* Fixed issued with group highlighting disengaging when extract/paste process over
* Built-in functionality to save and load parent/child associations for FPM levels

30th January 2017 : Upto Midnight
With the help of some coffee, I cracked on up to midnight with some more work, specifically getting my doors and windows working with the EBE and seeing if I could cut holes in the structure to accomodate them, and it worked nicely. It could be better, but it's good for a version one until i can come up with a smart way to make it super quick and intuitive (and from suggestions once it's out the door). For now, my latest:

* Added new field to FPE called "offyoverride" which overrides Y offset to correct models
* Added new scifi door/lift sound effects to the audiobank folder
* Added new doorautolegacy.lua script to control a door frame animation (proximity)
* Now the entity link system disables the 'findground' system for better connecting
* Added new 'GetEntityAnimationStart and GetEntityAnimationFinish' LUA commands
* Added 8 new doors with frames to entitybank\fixtures\doors folder
* Added 5 new windows with frames to entitybank\fixtures\windows folder

31st January 2017 : Upto 4PM
Okay, two betas created today so far, probably do a few more hours of testing and then I will be ready to release on Wednesday There are a few small things I would like to add such as including child entities with the EBE save, but I can sneak that in during the mandatory patch update that will probably be required (a thousand testers is better than twenty). As you can see at the end of my task items, I included some basic support for characters so they can run inside and out of first floor building structures, but of course when I work on AI they will be able to run up stairs and enjoy some enhanced intelligence. My mission will be to create a character that with the same gun and ammo, you simply cannot beat, such that you will be asking me to dumb down the AI in a future update

* Added 3 new roofs to entitybank\fixtures\roofs folder
* Updated F1 help screen to show 'L + DRAG = Link Entity' functionality
* Reset EBE editor state when starting a new level
* EBE entity no longer corrupts when enter and exit the entity LOCK system
* Prevented child entities from detaching when mouse exit and enters edit area
* When PGDN EBE cursor to ground, will now reset to zero layer even if grid size > 1
* Added new ROW shape to the EBE prefab shapes to allow quicker hole punching task
* Changed preserve mode for Column so it does not respect cubes next to it
* Added special case for EBE grid size so ROW shape can match 1 cube high dimension
* Fixed issue of EBE surfaces that share materials no longer sharing texture ref
* Adjusted visual defaults of GameGuru to prefer HIGHEST and stronger color settings
* Fixed LightRay shader to accept the adjustment from the Lightray Mode slider
* Finally removed the EBE grab marker from the lightmapping blocker list
* Adjusted the EBE entity grid offset to match regular 100x100 global grid system
* Written 'forcesimpleobstacle = 3' for all EBE structures to give them better AI
* Updated Door and Window Frames to use 'forcesimpleobstacle = 3' (as above)
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: 17th Jan 2017 17:08 Edited at: 17th Jan 2017 17:10
PREBEN'S SHADER BETA DOWNLOAD HERE

I have locked this thread so I can make sure the things I publish and report about V1.14 are nice and clean. To this end, I am adding a second post to announce the beta of some shader modifications by Preben which I invite you to download and install into your "effectsbank\reloaded" folder (at your own risk) and let me know by email if you find anything in them that breaks your project. If you do find anything, you will find several threads already dedicated to Preben's shaders, and you can communicate directly with him. I have not touched the shaders except to activate the HQLENSFLARE define which moves the lens flare effect to its own render target to avoid adding bloom effect to it, but you might want to comment this out to see the alternative.

https://forum.game-guru.com/attachment/12111

The 'plan' is to ship Preben's changes wholesale so as not to confuse the issue with edits from two shader authors for V1.14. This allows me to focus on the Easy Building Editor, so it's pretty important to let the forum know if you find the new shaders have broken something for you. If the issue cannot be resolved, we will revert to the current shaders for V1.14 and keep looking at the shaders for V1.15.
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 Jan 2017 17:26 Edited at: 18th Jan 2017 17:31
INTERESTING ISSUE FOR FUTURE VISUAL FIX

It has been reported before, but it was not until I started creating and running around the interior structure of my EBE building that I noticed the lighting bias for the walls that face the sun, even when they are on the inside. It was a feature of the shader system being used, and some users hit this proverbial wall when crafting their visuals. My difficulty back then was deciding how to fix it without breaking existing projects out there. The answer of course seems simple and will involve the addition of an extra slider which controls how much 'dot product of the sun direction' affects the final pixel, essentially negating the effect from zero (no influence) to 100 (current default). What it allows you to is this:



As you can see, the image on the right has two different shades for the wall, even though they are both inside and under shadow! My 'hack fix' on the left solves this by negating the influence of the sun from the surface itself and the amount of shadow being introduced. The shadow volume placement is not perfect as you can see, but I think it's a good step in the right direction if I can get the shadows to behave a little nicer.

The reason this fix is not going into the V1.14 update is two-fold. One, so I can focus entirely on the Easy Building Editor, and Two, I want to give our community shader magician, Preben, a free hand to replace the shaders in V1.14 and for this to happen I cannot change any of the shaders as we would have two lots of them floating about. Once the new shader tweaks are well received, I can work a little with Preben to come up with a way in which we can both make small changes to the core shader set of GameGuru without standing on each other toes.
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: 19th Jan 2017 17:42
NEW PREBEN SHADER BETA - Partly posted to make this progress thread show up as newly updated, and also because I noticed an update as I toured the forum today.
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: 19th Jan 2017 23:03 Edited at: 19th Jan 2017 23:04
NEW SCREENSHOT FOR YOU - First use of an imported texture in the EBE system

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: 23rd Jan 2017 19:40
V1.14 Monday Progress Update Posted Above - Sorry for the lack of screenshot, they all look pretty ropey while I work on seamlessness.
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: 24th Jan 2017 20:50 Edited at: 24th Jan 2017 20:50
An even taller building for Tuesday:

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: 25th Jan 2017 20:35 Edited at: 25th Jan 2017 20:35
And to keep my progress thread updated, here is a random screenshot taken of the new UI that will accompany the EBE system:

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 Jan 2017 17:00 Edited at: 26th Jan 2017 17:01
My very first light mapped structure, and as you can see I did not get carried away this time:

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 Jan 2017 20:13 Edited at: 27th Jan 2017 20:13
A little more fun with a darkened scene, but this time with a candle and some more lights for my pre-baked EBE house:


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: 31st Jan 2017 00:35 Edited at: 31st Jan 2017 00:37
This time I am posting a video so you can see the door and window up close. No CSG used here, just some manual editing of the cubes It took a few minutes to make this, but hope to speed up the process with some extra grid-locking and more EBE shapes:


https://www.youtube.com/watch?v=X0YCk444fgU&feature=youtu.be
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: 31st Jan 2017 16:43 Edited at: 31st Jan 2017 16:43
And then there were two:

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-11-24 18:01:58
Your offset time is: 2024-11-24 18:01:58