Tuesday, 18 February 2014

Winning On Tuesday


Having discovered Microsoft PIX (six years too late) I found it would crash out when I gave it my full engine. Turns out PIX is not the most stable creature at the best of times, but it took me seven hours of coding to find that out. In the process of 'making my code work with PIX' I cleaned up a huge amount of small DirectX errors which where there since October 2013 but silently failed in the driver. Having debugging modes set to MAX I could see all the dirty laundry of the app. It's now much cleaner.

I still cannot use PIX for the engine, but I can use it for all my smaller prototypes so it will still be a valuable tool when writing new techniques. I am also holding out for a version of NSIGHT that actually works too, but that will probably be down the road (or never) as I am not sure they care much for DX9 support these days.

On realizing I was not going to see my scene through PIX, I created my own depth scene debug view so I could see the hidden depth information from my occluders, and would you believe, I discovered the 'why'..

Those cyan colored shapes in the top right are 'supposed' to be my building occluders. Yes that's right, the ones that are rotated all over the place with scaling gone screwy.  Seems I have found the reason why some of my levels work and some show no occlusion activity.  You cannot hide behind a building that just rotated underground ;)

It's 3AM again so no time to go in and fix it, but the great news is that the fix should be very trivial and then I will have objects that don't suddenly disappear, a constant occlusion rate no matter how many objects in the scene and an excuse to move onto adding terrain to the depth map and solving the polygons for the physics terrain floor (related work).

Between compiles, I also managed to integrate a new installer script for the beta which means your BIN and DBO files will be removed when you uninstall, temp files removed and your precious levels and contain retained.  Just as the installer should be.

I also fixed a bug which caused levels with more than 100 unique entities to crash out, and added physics code to prevent objects from penetrating any surface which should please the placer of small keys :)

A special thanks goes out to DVADER (and R4D5) for helping fix the Reloaded scaling issue!  R4D5 ran off into the scene before I could thank him, he's hiding somewhere...

Also received my new UPS today which should provide 10 minutes of back-up power in case of total power failure (allowing me to save my work). Turns out it needs C14 cables to connect my devices, so not quite ready to set that up. With the new one in place, I can move the smaller UPS to the main router at the other end of the house which should provide power and surge protection for my telephone and broadband too, even when grid power goes. Neat!


  1. "Between compiles, I also managed to integrate a new installer script for the beta which means your BIN and DBO files will be removed when you uninstall, temp files removed and your precious levels and contain retained. Just as the installer should be."


  2. Excellent, all sounds really good!

    Let me suggest that while occlusion is definitely a necessity in it's own right, it shouldn't be needed to make a level that small actually run. That is, the get to the river level should run perfectly (60fps) on mid-range hardware WITHOUT occlusion.

  3. Brilliant work Lee.

    Don't forget about static and dynamic batching. These are real draw call savers.

    Also might be worth taking another look at your deferred rendering prototype. Once we start doing indoor areas there will be many more lights being used and that might help performance once we get to that stage.

  4. How safe is it to start working on a commercial game project in Reloaded now without being afraid that one of the features might get pulled off or disabled thus voiding some work?

    I have a number of projects that I wish to get started even though "Build Game" feature is not yet implemented.

    1. Do what I am doing. Make models sounds and huds etc. That way nothing lost and at worst you can sell the work you made

    2. Indeed, what science man said. It would be dangerous to begin working on anything more than play/test levels. If nothing else, the level save format is likely to change and make previous unusable. Really in its current state, this isn't a beta at all. It's alpha material: bugs everywhere, bad performance, heaps of missing or unfinished features. (For those that don't know, because I've seen some people that think otherwise, an alpha version comes BEFORE a beta version - in other words, the beta is closer to the final release than the alpha).

      Also the Build Game feature is in as far as I know. BETA5 I think.

  5. That's great news Lee. Sounds like you have cracked the pop up issue.

    Milo, 1.05 has the build feature in. Have you not tried the update?

  6. I forgot to ask - what are C14 cables?

  7. C14 cables are the silly little kettle leads you power your PC with. My UPS has nothing but a huge bank of them. Needed to buy converters to turn them into real plugs!

  8. Ah, I didn't know that's what they were called. Surely the UPS is just a whole lot (6-8) of standard wall sockets? The PC lead (the C14 cable) ends in a standard round plug (or whatever the British equivalent is), right? I'm just trying to picture what you're talking about.