Thursday, 11 November 2010

Engine upgrade progress

With a new PC build comes new responsibility.

Well, a new Intel i7 Quad Core running at ludicrous speed with an nVidia 460GTX (Palit) seems to shift millions of triangles without blinking. Certainly astonishing to see Combat-Helo over the city with all effects and TADS running at near fps cap (60hz) and only 20% CPU usage. Let the hand-brake off and it was soaring into the 90s and beginning to overheat.

It will shut down the card if left, so I'm having to find ways of throttling it. I think Star Trek Online had these issues too. Oddly, it only happens with the large map, and not the smaller test maps.

I've enlisted the help of gDEbugger, a handy tool that lets you 'freeze' and step through OpenGL programs, inspect states, frag programs (and recompile during execution), stats on state changes, bottlenecks, frame graphs, VBO composition, loaded textures and much more. I only have the trial version so it's a bit limited, so far it hasn't shed any light of the matter of the driver crashing (I assumed this was related to bad DDS files). I'm thinking there's some hardware fault on this card or a current nVidia driver problem with OpenGL4.0 cards. I'll continue to monitor, it doesn't seem to effect the other lesser computers I've been testing with.

I built simple test program in C++ and BMax to load in just the terrain (no objects) and that's all it need to crash the new build.

Lord of the Rings Online is now free to play in Europe and supports DX11 which is breathtaking with it's water effects. No other crashes except with the LE loaded map (editor loads and runs no problem). I hate these issues.

Apart from that, I've parked the cubic splines this week and have been continuing the slight re-structuring Combat-Helo to use Leadwerks 2.4, making it more modular as I go. I started last week with the new cockpit data and rolled that into one aircraft XML file.

Now I have a lot of quality audio from the airbase, it has me thinking about ways to integrate that to the avionics and helicopter classes. Trying to separate as much as I can from engine specifics to ease future portability to different rendering engines if needed. All of the instrumentation is just OpenGL, come this time next year I don't know if version 2.0 of combat-helo will be using Leadwerks 3.0 or something better suited to streaming larger terrains. But I don't want to loose the speed either. The Leadwerks 3.0 roadmap suggests great things might be possible if paged terrains can be streamed in as tiles that can be translated (for camera relative rendering). Speed and accuracy, having parts of buildings flicker slightly won't be acceptable to me in a second generation title.

For research purposes I downloaded a 3.5GB heightmap for the whole earth and parked that on my external project storage (a big cube that hums in the house, all lonesome, if only I could make it produce the eerie choir music from 2001 A Space Odyssey).

Looking through more jobs today, noticed Rockstar has opened a new office up in Edinburgh. I love that city, bloody cold but fabulous place to hang around...except for the local branch of Dixons.


  1. "if only I could make it produce the eerie choir music from 2001 A Space Odyssey"

    Doesn't it have a PC-speaker?? :)

    What do you reckon is minimal needed to run CH with all options on?

  2. It's a NAT box/cube, thing. No speaker on this one.

    Personally I think all the graphics options get in the way, bloom is often overdone, HDR is great for screenshots, godrays same.

    It ran comfortably on a 9800 GTX with a lot of the gizmos on, my laptop has a 9800 mobile chip and that ran faster than my old desktop.

    Can't really answer for sure atm but any 8800 / 9800 or equiv would be good IMO.

  3. Time for a movie showing off the new sound loop :)

  4. I want to do a bit more with it, separate some of the noise and sync the rotors. But I'll get around to it.

    Currently I'm part way through upgrading the engine into a new build and don't want to spend time on the older build. I'll try and put a short together in the next few days.

  5. Don't get sidetracked now flex !

  6. No no I wouldn't do that. It's actually useful to put short videos together, in the last one I spotted several non-critical bugs which was easy to correct. The advantage of having a video recording is the ability to step back and forth to see what's going on.

    It's not a priority since I'm working on the next big 'thing' in the project which I'm very excited about.