Tuesday 23 September 2014

Insert Amusing Title Here

A good day of work today with more progress on the lighting system, screenshot second one below.  Also continued having fun thinking up the new name for the product for our Steam launch.  You may have read the latest forum thread on this but the headline titles for this week have been Hyperion, Scorch, Titan, Breeze and Dark, with the addition of Viper during our call today. We're also been playing with dropping 'Game Creator' in favor of 'Maker', 'Kit' and 'Engine'. Give me coding any day, thinking up new names is HARD!  The hunt for the perfect name continues.


The above is what I started with this morning, with the obvious issue being the total shadow under the fallen fence gate. This was due to the light mapper not detecting semi-transparent textures in the process.

My task today was to get my shadows looking prettier, adding ambient occlusion back in, allowing semi-transparent textures to cast semi-transparent shadows, ensuring the whole Escape level can be processed, solving the edge artifacts and making it all blend together.  Apart from wasting four hours finding out why D3DXLoadSurfaceFromSurface was not working, everything else went smoothly. For DX coders out there, I must share the above solution. It seems you cannot use the Surface function to copy a compressed video memory texture to an uncompressed system memory texture. Any combination of the above fails. What you have to do is create a system memory texture and directly load the compressed texture into it using D3DXLoadSurfaceFromFile. Hopefully this little pearl can save you four hours of your life on day!


As you can see, the new lighting system brings out the depth of the building features and adds subtle shadows where required. It only costs a few extra frames and replaces the very crude LOWEST shadows, but gives a much higher resolution shadow, and even here the resolution of the lightmaps have been limited to 512 pixels wide. This can be increased to 2048 or even 4096, that is, once I have solved the management of the memory used by the light mapper. You find though that most games keep the pre-baked lightmapping relatively low resolution and subtle, mainly to conserve aforementioned memory. I have not yet batched the static geometry which might yield a return of these frames, and most likely gain some too.

Also bear in mind the above buildings and objects are not using any normals, specular or other per pixel refinement, just basic diffuse + lightmap. Hopefully when I add in specular and normals, the flattish surfaces will bump a little to create some more fidelity or they are too subtle and can be left out of all but the closest objects, we will see.

Next on my list is to squash the whole lightmapping process so it does not take up quite so much system memory.  It was originally written and tested against small objects, not whole levels and as a result the implementation proceeds to create allocations for the entire process at the start, AND creates more memory on the fly as it goes. Pretty hungry now, and it becomes positively ravenous when you increase the light mapping resolution quality.  My initial idea is to break the job up into 200MB or so of work, process that, then move onto the next 200MB using the previously freed memory. Might add a few seconds of set up to the whole thing, but allows light mapping to happen inside Test Game which is ideally where I want it.  Before that however, I shall spend some of Wednesday tracing through the 1338 static objects from The Escape level and investigate why they are collectively eating 500MB of system memory. It might be perfectly acceptable when you consider the addition of collision geometry for the ray caster, holding areas for the light accumulation buffers and the system memory copies of the transparent textures, but it's always worth checking out memory allocations of that magnitude.  It also means I am one step closer to starting my performance work, which I am very much looking forward to!

