Sunday, 21 December 2014

MERRY CHRISTMAS FROM FPS CREATOR RELOADED

Just got this from our irrepressible artist Adam.  It would have been criminal not to share.  I particularly like the Christmas lights wrapped around the rocket launcher, reminding us all that a self-propelled cylinder of death is not just for Christmas, but for life.


And those small red tubes attached to Mr Bad Guy Number Three are not shotgun shells but party poppers - right kids!

Saturday, 20 December 2014

ANNOUNCEMENT: V1.009 RELEASED - YAY!

It was an 11th hour release, but we made it (just). For all FPS Creator Reloaded pledgers, V1.009 is now available for download and contains a huge truck of features to keep you busy during the festive holiday.

Here is the forum link to the announcement: http://fpscrforum.thegamecreators.com/?m=forum_view&t=210304&b=1

The change log listing all the improvements: http://fpscreator.thegamecreators.com/changelog1_009.php

If you have any issues, use this thread as it's the one I will be haunting for a few days before Christmas Eve: http://fpscrforum.thegamecreators.com/?m=forum_view&t=210304&b=1

As long as your levels do not contain five hundred trees or five hundred characters, you should get a good stable and performing experience. Some store items and custom media will certainly misbehave, but we are going through them now making corrections as we go.

The plan in 2015 will be to polish this version, remove any rough edges and refine the look and feel.

My thanks to all the internal alpha testers, artists, coders and helpers who made V1.009 possible, and after my brief festive break, I plan to return with a fresh brain and fully charged batteries.


Until then, enjoy your mince pies and mulled wine, and I look forward to bringing you more code in 2015!

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.

Thursday, 11 December 2014

Lightmapping The New Level

Spent the day testing a new third party level, typical of the kind of games you will be able to make with Reloaded, in order to monitor and trace system memory usage.  Here is a shot taken from across a deep valley, and some nice lightmapped castle wall features. It's not in the game, but you can use F9 to fly over to the castle wall structure and run along the walkways at the top of the walls and into the tower rooms, very cool!


Been a pretty slow day today, with more analysis than actual fixes, but hopefully I can chalk a few off the list before I retire for the evening.  They say a picture is worth a thousand words, and I quite like the idea of letting the above shot speak for my blog post today.  Much nicer than me whittering on!

Wednesday, 10 December 2014

A New Character

While I beaver away battling the Goliath's of lightmapping and system memory management, our artist has been hard at work producing a new character for the engine. I can finally reveal him with his texture suit on, and once we've finalized the skinning we will soon be able to see him running around in the game.


He's also possessed of all the animations needed for each weapon type, and also sports a detachable head for the customizable character work to be done in 2015.  Unlike the solider, we feel this character will allow more customizable options as a generic civilian can be modified a lot with textures, where as the soldier had a lot of bolt-on geometry that would have hindered a custom paint job. More news on this in 2015, but for the immediate use we will be testing him out as a single combined character with a few default weapon poses, and perhaps trialing him out in the multiplayer tests too.

Quite a lot of lightmapping and system memory work to do, and precious little time to do it in, so will get cracking and hopefully have a new build for the eager internal alpha testers for Thursday AM.

Tuesday, 9 December 2014

Lightmapping Leaves The Building

On the advice of a member of the internal team, I decided to move the lightmapper to a separate external application in order to allow larger levels to be lightmapped and avoid any system memory shortfall or fragmentation for long game making sessions.


The result is a much more stable experience all round, and I am just going through the motions of testing to make sure nothing has broken. Also plan to have a new internal build for the testers this evening so I can double check the new way of lightmapping a scene works for all.

Also started to get some art from the new textured civilian character which is looking pretty sharp, and I hope to get an export soon to test the animations (which are fused with the ability to use ALL the weapon styles).  I have also identified some other system memory pockets that might allow some more savings, and getting the ESCAPE level to use less than 800MB of system memory would be a great place to be.

Hopefully I can bring better screenshots on Wednesday as it should be more a day of testing large levels than the grunt of adding and refining code.  My emphasis will be on stability, not losing my performance gains, having pre-bake and real time shadows for all scenarios and ensuring static and dynamic lights work across the board also. I think these are the principal priorities for V1.009 (amongst the other few hundred features that have been added since V1.008) :)

Monday, 8 December 2014

Four Hundred And Eleven MegaBytes

This week is primarily focused on stability in anticipation of a V1.009 release, and I have returned to more system memory optimizations to ensure the engine does not crash due to insufficient wiggle room.  It took most of the day of painstaking investigation, but I managed to save over 411MB of system memory from squander, which is now available to the rest of the engine for more antics, including lightmapping and larger levels.


