Thứ Tư, 8 tháng 1, 2014

Gun Work

Work

Started at 9AM and still at it 11:20PM. I had planned to clock off at 7PM to have a regular day (so I can get up again in the morning), but development is a real nag sometimes. Gotta finish!  Just going to make a small build and get it sent off and then I am done done done. And check the LOD fix works, then I am DEFINITELY done done. I hope.

Today I worked on more engine tweaks, and also some legacy support for weapons, allowing things like gun jamming, gun melee and accurate iron-sights to work properly.  Got the scope graphic working better and added some extra HUD visibility controls. Spent a good chunk of time just replying to emails, and that's not a case of 'Hello, blah blah' replies, they require me to go into source code, do stuff, write a LONG email sometimes and then onto the next one.

As you may have learned, we got the STEAM GREEN LIGHT yesterday which means we have the potential to reach a LOT of users in 2014. To that end we are going to bring in some extra help to sort out the Steam integration while I remain focused on the core engine. For a run-down of what you can expect, check out the recent NEWS bulletin here:

http://fpscreator.thegamecreators.com/wordpress/

As you can see, I have a tall order to fill which means I require the minimum of distraction for the next few weeks. Let's hope I can escape to my cave and get it all done in time.

Play

Gave the dog a walk, ate a salad and checked out my new pair of shoes (the old ones had about four holes in but boy were they comfy). Also got some new wellies just in case Wales decides to flood again!

Thứ Ba, 7 tháng 1, 2014

More Core Features On The Way

Work

As you may know, we had our monthly strategy meeting today, where we discussed all things Reloaded and looked at the various developments underway. We also looked at the internal BETA 1.005 version and the new additions made over Christmas.


One of the things we looked at was the steady work to move some classic model packs over to Reloaded. Not just through legacy support, but taking the models and applying the new transparency and collision modes required to make them work great with Reloaded. More news on this when it happens.

It was also decided that a fresh burst of essential core engine elements was also required for the product, and quick. The decision for the next 1-2 weeks will be to continue in this vein and add those missing ingredients that are preventing you from making a decent game. This means some basic scripting and logic, player, character and entity properties tied in and the various tweaks that will pull your game together. We won't be abandoning performance and memory work by any means, but we felt a few more core elements in place will make your time using the BETA much more enjoyable. When you see 1.005, you will see why ;)

We also made some decisions surrounding the game creator store, the construction kit module and the rift. More on these third party projects as they happen. We'd also like to start some competitions as well, but we'll reveal more about that through the main website.

As it was a meeting day 8AM to 4:30PM there was not much time left for coding, but I did dig out the old DBP module called Unity, which provides an out of the box, fully featured LUA scripting engine. We briefly discussed resurrecting FPI as a stop-gap but the agreement was that we should not waste time on old tech and put our energies to forward moving stuff. A simple LUA integration to get the basic scripts working was the sensible decision, and with this we can breathe some life into things like keys, doors, trigger zones, character and animal behaviors, item transactions and events, story devices and waypoint control.  The plan is to get a LOT done in January, picking up performance and memory issues along the way.

As the terrain module is relatively separate from the main engine, we are also looking to see if we can engage a known coder (a non-Lee entity) to go in and make some fixes and optimizations that will drastically benefit overall rendering, including reducing terrain segments to flat quads and adding GPU occlusion when terrain is being completely hidden.

It's quite a list we have produced from the meeting, and if my inbox can stay relatively quiet I think I can make some serious gains in the weeks to come and create a more rounded experience for all users. Once we have this, I can return to a heavy dose of performance and memory work, and execute a few ideas I had over Christmas how I can squeeze a lot more FPS from the engine.  Of course you could just use the SUPER FLAT flag and quadruple your frame rate, but that's a whole other debate ;)

Play

Apart from getting drenched on leaving the gastro-pub, and finding some new sandbags on our front door (thanks councilor Denise) the most exciting non-work news was my amazing Welsh Black Beef Fillet Steak which came with it's own cooking grill due to the thickness of the fillet.


