Product Chat / [LOCKED] April Update - Latest Progress

Author
Message
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 3rd Apr 2017 18:08 Edited at: 10th May 2017 17:35
3rd April 2017
After a bit of a scorcher for the weekend just gone (especially Sunday) and I quite rightly stayed away from the PC. I return to a busy Monday with a sizable inbox and plenty to be getting on with. The patch update was released officially today making the latest version 2017.03.31 and includes some key fixes and improvements as reported by the community. Work now begins on the next batch of goodies, but also to address any remaining major issues you might have with AI, Building Editor and the new Terrain Painter.

I know they are coming thick and fast, perhaps too fast, but we have a big list in front of us and most of the issues that may be missed due to the rapid development targets can easily be picked up and repaired with a good bug report to guide me. No big task list today, but I have uploaded a new Public Preview and Beta which fixes the issue of standalone executables not loading in the correct terrain texture choice between levels of a multi-level game and it now detects and loads any custom terrain texture plate if you have created on for the level.

5th April 2017
Apparently, my efforts over the last 3 months have not been universally praised, earning me the accolade of 57% negative reviews in the last 30 days Amongst the many items of Steam critique, some feedback resonated with comments from this side of the community, namely the number of bugs in the engine and the deficient AI system. To this end, I will be spending some quality time 'NOT' adding any new features and instead working on any issues you might have from the last three major updates (Building Editor, A.I and Terrain Painting). If we also happen to improve visuals and performance along the way, plus a cheeky LUA command when no-one is looking, then we can call this a nice bonus in exchange for your patience and understanding. I will be checking the forums each day to see if any good bug reports with excellent reproducible qualities are posted and make the corrections available in Public Preview builds as we go, reporting the log of work here. Today has mostly been catch-up from a days meeting yesterday, but here are two fixes ready to go in the Public Preview build very soon:

* Fixed conflict between Building Editor and Terrain Painter resources
* Changed footfall sounds for GRASS, STONE and WOOD. Good to get feedback during preview

10th April 2017
I have been monitoring the forums and posts, encouraging bug reports for issues that need sorting before to charge off into new features. Below is my log to date of fixes and small tweaks, but my gut feel is that I think there are more AI and Texture issues out there and if you find the latest build still has an issue, let me know directly at lee@thegamecreators.com. You will need to use the latest Public Preview build to see the latest fixes:

* When loading in a new level, ensure old texture_D.dds / _N.dds are deleted first
* Fixed PLRVISIBLE data from entity in script always 0 for entities inside Floor Zones
* Rasied virtual player position during enemy sight detection (moved from waste to eye)
* NOTE: Above solves issue of enemy not seeing player at distance if stood behind barrel
* Added new 'defaultwaterheight=500' to SETUP.INI for manual control of water line
* Added new 'defaultterrainheight=500' to SETUP.INI to decouple terrain from water

18th April 2017
Not sure if the Easter/bank holiday translates internationally, but it was an extended weekend for us Brits, which for me meant chilling out in front of Rugby League Easter weekend games and plenty of Top Gear Specials. For the days I was not vegging out, I have been monitoring the reported and reproducible issues and working on performance, and can confirm my success in eliminating the drop in performance when many AI bots wanted to think and path find at the same time, now using a nifty secondary thread to avoid slowing down the main game thread (i.e. ncore). I want to check things over before my next internal beta test, but it's looking pretty good and should provide a boost to those users who have low scoring cores (i.e under 3GHz) as it will now shift the intensive AI stuff to an unused second core (even laptops have about four cores these days). It's a small start, but as any good optimizer will tell you, work out what your bottlenecks are, and work on those first. My task list to date:

* Improved DarkAI time slicing to avoid skipping AI bots during intense scenes
* Added new LUA commands; SetAnimationSpeedModulation and GetAnimationSpeedModulation (anim modulation)
* Added new LUA commands; GetMovementDelta to return real entity movement since last cycle
* Fixed issue of GetEntityXXX commands not returning floats (returned integers only)
* Moved all intense 'pathfinding' logic to secondary thread to speed up main game thread
* Tweaked GUARD scripts so they revert to ATTACKERS once they are hurt