I was helped in my quest by a tool called VMMap which does a splendid job of illustrating where ALL the system memory is being spent.  Even things you have no control over are displayed, and from this information I was able to make some good savings.

Once such site of squander was the inclusion of an old DBP DLL called ConvMDL which was once used to load MDL files (from the old Quake days).  This innocuous DLL was eating 125MB of static memory until I excluded it from all further action in this project, along with support for 3DS, MD2 and MD3 :) Other savings (and performance boosts) were found in in the terrain visual and collision systems which together gobbled over 600MB (now more like 300MB). I dare say more savings can be found but right now it's about overall stability, and if the engine can now run on 32 bit machines without having to reset every five minutes then I will be a happy chappy.

I have noticed my 'super terrain texture' generator eating 80MB of system memory which in fact it's job is to produce a GPU video memory texture, so that's something to investigate tomorrow me thinks.  Hopefully as more system memory is rescued, the engine will gain more stability and longer term will allow MUCH larger levels to be created without worrying about the dreaded red screen of death.

It's not all plane sailing though, in making my massive cut backs, my pre-baked terrain shadows have gone walkabout so Tuesday will involve a hunt for these pesky shadows and to put them back!

Friday, 5 December 2014

Picture Blog Day

Been a great week and some very necessary fixes, including some performance gains and cleaner memory code.  I promised screenshots today so here they are:

 Above is the old V1.007 screenshot from the ESCAPE level

 Here is the new V1.009 screenshot tweaked with lower values to match above lighting

Don't worry about the FPS, I am using the HIGHEST terrain shader as the older one used normal maps for MEDIUM but the latest build does not.  As you can see, the HUD weapon is more defined, we now have shadows, the bloom is not as intense and it's a little more colorful.


Here you can see a level we are working on to test a larger world with more action, to ensure that our drive for performance never ends and we maintain a course which allows many types of FPS game to be created.  Still more polish in the game play and smaller items, but the level is definitely taking shape nicely!

Currently spent most of the day getting the F9 live terrain editing to work again, as consolidating the terrain physics geometry had the nasty side effect that I could not quickly swap in a new piece of terrain floor, I had to build the whole combination meshes again.  Currently battling with retaining my performance gain with ensuring F9 functionality remains in tact.  This evening I plan to make a build but I have a few issues to resolve before then including the restoration of shadows from trees and other transparent entities, and once the build is done I plan to spent my Friday night with some fun multi-core physics experiments. The single core system current takes about 11% of the overall game spend, which is not too bad I think, and there is always an overhead from adding n-core solutions, but really there is only one way to know for sure, and that's to break out the code and see what works best!

I am also pleased to report that the FPSC legend Mr Blosser has kindly conceded to help with some additional art work, and the first target for us will be the building.


As you can see, he has already started with some improved specular and normal maps, now looking at texture seams and other geometry based concerns.  It will also be the entity to help trial a new OCCLUSIONMESH system which should allow the occluder to process this entire building with just a few polygons for the whole shape.

Probably need to eat at some point today, but I have my second wind now so will crack on and see if I can put on task properly to bed so I can think clearly about the very important weekend build.  Have a great weekend and thanks again for your patience - I hope my blogs are making it at least bearable (and dare I say it, educational) :)

Thursday, 4 December 2014

Physics...Hmm

Got through half a day of bug fixes, then as I increased the terrain physics density to solve some related issues, I discovered the physics system taking a little longer to deal with the increased floor meshes that I suspected it should (basically 30% of the game time in a blank level with one dynamic crate).  It got me thinking that something was very wrong in there, and needed a look.

I am current at the stage of running profiles on it all, and also will be looking at activating the Bullet multi-threading stuff as well if it's easy to use, so I must apologize if my blog is a little short, I want to eat and then get right back into this physics question.  If I can find a major BOO-BOO in there, and reduce the workload to more like 2% which is all the physics system needs to do with one player capsule and one box, and THEN see about putting the whole lot on another core so when the physics work does pick-up there is no cost to the main thread and in theory increase overall FPS.

I will try to get some nice screen shots in Friday's blog so you can see what I am looking at, which is hopefully a large pile of fixed tasks and a more solid looking V1.009 for release before the Christmas break :)

Wednesday, 3 December 2014

Knowing No Bounds