A very happy coder left the pub that day, and even found the energy to walk the dog then dive into two hours of answering emails and writing this ;)

Thứ Hai, 6 tháng 1, 2014

More Blog

Work

Spent the first two hours of Monday answering emails, Google talking, updating documents and effectively 'not' coding.  Hopefully I will get a few snatches of coding done before 6PM :)

Mainly preparing for a meeting on Tuesday, and getting a demo together that shows off the features added over Christmas. Had also been waiting for some terrain LOD seam fixes for BlitzTerrain but nothing materialized. I did receive some new terrain code a while back which makes the LOD code cleaner, so I am going to give it a few more days and then probably give in and make the fix (and learn the code while I am there).

Also have some more memory work planned, especially centered around the addition of many characters to the level resulting in a rather prompt crash on my system. I have a few ideas, so hopefully one of them will fix it.

All that said, I got an email from Rick with a list of feedback from the latest internal version so I decided to do some of those instead, including a scope effect for zoomed weapons, slower movement for crouch, larger ranges for enemies, faster gravity and a new shader quality level for vegetation so that flashlight works with a new MEDIUM setting.  The other suggestions are beyond the scope of a quick fix so those will be put on the master document.

I also received some media from my artist CB who gave me a tree in two parts so that the trunk could have collision but the leaves could be non-collision. Needed some work on the physics side of things, but it worked out very well. For entity makers out there, you can specify the COLLISIONMODE field with a value between 1000 and 1999 to chose a single limb for BOX collision between 0 and 999. You can also specify 2000 to 2999 for a single limb between 0 and 999 for POLYGON collision.

I had some more testing into the memory usage and leaking is much reduced now, but I am still not super happy with the division or resources. The empty map editor/test game system with basic data structures and assets comes to 700MB. About 400MB of that is the terrain system. Given that almost half my memory budget was being gobbled up, I decided to implement a feature requested by a few pledgers along the lines of a new flag which would effectively replace the entire terrain system with a flat landscape. My idea was that it would aid analysis of the memory usage by taking the terrain antics out of the equation.  I also wanted to see what affect this would have on performance. It still needs work, but it's coming to the end of the working day and a demo is due Tuesday so I will reverse this change shortly and resume Wednesday. Early results are very good though, with my FPS exceeding 600 fps and polygon count dropping to double figures.  Exactly typical of a scene with nothing in it, but allows scenes to be built from the 'void upwards' which might have it's uses down the road.

Play

As a way to combat interruptions, I received an abacus over Christmas with five rows of beads. Every time someone interrupts me, I add a bead to their daily tally as a form of silent recrimination. It's fatuous I know, but it makes me feel better.

More sea is flooding over the wall again today, and no sandbags from the council. Nothing I can do against natures own attack except sit back and enjoy the adventure of it all.

Chủ Nhật, 5 tháng 1, 2014

More Waves In Wales

Play 

Not 30 minutes away is my local town, and at the same time I was making my own video of the welsh waves, this was happening in Barmouth.



The Last Inn is a great place to eat and drink, now about two foot underwater in this video. I really hope they get back on their feet after this crazy weather!

Played a little Crysis 2 yesterday to absorb some FPS features. Not as immerse as Bioshock but more sophisticated when it comes to tactical weapons, and worth adding to my list of FPS mentors!

Work

It's the weekend, so nothing official!  I did activate my 'newer' PC system which went loony last year and have confirmed the disk error is no longer happening, so I have tentatively moved some project backup areas there and tried a few compiles.  Not strictly Reloaded progress, but it does provide a haven if the worst happened to my main 'older' machine.  Technically, I am calling it work ;)

Thứ Sáu, 3 tháng 1, 2014

More UMDH Fun and Some Flooding

Work