19th April 2017
Spent the day testing the latest build, and finally managed to get a new public preview out the door. I needed to do this as some important GameGuru fixes are required now and I wanted to get a solid version out before taking the engine to pieces again to solve the issues reported. This new build is significant in that its the first time I have used more than one core in the in-game mechanics, which now slaves all those expensive AI path-finding tasks to a secondary core, keeping the main thread consistent when lots of enemies show up on the horizon. The issues I am tackling next also speak to performance so expect a little more before the next big update!

* Added three new character reskins for soldier, shotgun and uzi enemies (thanks to Michael Stockton)
* Updated metal material for footfalls to match changes to other materials (generic, stone, wood)
* Released Public Preview versioned as 2017.04.19 BETA with all of the above

20th April 2017
More small fixes and performance work today, and also made a discovery that most of the large delays in the loading of the editor is caused by the compiling of all the GameGuru shaders. I have tried switching off legacy support and skipped validation, but it does not make a difference to the load time. For example, the entity shader takes 7 seconds to compile into a workable shader, and other similarly sized shaders are equally guilty. Solving this would certainly make the initial launch process super snappy, but in the meantime the discovery allowed me to solve that initial delay when the first entity is loaded (both in the editor and the light mapper). Aside from some weapon tweaks, my main thrust of work is performance this month and I am hoping to release something next week to the general public that helps with game speed as well as some important fixes:

* Now supports up to 1000 weapons in the gun bank (plenty of community weapons out there!)
* Now sorts weapons listed in HasWeapon field of entity properties into alphabetical order
* Ensured 1st level is loaded before Save Standalone to guarantee levelbank\testmap contents
* Fixed critical bug which 'deleted' textures that internal EBE structures relied on when saving
* First entity loaded into editor no longer causes up to 7-second delay before it displays
* Large delay when EBE structure first added to editor also removed thanks to above fix
* Updated several shaders to new Preben shaders featuring Retro Post Process and Performance

24th April 2017
Saw some performance improvements from the tester community which was nice to see, thanks for the reports! Spurred on by this I continue to work on performance to see if there is anything else I can do to give you more oomph for your games. Only got to do half a normal day of coding due to email catch-up, so spent a few extra evening hours to make up for it whilst listening to Monkey Island Soundtracks It's about 9:30PM now so going to back-up the days work and see about getting something to eat. Should get a full day of coding in on Tuesday so will report more then. Please continue to test the Public Preview build on Steam as this will likely be close to the one I release as a real Public release version. For those who have reported 'this one has loads of bugs' type posts, now is your time to send me the worst of the ones you have found so I can reproduce and fix them before the final launch.

25th April 2017
Managed to get a solid 8 hours on pure coding, and spent that time going through almost every line of code in the engine, brutally deleting anything that was not being used. You would be amazed the old stuff that's still in there, such as some ancient collision systems, ancient ways to cast shadows and cause reflections, shadow meshes, strange yet special modes not used in years. Well it's nearly all been deleted now, and I continue the process of cleaning up comments, removing dead code, tabulating functions that haven't seen daylight since 2015 and generally doing a spring clean. This work will not so much speed up the engine as allow me to see the bits that do need speeding up, and like any overgrown garden, after a vicious day of weeding, you can clearly see what you are working with. As the engine is pretty huge (it started life as DBPro way back in 2002 and just kept on eating) there is still a lot of corners for me to explore and shine a light into, but this task has been overdue for some years and it really could not have been started until we moved it over to C++. With a decluttered engine, we are also one step closer to moving it to 64-bit, which would please some users I'm sure

26th April 2017
Munched through even more of the engine today, and started dropping small bombs on the very old modules such as the 3DS loader than no-one uses and the Particle module which is 8 years out of date. Fear not, my ultimate goal is to clear away old legacy stuff to make room for shiny new things (to the degree that one person can manage the workload, i.e. me). I dare not bore you with the details, and I will refrain from moaning about the brain-numbing process that requires me to voyage through over a million lines of code, but rest assured this work has been long overdue and you will enjoy the fruits of it before the year is out I continue to run my test level periodically through the day to ensure the functionality remains unaffected, and already rescued issues such as disappearing shadows, reflections and high-mode lighting thanks to my mild-paranoia for the process. Sorry, I can't show some shiny screenshots or reveal new features, but the art of code optimization is probably the most un-sexy task you can imagine until the final day when everything gets faster!

