Friday, 19 December 2014

Internet Goes Boom - My Final Proper Blog Of 2014

Sods law that on the day I am probably uploading the final V1.009 for testing, my entire Internet goes down. It started at 2AM this morning and has just come back now at 1:10PM. I am taking the opportunity to start the uploading to the internal team and writing my blog before it switches off again.

As this is the last day of 2014 as far as the TGC business is concerned, but not the last day for me as I oversee the release of V1.009. Nonetheless I thought it a good idea to give you some extra screenshots as an early Christmas present.

I think we all agree cactus do not grow that big, and a blight of a bug which would scale entities to incredible heights has now been fixed, all be it with the introduction of a flag which select artists will need to add to their FPE files. The reason is that if I created an automatic system to correct the scaling, other items in the store would be affected, and default stock media too.  I am happy to put this down to the early growing pains of the store and hopefully the pipeline for recommended geometry will be established as we move forward.

Whilst charging through a LOT of tasks and completing them, one of the fixes was to allow static trees to be correctly culled and lightmapped. The shot above shows a spray of random trees, and the shadows are baked for speed. Also the trunks and the leaves are consolidated to reduce draw calls which further improves performance.

Finally found the Light Ray Bug on my priority list, and fixed it in short order. You can now use this cool slider again, and it will now account for both real time and pre-baked geometry as part of the effect.  I am sure we could have a few more sliders to control the properties of this visual, but for now we will keep it simple until more urgent matters have been settled.

Keep your eye out on the forums for news of the V1.009 release to all FPS Creator Reloaded pledgers.  We are now testing it thoroughly to ensure a stable build and hopefully we can delivery a small downloadable present that will give you some joy over the Christmas holiday.  I wish you all a very happy time over the next two weeks, keep on creating and if there are no more blogs from me this year I will wish you the very best for the year ahead.  Roll on 2015!

Thursday, 18 December 2014

A Full Day Of Testing And Tweaks

Short on blog, long on fixes. Anticipating a release REAL soon so spending each minute on mission. Here is a shot of the level I constructed as I tested one of everything with the current build.

As you can see, having a fun time with extreme sliders while I test the very corners of this version.

And here is something a little more playable, using a fence as a staircase by rotating it a little.  The extreme colouring are dynamic lights in MEDIUM shader. More tests and a build to do still, so onwards and upwards!

Wednesday, 17 December 2014

The Day After the Eight Hours Before

Had planned to clock off at a normal time yesterday, but wanted to get the 'floating character' issue before the build. This was around 7PM. Eight hours later, just after 3AM I had finally located and fixed the floating character issue. It was all due to one entity writing into another entity silently and causing all manner of confusing things.  One of these days I am going to invent something that makes all these different debugging scenarios obsolete. My revenge on every bug I've fixed over the last three decades.

Just going through the motions of fixing critical issues and testing the software to ensure it's not messed up. The V1.009 release is fast approaching and we need something solid. Also applying full ambient occlusion baking to GTTR and ESCAPE levels to get the best visuals for the new build for this evening.

I have my weekly game of Pool this evening so no late night coding stint, but it's perhaps just as well given the last two nights!  This should pave the way for a full day of testing on Thursday to make sure every corner of the software has been verified as release proof.  I will freely admit the version will not handle VERY LARGE levels, and the solution will be some clever managing of in-memory assets but that's a post-V1.009 problem. Right now it's making sure the 'stock, store and some select custom media' plays nicely with the software.

Tuesday, 16 December 2014

Meeting Day Today & New Civie

It was meeting day today so lots of talking and almost no coding, but as it was more a half-day meeting I did find time to collect together enough materials to delegate the Zombie Pack work and further my search for erroneous Reloaded crashes and freezes.

I also received this in the email today, which is our new civilian character standing alongside his lethal brethren.  I will be dabbling in character rig work over Christmas in preparation for more characters so it's nice to have got another character in the melting pot before the holidays begin.

It's just coming up to 7PM now and I have a few things I would like to get done, but the doggy needs a walkie (and so do I), so time to eat, walk and be merry then return in the evening for more coding calisthenics and perhaps a new build for all and sundry within the internal alpha testing camp.

Monday, 15 December 2014

Lightmapper Gets Stronger