Found and filled in some more leakage, including some old Quad Reduction terrain stuff to save another 2MB per test game button press. Also found that each test game, all characters would be given 'new' weapons to hold, leaking the old ones into the background. This UMDH is pretty cool, allowing me to see every allocation and the stack trace responsible for those allocations in a single call, and then do a side by side comparison between snapshots any time I want. Pretty neat!  It's all command line stuff, but I'm happy there too. 

Will continue adding more and more to the test game scenarios until I have plugged all the large MB leaks. I am seeing LOTS of very small byte leaks with untraceable stack instructions buried in drivers I have nothing to do with, but I am ignoring those for now as it would take over 100 test game presses to leak a few MB as it stands now.  When we've solved bigger fish, we will come back to these little fish and see where they are coming from.

Play

Had a flood today, first time in 30 years apparently. Here is a nice shot of my back garden path:



Who knows, one day this could be an FPSC Reloaded screenshot ;)  And here is another shot for the time we have destructible scenery.



To put this into context, all those stone pillars where upright yesterday, and had been since WW2!  As I had the privilege of being right in the middle of it, I decided to take a video of the culprit waves who were out in force this morning at 8AM.




The good news is that I did not float away, the power and internet stayed on and apart from a few close calls, the flood water made it's way 'around and under' my house instead of through it. One advantage to having a house on stilts me thinks ;)

Thứ Năm, 2 tháng 1, 2014

UMDH for Memory Leak Detection

Learned how to use UMDH today, allowing me to trace all memory usage differences inside the FPSC Reloaded Engine. Already found that the terrain physics was gobbling 4MB per test game and not returning it, now fixed. Plenty more leakage reported, so more work on this Friday.

P.S. Welcome to my much reduced blog post format! Zero waffle edition ;)

Thứ Tư, 1 tháng 1, 2014

First Post of 2014

Welcome To 2014

If you joined us in 2013, you will be familiar with the format and aim of these blog posts, which is to cover the behind-the-scenes activities of the development of the FPS Creator Reloaded product. The pace in 2013 was a little intense with daily posts and lots of engine back-end stuff happening.

For 2014, I plan to start a weekly (sometimes bi-weekly) post which will attempt to provide more coherent update of the main improvements and advances to Reloaded, and less on the daily waffle that a coder like me might go through. For perspective on this aspect, you can read through all 250 posts from 2013 to get an idea of a day in the life ;)  This time I will be aiming to summarize the juicy gossip that directly relates to the Reloaded features, fixes, tweaks and changes that will happen as the project moves forward.

Another Welcome

I would also like to welcome the many pledgers who joined us recently, enabling us to charge into 2014 with great momentum, and the sole goal of making Reloaded awesome.  We are also enjoying some great exposure and success in the Steam world too, so more news on that as it happens!

Back To Basics

The time for fun additions is now over, and starting Thursday I begin work in earnest to address the continuing saga of performance and memory usage. These two aspects still needs a good deal of effort before we plunge into other features such as AI, UI and FX.  My current graphics card is doing something very strange with the screen, making it flicker as though a magnet was being passed over it periodically. It's not half putting me off!  I have another 'lesser' card on standby which should solve this strangeness, and at the same time allow me to optimize for an even lower benchmark.  

I also want to make a detailed record of every asset's affect on the overall video and system memory footprint of the editing and test game processes. Utterly boring stuff I know, but once we crack it, we can pretty much leave it to service the engine thereafter and embark on more exciting developments without worrying to look back every five minutes.

Signing Off

I have a meeting planned soon to show off the cool extras I added in my leisure time to Reloaded over the festive holidays, including better melee AI, better physics reactions and decal effects.  From this meeting, it might be decided to release this as an update so you can check it out, so I will report on that when the time comes.

For now, thanks for your continued readershipness, and I hope my blog posts in 2014 are more informative and concise, more relevant and less protracted. Of course, I will continue to furnish you with screenshots of worthy stature as they occur, and maybe I will start making small videos for you as well. With the recent additions, screenshots are not really portraying some of the effects added.

Let me close by saying that I hope you had a great Christmas, and my hope is that we will all have a very productive and exciting new year.  Let's bring it!