Wednesday, 1 January 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!


  1. I'll admit, I'm sad you'll be writing less posts on this blog. I really look forward to reading these every weekday. It feels like I'm following you along the journey and nothing is being held back :(

    One advantage of the more frequent posts allows for on-the-ball feedback. You start working on a feature, you tell us the very day and you get some comments talking about said feature and offering insight on what us developers would like/would not like. I would hope such feedback has been helpful in the past.

    On the other hand, spending less time writing blog posts and more time coding/sleeping is a okay trade-off.

  2. Also I think regular updates will be good in terms of attracting new interest, and assuring existing "investors" (for want of a better word) that their pledge money is being well-spent.

    But yes, coding is probably more important.

  3. Sounds good, keep it up Lee!

  4. OK, here's a list of bugs/things that need to be fixed:

    1. Head bob. Ugh. The idea is not to copy DOOM 1. Make it a MUCH smaller amount of movement and about 3 times as fast (he's supposed to be running the whole time and sprinting when you hold Shift).
    2. If you test a level, hit escape then immediately click Launch again before the level editor has regenerated its view, the view will appear fullscreen and you will be stuck there. Not good if you haven't saved your level recently because you have to Alt-F4 to get out.
    3. This is a really big one: are you using vsync? As far as my brother and I can tell, despite the framerate going above 60 (which normally indicates there's no vsync), the screen does not tear at all and the mouse is laggy (which are both indicators of vsync in play). I hope you realise that vsync can genuinely HALVE the framerate and most users would be 100% happy to have a slight screen-tear in return for playable speed. I'm somewhat horrified by the performance on even the simplest levels. I don't understand what's sucking the speed away. I know you're still working on it, but the performance is far worse than that of FPSCx9. That one was of the biggest gripes with x9, that it was slow, and now we have the awesomeness of Reloaded and it's even slower. Anyway....
    4. Everything is framerate-based. If you place down some grass it kills the performance enough that you feel like the grass is some kind of drug slowing down time.
    5. I just remembered another point: sound. I'm sorry to say but it's just.....bad. It's tinny and, well, awful. I don't want to offend the sound guy (Ertlov, is it?), but he really needs to play Battlefield 3 to get an idea of what guns should sound like. I know it's not nice to say this, but if it's not pointed out it will never be fixed.
    6. You're probably still getting to this, but: recoil.
    7. Everything is blurry. I don't know what's causing this (though I suspect the bloom shader) but it's rather awful. *tests* Ok it's the bloom shader. Bloom should be almost unnoticeable until you turn it off, then you realise it's gone. It defaults too high currently.
    8. The colt's (and probably others as well) ray distance is pathetically short. I can't even shoot the enemies before they see me (they're blind and deaf too, btw).
    9. The grass absolutely kills performance, though this tends to be the case in most games and is acceptable.
    10. The character controller sinks into the ground and rises and stuff going from static to moving and back. Very annoying.

    Here's some reading material which may help you improve performance considerably (or it might not, I don't know):

    And finally, DON'T FORGET ABOUT VSYNC. If you can't make it an option, turn it off for the moment. I'm sure we'd all prefer to have decent performance. If it's truly not turned on, find out why the mouse is laggy and the screen isn't tearing because that could be a performance drain.

    1. I'm sure Reloaded has its issues, I know the original one certainly does! But Lee is doing something here that VERY RARE programmers have the character to do - and that is restarting a project from scratch. Almost no software company (especially Microsoft) has the strength of character to do this.

      I see you started programming when you were 13, I think Lee did when he was 9, I did at age 6. So I'm sure we're all self-taught and hence far better than your average spoon-fed programmer who got their education from a school. Starting from 6, I was terrible at programming for years - mainly because I was impatient. To that end, I didn't become ~really~ good as I am now until just a few years ago, when I finally allowed myself to learn the ultimate lesson of patience. And for me that was to develop the character within myself to, once a program got so messy from so many updates and changes and paradigm shifts, to scrap it, and re-create it again from scratch, using little-to-none of the original code, but using all that I learned the previous time around and my vision of where I wanted to take it. ...creating the new version from scratch from the foundation up, so that it would be neat, concise, efficient in both performance and resources, and far easily expandable without added messiness and patch-jobs for said expansion. Modularity is a real key to this.

      That was one benefit I actually did receive from college - the aim of modular programming. The more I have been willing to scrap and re-write a project, the better I've become at it, and the less often I find myself needing to do it, because I'm really learning from experience to do it right the first time, and with modularity that is very friendly to expansion and new paradigms that occur to me later. Some projects I've rewritten a number of times. Generally I can rewrite a project (usually a single module) within a week (although I've never done yet, anything as large a scale as FPS Creator, but I'm getting closer to that scale now, mainly by putting together modules from my library that I've already written). But every re-write I've done has been a quantum-leap ahead of the previous one.

      My point is this - Reloaded may have its issues, yes. But it will be a vast improvement over the previous one. And continuing in this direction - will ultimately far surpass anything that's otherwise available, because again, almost no software company out there has the strength of character to do what's necessary to make their software great! So there really is no competition, and the sky is a limit!

    2. I'm not sure why you're saying that exactly, but I agree with you. If you're telling me "shutup and be patient, Lee will get to it" then I completely understand what you mean. I certainly didn't mean to sound so severe with my list of bugs (I forgot to rewrite the first sentence before posting it). All I meant to do was provide some things that I wasn't happy with so that Lee knew about them.

      Actually now that I re-read what I wrote I realise I sounded rather....nasty. I totally didn't mean to. I just meant to make a list of bugs, but somehow the tone of the post is angry/nasty.

      Sorry, Lee.

    3. Well as a fellow software person, I've had my fair share of annoyances with others' code too, so I understand :) I guess I'd just like to have a different attitude about it - it's a personal change I'm making :)

  5. Glad performance is still on focus I just realized even though im getting better frame-rate... after building a whole level the game just slows down quite a bit and i find i have to cut back on some of the graphics.