18 comments:

  1. Sounds like everything is coming along nicely. Great job! My vote is for definitely changing "Creator" to Engine." Sounds more professional! :)

    ReplyDelete
  2. Dark Engine works perfectly. It's cool, nostalgic (DarkBASIC) and has a rather nice puny connotation to Dark Energy, the mysterious stuff that makes up an awful lot of the universe but no one understands. :)

    ReplyDelete
    Replies
    1. I'm not fond of Dark anything. And as for that Dark energy "supposedly" in the universe? Bah! No proof of any such fantasy thing. Just another convenient made up story to explain the continuing failings of a bad theory (i.e. big bang).

      Delete
    2. I love the 'Dark' possibilities--as Lee once said the term can also allude to a dark horse, which is what Reloaded is currently ("a candidate about whom little is known but who unexpectedly wins or succeeds.") That said, Dark Engine was an actual game engine from the 1990s and what System Shock 2 was developed with, so there could be issues using that title. Speaking of Dark Energy, TGC did put out their media collection as DarkMATTER many years ago :) I like it, just coming up with the rest of the phrase that is tough. Dark Game Studio is also already a pack of products from TGC so using that could get convoluted. At the same time, if the engine when released can't easily make non-FPS games then using a generic 'engine' title may be less desirable and lead to more criticism of it.

      Delete
    3. "And as for that Dark energy "supposedly" in the universe? Bah! No proof of any such fantasy thing. Just another convenient made up story to explain the continuing failings of a bad theory (i.e. big bang)"

      Good grief. It's fair to say the consensus is that the Big Bang Theory is correct. It's hardly fantasy or a bad theory. We don't exactly know why or how it happened, is all. Dark Matter is really our best description to account for gravity where there is no detectable mass. Scientists agree that it could be something else, but until they know more they call it Dark Matter.

      Still, it was the big bang thing that got me, how can you say it is a bad theory!?

      Delete
    4. A great many scientists reject the big bang. Why? because it never happened. God created everything and all evidence supports that. Haven't you heard the latest confirmation of the lithium problem? What about the horizon problem? Comets? Too much light? Mature galaxies at farthest reaches of the universe? Blue stars? etc. etc. etc.

      Delete
    5. Glenn, just check this site out, which is by secular scientists by the way who have left the big bang theory and seeking alternative explanations.

      http://www.cosmology.info/

      Delete
    6. no more proof of this so called god fellow than there is about the big bang... btw i disbelieve in both the above ;p
      but this is not the place for debate on such things and should be kept well clear of the blog imo, as both views lead to arguments and headaches...

      Delete
    7. lol @ lordalmighty1 since you still felt the need to post your opinion even though you state this is no place for it. But feel free to contact me directly and I'll dismantle any argument you have against God or for Evolution/big bang.

      Delete
  3. What about Reloaded Engine?

    I rather like reloaded, it would be nice to keep it in there :P

    ReplyDelete
    Replies
    1. Same, FWIW.

      Also, something weird about the shadows in this pic. On the left house the little planks leave shadows going down that are fairly long. On the right house they seem to extend upwards slightly, as if the light source was coming from a completely diff direction.

      Delete
  4. game creator would be awesome or world engine.

    ReplyDelete
  5. the name should describe what it does and of course be cool, havent heard any yet imo but like lee says it is hard to think up names for something. even more so when you have not yet reached a final idea of what will or will not be in the engine to begin with.
    perhaps the name should be held off until later on, i mean no rush to name it again if it wont suit by final release right. after all still along ways to go for that day..
    obviously though the "first person shooter" has to go if swords and magic get worked in!! but as its nearly a year in from 1st beta release and still no assets for fantasy games from tgc i wonder if that will matter much?
    lots of engines and game makers out there none much like this 1 though..
    i cant offer any ideas as i have said its hard to imagine a name that will suit it when its finally released to the public as a mostly finished product. imo wait 6months for renaming reloaded, see what happens to the engine by then maybe something will inspire you tgc?! if however you want slogans "dream it, create it, play it" "the simple engine" as its simple to use for all ages!.





    ReplyDelete
  6. What about Escape Engine - a homage to the demo and also describes building worlds to escape into.

    or

    Envision Engine
    Envision Game Engine
    Envision Game Creator
    Escape Game Engine

    If the main focus is on guns and shooting then Reloaded still sounds good so maybe...

    Game Maker Reloaded
    Game Creator Reloaded
    Reloaded Game Kit
    Game Kit Reloaded
    Reloaded Game Making Kit
    Reloaded Game Creator Kit

    World Master Reloaded
    Game Master Reloaded
    World Creator Reloaded
    Game Designer Reloaded
    World Designer Reloaded
    Level Designer Reloaded

    Game Builder Reloaded
    Game Constructor Reloaded
    Game Architect Reloaded

    ReplyDelete
  7. after looking into names of other game dev software pretty much anything goes
    Microsoft have "Project Spark"
    there is "Game maker"
    Unreal have the "UDK"
    "Construct 2"
    "Stencyl"
    Unity"


    So my Suggestion would be calling it
    Project Paragon
    Project Paragon - Game developer

    ReplyDelete
  8. Hi.

    I propose :
    Make your FPS or Make your First Person Shooter
    and the acronym was MyFPS

    Make
    your
    First
    Person
    Shooter

    Bye

    ReplyDelete
  9. Gonna be blunt here:

    Hyperion, Scorch and Breeze & Dark are all crap.
    Titan and Viper are ok, possibly even good. I prefer Titan to Viper though.

    If you've gotta have two words, definitely go with Engine (so... Titan Engine for example).

    FWIW, however, Titan sounds to much like the engine is enormous or massively powerful (as in truly AAA powerful), which it's not (and isn't meant to be), and Viper sounds like the engine is lightning-fast (as in, faster than current AAA games, which it's not).

    Personally, I think Reloaded is a perfect name, kept entirely by itself, no Engine, no Kit, no FPS. Just Reloaded. Plus you don't alienate current users or confuse people (which, believe me, is a serious problem for marketing).

    ReplyDelete
  10. Incidentally, I'm glad to see that everything is FINALLY being self-shadowed properly. Come ooooon up-to-date lighting systems!

    ReplyDelete