After my five hours of failure with a $250 memory checker, I tried the $700 trial of the tool Bounds Checker became and within a few minutes had some leaks and memory mismatches highlighted in a friendly little report after running my game engine.  I guess my previous experience with the tool helped me know which buttons to press. I have since spent the day eliminating these errors that had been flagged and now the bullet physics module does not leak memory any more (apart from one thingie which I will fix after tonight's build).


I have saw a few new feedback emails coming in from my previous AM build which included amazing flying floating enemies. Something for me to look for on Thursday :)  I think I am very close now to deciding which remaining A tasks need to go into V1.009 and how much time should be spent doing my own testing for stability and reliability in the game of the stock and store media.  I am now happy with the performance and memory handling, and many of the little features we needed are now in to some degree.  I really want to spend the next two days testing and only dealing with those things that stop the train. The littler nags will have to be put on a second list for post-V1.009, this way everyone can enjoy a great experience and not get tripped up by a last minute bout of silliness in the engine.

Pool night tonight, but after some serious Guinness drinking five days ago I am still not in the mood for lots of booze, so hopefully I can return for a few hours of late night testing and tweaking.  I'll show up, beat my enemies with a stick, then leave after a friendly pint.  The best laid plans hey....?

Tuesday, 2 December 2014

AMD Cards Accepted

After spending a very 'long way around' day getting my dev kit set up on the new machine (which involved updating the Dark Basic Pro IDE to run on Windows 8.1 which in turn meant updating the BCG libraries to 2012), I finally was able to reproduce, find and fix the issue(s) causing problems for AMD users. 

One was a massive vertex buffer memory overrun which explains a few other issues we have been seeing, even for NVIDIA and INTEL users, plus some issues with texture locks during lightmapping and DarkAI using pointers that did not exist. I also have it in my head to spend the evening doing a full audit on the memory handling of the software. 

Back in the day I used to use something called NuMega Bounds Checker which was a little magic box that told you when memory block A stepped on memory block B's toes.  Very useful.  I priced it up earlier today and they want the princely sum of $700 - ouch!  I thus decided to hunt for something a little more in my price range and came up with one from SoftwareVerify called Memory Validator. I have downloaded the trial and will be spending a quiet evening with a glass of red wine, the trail demo of a much more reasonable $299 and the latest build to see if any more hidden memory leaks and overruns are creating havoc on systems I do not have direct access to. 

As the entire day was like this, you can imagine there are no screenshots of cool progress, but I can sneak you a shot of a new character we are developing which will allow you to have more generic people in your future levels:


We're going to drop the mohecan for now, but it might make a re-appearance when you are least expecting it. Don't worry about the shiny mat finish to the guy, he does not have a texture yet and we've decided to reduce his brain size as well ;)

Other cool screenshot that came in today, but I cannot show it, so you will just have to hold your breath for that one, but it IS good (Escape 2 anyone?).

Monday, 1 December 2014

One More Week

If some of you had been waiting for the V1.009 release to happen in November, you've probably figured out by now that it's not yet available. Due to the quantity and thoroughness of the alpha testers work we've decided to sit on it a while longer to make sure it's solid before we release.  There are still some issues with lightmapping, memory, disappearing objects, little glitches, e.t.c and it is only fair you get a good experience after the long wait. My hope is to get all of these issues resolved this week, and see where we are on Friday, and see if a version we have is worthy of a public build.


The good news is that each time I work on the lightmapper it gets better, which I think you will appreciate when you start using it.  I've also fixed a few more multi-material issues so now the engine can support them a little further (as it seems artists like them).

My plan this evening is to swap in an AMD card and hopefully reproduce an issue that has been reported that MAY relate to card type, but at first glance I don't see how a card swap could affect in-game object visibility. I will know by midnight :)

At the risk of venturing off the Reloaded Reservation (again), I wanted to advertise the newsletter that came out today:

http://www.thegamecreators.com/pages/newsletters/newsletter_issue_142.html

And also a quick reminder that the 33% discount on App Game Kit 2 (AGK2) ends on Tuesday, so if it's part of your wish list you might want to make the purchase now and get started on the path of the code warrior.  For those seeking a higher power, stay tuned for more Reloaded posts about bugs squashed and features improved during the week.   My calender is pretty free of meetings and events so it's code sailing from here on in, and we'll get V1.009 out to you as soon as the alpha testers give us the gentle nod.

Friday, 28 November 2014

Friday Bits and Bobs

As you may know, I have finally finished the lightmapper which can now work across all your cores and produce lightmaps nice and fast now.  The latest build handles the static lights which bake into the scene and dynamic ones which you can switch on and off.


I am now starting through the bit lists and getting a new more things ticked off such as grass and foliage issues from store content and a lot of very minor glitches which creates a discord when using the editor.  Once I've gone through these 12 or so double-A tasks, I can move onto the single-A tasks of which they are many but minor.

I am also planning another internal build for the alpha testers this weekend, mainly so they can test the resurrected light mapper as it will need some brutal testing to ensure it's where it needs to be.