27th April 2017
Today I did a little work on the LUA side of things and figured out a good path move some of the hard coded mechanisms into external LUA scripts so you can have maximum custom control of the gameplay systems for the player. As I was working through this, I realized that in order for it to happen, I would need to expose a lot more LUA commands, which actually makes the update which includes this externalization a really powerful build. As a teaster, the commands I would need to create allow more control over player sounds, raycasting, deeper access into weapon statistics and states, and perhaps the most exciting of all, creation of in-game particles (as we would need to externalise the Jet Pack mechanisms which emit particles during flight). It's far from ready, but the way is clear, and just needs some donkey work on my part to slowly and carefully extract the EXACT logic over to LUA (warts and all). I have no doubt this release will usher in a number of community scripts that will most likely include swimming, driving and other long-anticipated game play modes that until now have been impossible without some major fudging. With both speed and features, I think the next public update is going to be pretty cool!

28th April 2017
Spent the whole of Friday continuing my extraction of hard coded player control code and moving it painstakingly and carefully to its new LUA script home. I say painstakingly due to the fact my mouse has a funny little habit of mistaking a single click for a double click, making cut and paste a sort of mental torture. The downside is my keyboard+mouse kit is a pretty expensive one and replacing the lot is a three-figure cost I don't need right now. For now, I figured if I click lower down the left button pad, it does it less. Anyhoo, the upshot of today's work is well over 100 new LUA commands (and counting). Rather than describe them all, yeah right, I will post the two completed subsections to this thread so you can explore the commands you can expect in the next update. As I modify the code, I do a mass replace event, so hopefully, by the time I get to the end of the old code, it should be mostly converted to the new LUA style, but the finish line is a long way off. Of the 2000 or so lines to convert, I have done about 300 of them. It's worth the effort though as this relatively small change is going to open up game mechanics in ways you'll understand when the community scripters get their hands on it

30th April 2017
Was planning to enjoy my bank holiday weekend on the ocean waves with a little sea craft, but my morning in Wales was cloudy and very windy, so decided to stay indoors and do some more mind-numbing conversion work instead. Hopefully, the weather improves on Monday so I can go out at high tide and do a few donuts, then have a nice BBQ Failing that, probably do some more conversion work so I can get it done and celebrate the return of my higher brain functions. I will post my progress from today's efforts in this thread below for your bafflement!

2nd May 2017
By chipping away at this thankless task yesterday and today, I have now got more than 85% of the player control system migrated to LUA script, and the 'new LUA commands' count has almost certainly moved into the hundreds now. To see the working code, and the last bit that remains, see the new post at the end of this thread. Full day of meeting Wednesday but should be able to finish it off and start the testing, with a planned public release soon after.

5th May 2017
With relief for my fingers, I have finally finished the externalized logic for player control mechanics, and the build now goes to my trusty beta testers to give it the usual blast of scrutiny. It won't go to Public Preview until I am happy it won't break things for Steam users who are now happy to try the preview builds. Although this next update was not meant to be a huge one, it comes with over 500 new LUA commands, extreme player control customization capabilities and grab-bag of fixes and performance tweaks, not least the first of many steps to move chunks of the in-game logic to multi-core, which on this occasion has been the AI system. If anyone wants access to the BETA build from Steam, just email me at lee@thegamecreators.com and be prepared to go through the change log and provide a small report on any issues you may find.

I can also report that thanks to the above work, I have chalked off two items from the voting board, and opened up the possibilities for the community to create scripts to deliver another 10 or so items from the board (Lee not required) In addition to more performance work in May (and some graphics work), the top voted item chosen by you, and my primary mission for the next major update, is "Volumetric Particle Effects". As this requires some fiendish shader skills, you will have to bear with me, but this will work will not stop me continuing to release maintenance updates to fix issues you may find with the latest release.

I will start a new thread to go into more detail on the voting board work, and the question of whether we are still happy with resetting all the votes to keep the requests up to date and relevant to the needs of active GameGuru users. For now, I hope the beta testers like the latest build and I look forward to releasing it to everyone soon!