Creating a robust lightmapper which can handle large worlds is no easy task, and I can report that the bulk of this work is now done. What remains are hundreds of little bits and pieces that either need to be discarded or added to the whole in their correct place. My own tests are good and I can give it pretty much any level and it rarely gets above 600MB of system memory usage for typical levels the size of the Concrete Jungle. Today I have been mainly contending with a crash report that happens on one machine right at the end, after a successful LM process. A very illusive bug that can only be reproduced on one machine so it's a case of sending version after version until the cause is known.

Half way through the day I received this holiday screen shot, which cheered me up and spurred me on.  Notice the lightmapping, a nice touch ;)

Going to walk the dog and then return to make another build. I have already made one for the internal testers, but will continue bouncing versions to find this mystery crash and of course do a few more tasks that I can do before my early night. Big (and final) meeting day on Tuesday but hopefully we will be cutting it to half a day which free up the second half for more testing and coding.  Getting there :)

Saturday, 13 December 2014

So Much For Far Cry

I had planned to spend my day chopping up a tree on the beach with a chainsaw, setting up a Mini-Mac with the new AGK 2 Player Service and playing a few solid hours of Far Cry (for research you understand).  My day did not really go to plan. The tree had been washed back into the sea from the previous nights wind and wave storm and my Far Cry evening turned into 'fixing the lightmapper some more' evening. I did however configure the Mini-Mac as required, so we should hopefully be able to offer the AGK Player to all AGK2 users who have an iOS device but don't have a Mac. More news on this from the regular AGK channels as I get told off when I talk about non-Reloaded stuff on a Reloaded blog :)

Could not help playing with static lights again too, so here is a shot I made using a green and red light, plus a white light in front of the building and some subtle sun based lighting.  I think the visual sliders are pretty close to offering a variety of lighting conditions now which should be good for a first release.  Truly running out of ideas for new visual values to add to the ever increasing bag of sliders. As a coder who prefers one good button over a page of them, I am now looking at the slider panel as a possible target for optimization and new layout paradigm (but not for now).

My lightmapping work this Saturday has been focused on a new technique I coded late on Friday which segments the whole world into grids, and lightmaps each section in turn. This way the overall load on the system memory remains low and the more sub-processes keep the progress bar busy and informative. Today was about tightening the scope of work for these sub-passes and ensuring no object was touched that was not absolutely needed. The result is pretty good and even the ESCAPE level does not exceed the 750MB system memory target I had in mind.  The true goal was to make it possible to lightmap LARGE levels such as confined spaces with lots of trees and geometry, covering the entire world, and I have yet to perform these tests as it's now gone 1AM (and it is my weekend off after all).  I can confirm the GTTR and ESCAPE levels lightmap without incident and I have also added a new lightmapping mode which skips the use of transparent textures during the collision object process which means F1 is now an even faster way to lightmap the scene before a more detailed process when you want to see the gaps in fences and holes in nets, e.t.c.

Anyhoo, back to my midnight session. I think a nice plate of beans and an episode of Time Team is in order.  Too late to drink or play games, but I think I can relax into the process of digging up bits of Britain's ancient secrets :)

Friday, 12 December 2014

A Good But Long Day

By working on the new Concrete Jungle level, I have had to fortune to see what larger levels need to deal with in terms of system memory requirements and overall game speed. Considering where my aging PC system was six months ago, being able to run the level shown below at over 60 fps was nice to see.

As you can see, the lightmapping now extends to all the geometry, and the nice fog intensity provides a good atmospheric effect for what might be a sand swept landscape.  I am happy to imagine the performance gains once I finalize the occluder optimizations, re-introduce the distant quad system and wrangle more magic from the draw order scenario.  For right now my mission is stability which means chasing down any hard crashes.

The one I am tackling right now is the 3.3GB the terrain lightmapper alone can consume, but I am happy to report other gremlins have been fixed including the z flicker and the dreaded real-time vs pre-bake shadow disappearing act. Planning to continue working into the night now, and perhaps stop at midnight to make an internal build for the weekend.  Might also play an hour on Far Cry to conquer some more outposts for fun and profit.  It's likely I will spend some time over the weekend testing the build for stability analysis, but providing I can keep the system memory usage from going nuts, I think we will be good to go.