Apparently I cannot mention AGK anymore, so that's pretty much the end of my blog for this evening. I will be doing more work later on and then hoping to play a little Far Cry 3, for research purposes you understand :)  Also have a multiplayer test at 4PM which should be a blast!  Until Monday, have a great weekend and for those in the states, enjoy all those Turkey butties!

Thursday, 27 November 2014

Multi-Core Lightmapping Is Back In

Took all day but I found and fixed the issue with the 'mega nasty freeze crash issue' when the lightmapper ran via threading, which in turn was 'really' due to intercepting the process with Sync calls, and so by changing the order in which the render-able parts where updated, I could make the freeze go away.  This then freed me to move the new progress bar over to the threading version of the lightmapper and now we have a super fast light mapping bake process back.

The Escape level used to take 'quite a while' with the old single thread approach but now it takes less than a minute, and rest assured there is a LOT to lightmap in there.

In other news, App Game Kit 2 continues to do well and yesterday evening we even got on the front page of Steam, which was a bit of a shock.  It might have had something to do with the Steam system accidently promoting our launch offer to 66% off which was not the plan, but it was quickly corrected and it's back down to our 33% off price.



Not before a few lucky AGK2 users snagged themselves a great price at 66% :) I dare say such discounts will happen again so I think the moral of the story is to tune into Steam every day in case bargains are abound.  We even did nicely on the mobile version of the Steam site too:



If you are interested in AGK2, you can find it on Steam here:

http://store.steampowered.com/app/325180/

Or you can find it on a new Bundle Stars promotion here:

http://www.bundlestars.com/store/app-game-kit-2/

Back to Reloaded news, we continue to have a barrel of laughs testing the multiplayer part of the product, and here is the latest in crazy landings. I can only imagine how bad his nose hurts:



I still have some small data alignment issues and then I can move on 'finally' to a new chunk of task to sort.  Best we get the lightmapper rock solid before I move on as it's a pretty deep and complex code base and while it's fresh in my mind I want to do as much as time allows.  Until Friday when I hope to have a new screen shot to show that is nothing to do with light maps :)

Wednesday, 26 November 2014

More Light More Progress

More work continued on the lightmapper today.  Multi-materials finally dealt with, and working across all the samples I threw at it.


I also tried out lots of buildings from the City Pack available from the game creator store and that worked a treat too.


The major bulk of today's work however was slicing up the lightmap process so it could update the rest of the app while it was working. This allowed me to create a nice progress bar to show what is going on when large scenes are being lit and a long waiting time is expected.


It took all day, but I am glad it's in now as this feature has been requested by pretty much all the alpha testers and having figured a way around the difficulties it's done and dusted now :)  Next on my list are a sequence of smaller issues but high priority, and then I can look at a new internal build for the alpha testers this week. Looking stronger every day!

Tuesday, 25 November 2014

Meeting Day And Material Success

Had our ritual meeting today which starts early at 8AM and ends sometime around 4PM in the pub :)  Covered many topics, mainly progress and strategy, and had a good chat about the next steps for our AGK2 and Reloaded projects. Went very well and was able to get back and have something to eat and a cat nap before waking up and writing this blog.

Had a dream about some weird contraption where about eight people connect to a large ring hovering above them, which resembled a massive quad copter but with the propeller in the middle.  We started it up, and after a while we could pull our knees back and we remained air-born. It was then up to the individuals to decide whether to go up, down or in which direction. I am not sure how it was controlled, but I was given the conch and was able to move the beast by simply leaning in the direction intended. After about a minute, and gaining a good 30 feet over some grassy field, one of the passengers started getting woozy and wanted to get off, so the craft was subsequently landed, and the person ran off to throw up.  I then awoke to the tune of the cat throwing up hairballs.  I would provide a screenshot, but it was just a dream :)

What I can show however was the antics from last night. I finally finished work at about 2AM, clocking over ten hours on a single task:


This is what I had at 9PM with the off shadow issue and something not quite right, and totally too many polygons and draw calls.


And this is what I had at 2AM. As you can see, all those meshes have been welded up and even though each building has six textures (materials) each, the system was able to identify their close proximity and common attributes and weld them together to create the whole scene in just 4 draw calls. As you can see it's also lightmapped. This is a model from the City Pack in the store, but as Rick pointed out today the upper building texture is wrong as there are two texture types used in the original model. Looks like I have a little more grind stone to spin before this multi-material thorn in my side is extracted!