8th May 2017
Before I close the book on the next public release, I wanted to get some last minute tweaks sorted, including an improvement on the AI and debug behaviors in response to some good feedback in the forum. I will be releasing the BETA soon for internal testing, and then to the public preview soon after. It specifically deals with the AI bot reacting beyond its described range and you can now sneak up behind them better.

* AI INIT now called again for non-spawnatstart entities when they SPAWN
* Changed AI combat core so setting activate to 1 no longer instantly alerts them to attack (now 2)
* Fixed issue of 'hunting mode' ignoring cone range defining viewing distance of AI
* Fixed issue of cone of sight not always aligning with visual angle of AI character
* Improved AI so hunter mode will track last location of player from firing on spot
* Enhanced AI detect module to update tracking information of player target
* When load in an FPM that uses a terrain or veg style not on local machine, now resets to last slot

9th May 2017
Plenty of testing, more tweaks and fixes, and a new internal BETA up soon. Going to spend the evening this day to get a Public Preview build up as well, so plenty of late night testing in my future. Here are the fixes from today's efforts (so far):

* Fixed issue of movement delta going to zero during some script activity (slow anim issue)
* Added regular soldier behavior so returns to patrol after 5 seconds of losing player
* Corrected visual settings for new levels so as not to carry over old lighting settings

10th May 2017
Okay, so I have given the build a good test and made it available as a Public Preview so you can all check it out with your projects and try out some of the new feature additions. Here is my list from today, and I will think about making a video on one of the subjects that has been raised in the forums today. Let me know if you find any nasty show stoppers:

* Changed sound detection so idle characters will look in direction of the noise if within 2000 units
* Improved aggression of agro'd AI so they track player location outside of range when raised
* Reduce AI activation flag to zero after used so can use normal behavior outside of provoked event
* When sound detected by patrolling AI, idle is started to look in direction of player who made sound
* Prevented occluder from hiding the heads of custom characters from built-in character creator
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: 19th Apr 2017 15:01 Edited at: 19th Apr 2017 15:03
Public Preview 2017.04.19 BETA Released



Try out the new Escape and Mountain Stroll levels to check out the improved AI response and lack of performance spikes, thanks to the secondary core which now gets used for all the AI pathfinding gubbins.
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: 20th Apr 2017 18:45 Edited at: 20th Apr 2017 18:48
New public preview out today with more tweaks and fixes. Here is my weekly video to punctuate the latest version for you to test:


The inspiration for the water demo was taken from a recent question about whether it was even possible to float entities.
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 Apr 2017 21:28
Found half an hour to create a VERY small video showing the creation of a custom character and seeing the AI take over the enemy to attack the player. A Facebook user reported the new AI was broken when using Character Creator, and I had a mind to video myself while I checked it out:


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: 28th Apr 2017 21:50
For today's 'peek' post, instead of a picture, I present to you my LUA scripting efforts from the last two days:



Also, if you feel some of the commands are HORRIBLY named and you have a strong opinion on the subject, you have a few days from this post to email me directly with your reasons. Once they go out in a build, they are set in stone for the lifetime of GameGuru.
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 Apr 2017 23:56
Probably about half way through it now. Two more chunks of this massive mechanic converted:


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: 2nd May 2017 19:11
One last chunk of conversion to go, and this massive task will be behind me:


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: 8th May 2017 22:33
After all that script code, you will probably want to see something more visual. I have prepared a short tutorial to show how you can view the cone of sight, set AI range limits and also trigger enemies inside your level rather than at the start. Old news to some users, new news to others It also shows the fixes from reports earlier last week, so thanks all who helped highlight those issues:


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: 10th May 2017 17:36 Edited at: 11th May 2017 00:18
A group shot of the stars of the GameGuru Show, ready to run around your levels and make themselves at home:



I would have shown you a shot of the test level I made, but it was created quickly and randomly, and it look absolutely crazy Also found some time to create the video I have been meaning to create for some time, a quick 15-minute tour of the new AI script system.



Enjoy!
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-20 09:34:41
Your offset time is: 2024-04-20 09:34:41