On a non-Reloaded subject, I stumbled across a movie production last night called Bedrooms to Billions, which is a great film to watch if you are an aging 40 something Brit who dabbed in computers back in the day, and charts the rise and fall of the UK games industry. Yes folks, that's fall.  I've only watched half of it, then I had to sleep, but I think it has a happy ending with the news that after dropping from #1 to about #5 in the global economy of making games, a new breed of mobile adepts are emerging who may very well help our small island regain some of it's former glory, and with the recent introduction of programming lessons in our curriculum (teaching kids algorithms as young as 5), we're set to have a generation of Brits who eat, sleep and think binary ;) A powerful resource to have in the techno-magical era ahead.

Time to fix the last remaining multi-material lightmap grumble, test everything around it, make sure nothing is broken, then test the rest of the City Pack to confirm it all works well together and put a temporary lid on the issue so I can move onto the next thing. We've agreed a tentative deadline for the final V1.009 (secret) so we're now focused to get something solid out to you soon. I can say a build will 99% get out to you before the Christmas season, and that build will be a good one.

Monday, 24 November 2014

In Support Of Multi Materials

Multi-material models from the store have been the real subject of todays grafting, with the entire city pack built on these foundations. Not necessarily loading them in, which works fine, but light mapping them. The currently lightmapper was strictly designed handle one light map object per one entity, but the MM models could have any number of objects for a single entity, each with their own texture.

The current build as of Friday could take a single material from the model and lightmap it, discarding the rest. Monday was about allowing the lightmapper to discover the rest and include them in the process. As the old system was a one-object based system, everything needed updating, the data structures, the load and save, the consolidator, the lot. 


This is my progress by 9PM, with all six materials separated, submitted and lightmapped (to some degree).  I have an all day meeting on Tuesday so cannot stay up too long, but I think I am over the hump now and it's just a case of calming down the shadow objects, restoring the floor plane, e.t.c.  Slowly slowly, catchy monkey!

App Game Kit 2 continues to do great on Steam, and is providing useful information and statistics to help us plan our Reloaded launch early next year. For more info on AGK2, here is the Steam page: http://store.steampowered.com/app/325180/

Going to put another hour into finishing the lightmapping of MM models, and then make a build for the meeting show tomorrow.  The agenda is quite full so need plenty Z's so I don't fall asleep half way through, but rest assured on Wednesday the fixing continues as I make my way though the list of items fed back from the weekend alpha testing.

Saturday, 22 November 2014

AGK2 : 24 HOURS AFTER OUR STEAM LAUNCH

Well what a trip that was, our first ever Steam title launched into the world and what a smooth birth it was too.  Admittedly I only stepped in to bask in the limelight of the release, having left the muddy murky world of having to develop it, but it seems my absence from the project probably improved the product overall :)  As any expectant father would, I set up the revenue page on my browser and refreshed it every hour for a whole day (with a few hours to sleep) and it was a real buzz to watch the number increase every time I pressed the refresh key.  Alas I am not permitted to reveal the figures by order of Steam HQ, and I suggest you do what Steam developers before us advised, which is come and see for yourself. If that's not an invite to finish your game projects and get it onto Steam I don't know what is :)



We started off modestly in our very own 'Game Development' category, but listed in the New Releases chart very briefly on the day of launch. The cynic in me said to take a picture because we would not be here long, remembering the sting of all those iOS and Android apps we developed over the last few years.



We then stumbled into the Top Sellers spot for the 'Game Development' category, probably due to the huge discount on offer for our launch week.  It was still nice to be there and gave me a nice warm feeling, and a delusion of what it might be like to stay there a little while longer.



We then surfaced and achieved top spot in all three tabs, New releases, Top Sellers AND specials, AND a first banner slot when I visited the site (for the hundredth time).  Seemed like the whole world was App Game Kit 2, and life felt good.  Admittedly a big puffed up fish in a very little pond, and probably only for today, but it still felt good.  What made me feel a little better was what happened next.



Our little game maker had escaped the confines of the 'Game Development' category and was now dancing about in the GENERAL News feed for the WHOLE OF STEAM, and in the number one slot too!  Don't ask me how it got there, or why, or whether it lasted more than a minute, but it was great to see.

I don't know what the future holds now. We have a great marketing tag team behind the product, a driven and seriously overworked lead programmer spearheading the development of this game changing tool and a company which has spent a considerable number of decades catering for the needs of budding game designers everywhere.  Combine that with the biggest distribution platform for the PC and we have everything to play for, and opportunities abound. I am big fan of competitions though, so expect a BIG Steam based competition off the back of our launch in the very near future with great prizes to get people excited (if the bank manager lets me).

If it was a choice between a 'state of the art PC gaming rig' or 'a device for every platform we support', which top prize would you prefer?  Nothing says 'look at me' than a huge sexy prize!

It you are interested in taking advantage of the launch discount of 33% on the regular price, you can visit the Steam store right now with this link:

http://store.steampowered.com/app/325180/?snr=1_4_4__tab-Upcoming

I recently watched a YouTube documentary short called 'Becoming YouTube' which had a great mix of humor, introspection and information that propelled me through all 12 episodes. Still infected by the inspiring insights of this intrepid investigation, I got to thinking that perhaps a short YouTube documentary entitled 'Becoming Steam' might be a suitable continuation of this invaluable public service.  Unfortunately, I am not an actor, nor attractive, have no production facilities, no time to record, let alone edit the footage, no Steam developers to interview and no journalistic skills whatsoever. Given these minor disadvantages one might conclude that a series of episodes on becoming Steam might do nothing but damage and distort what is a truly amazing experience that every developer should feel before the world moves on again, not to mention invite a lawsuit for the use of the adjective 'becoming' in this particular context.  I was also thinking of dying my hair bright green (as it rhymes with steam) but it's easy to take these flights of imaginational fancy too far.

As you know, my own active involvement in the launch of App Game Kit 2 on Steam was a dress rehearsal for the product that I am pretty sure is set to sweep aside all previous records for sales of a game creator on Steam.  I cannot think of a better vehicle to gauge what the Steam community want from a game creator than by giving them another game creator and listening to what they have to say.

I have been promising myself a nice distracting game for weeks now, and this very second I feel like returning to my gamer roots, so I'll leave you with this rare weekend blog post, invite you to check out the AGK2 Steam page and see you again on Monday when I resume my blog on the trials and tribulations of an overworked under-appreciated insanely happy game engine coder.

Friday, 21 November 2014

App Game Kit 2....IS ON STEAM!!!

I am keeping todays blog short and sweet. Aside from some good fixes, and some more work later this evening to make a build for the alpha testers, and a hell of a battle with converting multi material entities to regular ones for the light mapping process, the MASSIVE news today is the launch of our App Game Kit 2 product on Steam:

App Game Kit 2: Easy + Instant Game Development


If it's within your power, please help us promote this and spread the word so we can make a Steam splash!  If you think there is something my team or I can do to further our success with this launch, comment here and I'll be all over it. The official steam page is here:

http://store.steampowered.com/app/325180/?snr=1_4_4__tab-Upcoming

I will be doing more Reloaded work over the weekend as well as keeping half an eye on the AGK2 release, so fingers crossed everyone for the next 24 hours :) We should learn a LOT from this launch, and have a great template for our second major product, Reloaded, early next year!  Until then, have fun exploring App Game Kit 2 and have a super weekend!!

Thursday, 20 November 2014

Oh My Poor Head

I feel like a hollowed out water melon today, largely due to the mixing of Guinness and Newcastle Brown Ale. Turns out the pool match was cancelled so decided to play a different game called boozin'.  That's my social life done for another week, and now back to the code!


I continue tweaking and refining the lighting system, and now the fog works across all the various shaders and it's looking pretty neat.  Currently working on fixing up the Super Terrain Mode, which when working allows you to replace the terrain which is a performance and memory hog with a simple flat polygon, allowing things like city and interior scenes to be created.

Not sure how much time to dedicate to Super Flat, as I am now straying into lightmapping it and it was not on the original list, so hopefully I can get it squared away and move onto more interesting issues.  Bottom line is that V1.009 alpha build is looking very nice now, and I am hopeful the alpha testing team will agree with me :)

App Game Kit 2: Easy + Instant Mobile Development

In other BREAKING news, we are about to launch our first product on Steam! As some of you know AGK2 has been brewing in development phase for some time now, and we're very pleased to be able to officially launch it to the masses. 

You can find our Steam page here: 
http://store.steampowered.com/app/325180/

It is particularly relevant to this blog too as this launch allows us to make a dress rehearsal for the launch of Reloaded on Steam next year.  Any mistakes we make will be a lesson learned for when we go public with a V1, and hopefully maximize our impact there and make it a great release.  If you've already pledged to the AGK2 kickstarter you'll be getting your free Steam keys soon, and for everyone else who wants to start some mobile app development the easy way, we have an early bird discount available when we launch AGK2 tomorrow.  Exciting times!

Wednesday, 19 November 2014

A Day Of Light

Some good fixes today, including extending the dynamic lights to MEDIUM shader techniques and making them the default. The upshot is that users can drop in dynamic lights and see the results of them instantly which is exactly what you want for a new user.  The best news is that the addition of these light calculations only drained a few FPS from the already high 90's which in lee-man speak means it's as good as free :)


I have modified the GTTR (Get To The River) level to include a static and dynamic light, plus a new scripted entity so you can switch the dynamic light on and off. Really happy with the overall work done on lights, and aside from some gaps I am sure still exist, we are getting closer to a V1 for the lighting stuff.

I certainly need to include the grass in the dynamic lighting fun to blend it all together, but at over 90 fps with dynamic lights and pre-baked good definition shadows, and dynamic shadows for dynamic entities to the floor, I'd say V1.009 is certainly going to leave it's mark.

I know there are more effects I can do with the overhead lamp machine, such as lens flare, volumetric light rays, some subtle sound effects and maybe the occasional moth flying about the bulbs, but the mission has been and will remain the completion of the core elements of the product, which means drawing a line on this one for the time being and moving onto other urgent matters like memory management, overall system compatibility and the remaining missing features of the engine/editor.

Also, I added a new slider called Fog Intensity, which turns out to be pretty cool as it allows me to make atmospherics effects without washing out the distant mountains.  Notice how the characters (which are not presently using Fog Intensity) are washed out, but the rest of the scene is bathed in a soft fog.


I have another 20 minutes of coding, and then I am off to play a few racks of pool to unwind and study the miracle of Guinness up close.  Thursday will see the various shader tweaks applied and tested, plus a slew of additional critical fixes reported so far by the alpha testers.

Tuesday, 18 November 2014

New Dynamic Light Script Commands

Aside from some basic reflection tweaks this morning, the major addition was inspired by one of our premier alpha testers, who wanted once and for all, control of the dynamic lighting. To this end a new script command was added called LightSwitch.lua using two new commands HideLight(e) and ShowLight(e). Basically you can now add a dynamic light, associate it with this script and when you get near it you can toggle the light on and off by pressing the E key. Simple stuff, but long awaited and opens the door to the 'rest' of the dynamic lighting commands via script.

The biggest chunk of work however was last night when I finally fixed the annoying shadow flicker issue, and made some good improvements on the visual side such as dynamic and static lights working nicely together with the pre-bake scenes.  Also gained some extra performance points along the way for various reasons, and now my Escape level easily tops 60 fps at the start and the GTTR level tops 90 fps as well which has never happened before now.

I also found a way to speed up the Editor IDE for levels which have a lot of entities, creating a smoother scroll and entity selection experience.

Been a long day on the road this afternoon so not much energy left for much coding, but I have my email open, my code standing ready and a juicy bug that relates to 100 characters so might do one or two more before it gets super late. In other news, and exciting news at that, we've just received the release authorization for the forthcoming launch of our App Game Kit 2 product on Steam, penciled in for this Friday.  For those not in the know, AGK2 is our cross platform development language which allows you to write apps easily and deploy them instantly to all the popular devices. We have already had mucho success from apps we created with this tool, and now you can tap into the same power house of functionality for an amazing price. Watch this space for news of the Steam launch and a great early bird discount to get you coding mobile apps sooner and making your very own iOS, Android and Windows hits!

P.S. Sorry for the lack of screenshot today, it was pretty hard to take a shot of 'not flickering any more and a lot faster' :)

Monday, 17 November 2014

Weekend Warrior Of Work

I did some coding at the weekend, and made a little break-through with the 'Get To The River' level which now runs at over 100 fps (hurray!) on LOWEST.  It was my goal and with some careful grass optimization was able to push it over the edge. I also made other performance improvements such as hiding the duplicate static entities when LM objects where in play, and lowered the pain on the reflection system today as well so it's now even faster. Ouch!


I posted this on the forum to show the difference across the ages, and also to try and pinpoint why the feedback I am getting from the alpha testers suggests that visuals have gooten worser.  After balancing the GTTR level with the new sliders and lighting equations, this is what I ended up with:


Don't worry about the 92 fps, it's well over 100 fps when you create a standalone version of this game. Notice how I've matched the colour balance with the early V1.0071 shot, and improved the detail on the HUD weapon since V1.009 shot, and the grass is actually better in this one that the first shot.  The HUD weapon is slightly different as I discovered the V1.0071 engine reversed the light direction of the weapons, so that was fixed up too.


I also experimented with the new static baked lights.  Ambient occlusion is still O.T.T but you can start to appreciate the power of a few static lights for interior scenes using the pre baker.  This scene has an off-white light on the ceiling and a small static green light over the barrel to give it a radioactive look.

Spent half the day transcribing bugs from the forum to the work sheet, and now have to go through and prioritize them before I can actually start some fixing. The good news is that the alpha testers are being very thorough which means a solid V1.009 for you when the time comes.  Going to give the doggy a walk now while it's still light and then return this evening for some actual fixing and to tick off a few more DONE items.

Friday, 14 November 2014

Great Bug Fixing Day

While waiting for a series of test compiles, I figured I would sort out todays blog a little earlier to give me some more free time for the evening.  Bug fixing has gone very well so far with no less than 14 bugs fixed and 2 marked down as not reproducible.

Work done to improve performance is holding and the test game and standalone executables are running faster than ever before (for me at least).  More work required on performance so it works for many different systems, but things are heading in the right direction.


As you can see in the shot above, borders for water bodies have been increased to allow characters to completely avoid the steep drop and falling into the water. Currently looking at a bug that causes some of the sky to disappear in standalone mode, which is actually a symptom of a new fog sky technique which works by fogging only the distant horizon but not the higher and closer sky.


As the fog distance controls the degree of this effect, it acts more like real atmospheric fog than a blanket dimming of the sky as a whole.  Anyhoo, plenty of bugs left and plenty time to fix them in, so I will carry on and for the time being have a great weekend and next week I will reveal more fixes and shots from the V1.009 candidate builds!

Thursday, 13 November 2014

Sitting A Top My Mountain Of Happy Bugs

Getting early reports of performance issues with modes I don't test as much such as HIGHEST and non light mapped levels, so spending some time running and analyzing those tests today. Also solving the shadow issue, which seems to be rendering shadows in the background even though they are not needed. All these themed things should mean I can increase the performance for the next build, and of course fix some key bugs along the way.  The thinking is that I should refrain from releasing any more builds for the testers until a large chunk of the existing list is done.  

Right now I am working on an issue which causes the physics system to jump from 15% to 30% of run-time performance when I blow up a barrel. I suspect the physics debris that get created from this explosion do not exactly settle and deactivate once the dust settles.  Right now my Escape level starts at 65 fps which means performance progress has been made, with some more to come!

Sorry for the lack of blog matter yesterday, had a 'personal day' to go play snooker and pool ALL DAY and ALL NIGHT.  Was great fun, and I performed well in the league game that evening, still some small errors in my overall game, but certainly picking up from where I left off a few years ago :)  Not much of a life, but they say a change is as good as a rest, and there is something very relaxing about mastering the art of potting balls.

Tuesday, 11 November 2014

12 More Bottles Less (On The Wall)

You can say goodbye to 12 more bottles from the wall, as the bug list for the V1.009 gets reduced by a few more lines.

Also gained some more performance by reverting the masked solider to the correct mesh (3 meshes instead of over 30) and also removed all vertex data write calls and replace with a nifty shader that can animate internally:

vertexOutput mainVS(appdata IN)   
{
    vertexOutput OUT;
    float4 worldSpacePos = mul(IN.Position, World);
    OUT.WPos =   worldSpacePos;   
    OUT.Position = mul(IN.Position, WorldViewProjection);
    OUT.atlasUV = IN.UV + UVScaling.xy;
    float4 cameraPos = mul( worldSpacePos, View );
    float fogstrength = cameraPos.z * FogColor.w;
    OUT.WaterFog = min(fogstrength,1.0);
    OUT.clip = dot(worldSpacePos, clipPlane);                         return OUT;

}

Almost all the triple AAA issues solved, those remaining require more info from the internal alpha testers.  My next attack will be on the double AA's which are key fixes but not as urgent as those pesky AAA ones.

It's quite a good feeling to finish the day with lots of DONE items on the list, and I hope to repeat it real soon. For now, I will jog off and prepare a new build for the internal alpha testers while listening to the best C64 tracks from Jeroen Tel, a SID legend :)

Monday, 10 November 2014

BUG WEEK BEGINS

With the main features added for our V1.009 public build, the time has now come to go through EVERYTHING and make sure it's solid for a general release. To this end we have recruited a dozen die-hard uber critical alpha testers to put the current build through it's paces and hammer it into something near-indestructible.  Could take anything from 1 week to several weeks, depending on the feedback, but it's time well spent and means you will not have to go through the nightmare hell that we'll be putting our alpha testers through in the coming days.


We released the alpha internal build over the weekend and the private forum started filling up fast with feedback.  I also spent some time testing over the weekend and produced a rather messy level for my own amusement.  Had a great time creating crates dynamically in F9 mode, but my graphics card was not really up to the task of rendering everything in HIGHEST mode.  I was planning to play more of my Thief game (latest one), but again my card was not up to the job of rendering at a decent frame rate (as I had replaced it months ago with my current older model to get a more honest result during my own development tests).

I have itemized all the feedback and with 55 issues to look through, my week is pretty packed and I am looking forward to knocking them off the list one at a time :)  Hopefully my alpha troop will continue to produce feedback on the builds as they appear, and before too long we'll have a candidate worthy of your inspection.  Blog posts might be thin on the ground as we do this (as no new features), but if anything news worthy happens I will be sure to record it here!