Jump to content
  • entries
    165
  • comments
    199
  • views
    87,370

About this blog

Combat-Helo Dev Blog

Entries in this blog

Compounding a problem (child object counts)

Compounds, the Herat map contains approx 500 of them. Each one consisted of a number of walls and out buildings. Turns out, these sub objects chewed through a bit of processing time. In effect there were 7500 objects getting worked through. That's a lot and it was reflected in the performance in LE 2.31 on a fully dressed map.   By collapsing the compound models into a single object for the lower LODs we saw a large increase in fps in LE 2.31. Although LE 2.32 shows not much difference (it's a

Flexman

Flexman

Out-takes, when cockpits go bad

My Dennis Norden bit. Out-takes from today. Most programmers we have a few wilco tango foxtrot moments from time to time. Here's a few from today. Starting with "How not to render lights to a buffer."   The canopy glass makes for an interesting effect. Next, an interesting effect you REALLY don't want to see....ARRRRGHHHH....   This is me getting a transform wrong. You can almost see the join between the high detail cockpit and the Apache exterior model. Mind the gap? I did fix this by c

Flexman

Flexman

Command Tent - wip

We're not trying to re-create Armed Assault, or even build some form of Helicopter MMO. Our plan is to take the old school 2D interfaces of military bases and create 3D analogues. Mission assignment and planning is done in the command tent. This is still exploritory, we have a number of office furniture elements planned, some of which we have tried in the editor to get a feel.   There's more furniture to come. A mil-spec laptop/terminal, interactive map on a board (that's a copy of your person

Flexman

Flexman

Drivers again

Seem to be having performance issues with the new nVidia drivers 257.21   I noticed the reported OpenGL version has done up from 3.2.0 to 3.3.0 Repeated launching over an hour will sap the frame rate to around 1, yes one. No apparent memory leakage. But other games are fine. Also the editor will remain unaffected unless importing the Apache model where it will sometimes exhibit a black skin.   So there's some combination of factors I need to understand, the current Apache model with it's re

Flexman

Flexman

World of Warcraft - Blizzard has internal leakage

Just wanted to report this to the blogosphere. I'm not a Wow player (I have an account but I don't play very often) but my wife friends across several raiding guilds play from time to time.     They've all been subjected to hacks. And I think the leak is at Blizzard.     Over the past few weeks, everbody we know, including friends of friends have had their accounts hacked. Including mine, which was inactive, but had an "authenticator" (a hardware device that generates a new 6 digit number

Flexman

Flexman

Baked AO, ambient occlusion

Today we looked at a neat little program called SMAK which is a neat little program for generating normal maps for low poly models by using high poly models. It also can bake ambient occlusion shadows onto your diffuse textures.   This is also a feature of 3DMAX so Dave tried a little experiment.   Before, no baked AO   After, with baked AO You might want to click on those images to see the full sized renders. Certainly the cockpit area could benefit, and the buildings we have with ground

Flexman

Flexman

Mipmaps caution light. Check your drivers, sir!

Periodically I'll create a debug build to see if any OpenGL errors popup and sure enough one did. Tthe MFD buffer mip-maps are created after rendering the contents with a call to buffer.GetColorBuffer().GenMipMaps()   Not much had changed except some additional meshes, animations, all the specular maps, actually quite a lot of material changes to the interior and exterior this past week. But the debug ran fine after building and running it on the laptop. My desktop wasn't having any of it.  

Flexman

Flexman

TrackIR Pro-Clip, shreded

The 3 active IR-LED head-tracker clip was never made of study stuff, constantly falling apart as soon as you put it down on the desk. Now it's finally disintegrated, I might have to resort to super-gluing the tattered remains.       Microsoft Kinect apparently shoots out hundreds of IR beams in a grid pattern and uses that to build a set of data points from which the software can pull out a skeleton, track body motion. It's a motion capture studio in a box. Brilliant, for indie game producti

Flexman

Flexman

Wipers and material updates

Another "gravy" feature which I wouldn't have spent time on had David (part man, part 3DSMax) hadn't made it so easy. He detached the existing low res wipers from the exterior model and created a single 100 frame animation cycle of both wipers complete with slight wobble. The two blades operate at different speed ratios too.   The cockpit wiper control was set to send it's setting as a key to both the exterior and interior cockpit model. Allowing for dual speed wiper control and a park mode

Flexman

Flexman

More Apache work

Our Apache received more love today, the cockpit panel textures suffered a little from DDS compression acne. But by increasing the bits-per-pixel to 24 and using DXT1, we get better quality results using a texture half the size as a larger one using 8bpp compressed. And smaller texture memory footprint too. This only works for some textures.   Additionally specular maps were added to the cockpit, now it reacts to light in a much more dynamic way and the scratched glass blast shield and canopy

Flexman

Flexman

Adding audio for AI helos part 2

We're going to edit the LUA script for the CH47. Helicopters are somewhat complex and incredibly noisy machines, you thought your XBOX 360 was loud?   Yesterday we trawled through some online video, ripped the soundtracks and used Audacity to get some loops of the compressor, and rotor beat. That's two discrete sounds that when mixed together should give a good representation of helo noise. Using Audacity it's possible to mark a region, and use that as a 'sample' to remove that noise from anot

Flexman

Flexman

Adding audio for AI helos

Sound is an impressive tool. And something I worried a great deal about from the start. Just adding various audio sources to the Apache, from the Betty, to various computers tones, compressor noise, all adds to a sense of cockpit space.   The Chinook needs similar attention, as a non-hero aircraft (currently a non-flyable). The game engine uses OpenAL, which employs a system of 3D positional audio. In the Apache most of the noise is behind your head, looking left and right appears to pan the a

Flexman

Flexman

Blade flapping and hinging

Making notes on discussions of blade flapping.   Definite gravy but easy to add. Currently blade flexing is done via blended animation controlled by the simulation sending key values to the model. The CH-47 has quite a large blade system (almost doubling the length of the helicopter to 100 feet) and low ground clearance.   Most of the droop comes from the flapping hinge Dave has indicated in white (adjoining the red highlights). These pivots allow the blade to horizontally move upward when

Flexman

Flexman

Engine start-up and event system

David posted up some more CH47 pics around SimHQ and Facebook and possibly elsewhere. Lot of detail work has gone into the engines, rotor head and trying to get the smoothing correct at the rear of the aircraft.   Looking forward to getting those blades turning, the sound thumping and the dust is flying.   I've been doing a lot of logic work in the Apache in the past day or so. Also full of a head cold which tends to make me cranky.   Sat in the cockpit, the APU sounds like a vacuum cleane

Flexman

Flexman

Rotor heads will like this...rotor head

More detailing on the rotor head, details on the flap, pitch link and coning hinges.   Assembled audio for the CH-47 today in addition to implementing the Apache cold-start procedure.   Source

Flexman

Flexman

CH-47F and updates from the last few days

The CH-47F has had a lot more work done in the cockpit area. The seats are looking remarkably clean, I just need to get a child to play inside with some squeeze boxes and a can of 3in1 oil.   The Chinook is smaller than you might think, with a fuselage approx 50ft long, it's shorter than the Apache which is 58ft long (approx). I was surprised by that.   Networking   Today saw successful Combat-Helo net connection between the Leeds UK and Bangkok in Thailand. Getting the link to work throug

Flexman

Flexman

Bug fixes for today...

Connection time-out now resets the connection status to "disconnected" Apache canopy glass, lighting issue fixed GUI input controls that receive key-presses still occasionally hogging the keyboard. (fixed) Some speed improvements to OpenGL DrawCurve function.   New GUI style as submitted by Spac3Rat in place. See Facebook image     Next week: Back to weapons and more multiplayer functions.   Source

Flexman

Flexman

Windows 7 upgrade

A need to test Combat-Helo on Windows 7 resulted in a TESCO purchase of the Windows 7 Upgrade and 1kg of bananas (a rich source of potassium).   Running any Leadwerks program on a fresh OS install results in an EXCEPTION on launch, only two steps required to get it working. Run the OpenAL install then update video drivers. Simple. Everything worked as it should.   Source

Flexman

Flexman

SimHQ CH47 Chinook progress pics

Dave has put up some more preivew pics of the CH47 at SimHQ and on our Facebook page. SimHQ CH47 Chinook progress pics   CombatHelo on Facebook   Source

Flexman

Flexman

World clocks now in sync

The game world clock is now synced across network clients, time advance and day-night cycles locked. Accuracy is down to round-trip packet times plus a few milliseconds. More than enough to keep entity spawn times and waypoint navigation in close sync.   I'm as yet unsure how often to send clock updates, currently it's every half-second which is quite aggressive, it's easy enough to tweak. Clocks run on client and frame-rate independent so they don't need to be updated often. They just need t

Flexman

Flexman

Can you tell what it is yet?

Dave's been busy building the unsung hero of Afghanistan and other operations around the world.   Rolf: Can you tell what it is yet? ;-)   It's a non-flyable but will feature prominently in the game as you'll be tasked to provide armed escort for supply, insertion and extraction missions.   Much time has been spent correcting smoothing errors. Brilliant work. We'll be adding the same functionality to the rotors and rear door using LUA scripts. This morning we were looking at the various fl

Flexman

Flexman

Time is an illusion, game-time doubly so.

Combat-Helo presents a persistent world, day-time / night-time mission capability where you can stand around your base with your thumb up your rear-end. The game's heartbeat is the day cycle clock from which all missions, AI entity start/stop times, spawn times. All operate as offsets from mission start time. This presents the issue of real-time vs game time.   To offer variety of day/night operations in a real-time game could be tedious. I want to fly a night mission, but it's noon, I can't.

Flexman

Flexman

Little update, Chinooks are round.

Spac3Rat sent in a nice new game icon as well as two editions of his Rotorwash magazine from 2006 to read. Fascinating look at building helos for FSX, one thing we learned about FSX models, they don't work too well for our kind of real-time work. But fascinating all the same.   Dave is busy in 3DMAX building something that looks very much like a Chinook. I'm making incremental improvements to the GUI system, panels can now be roughly dragged around without risk of "mouse droppings" (the window

Flexman

Flexman

YAG - yet another gui

I wasn't going to add a complete gui system, we don't need anything complex. The address book needs to accept input from mouse and keyboard and when I thought about it, the planned map viewer/editor will require it too.   It had to be a simple gui system with input focus and keyboard entry. Since the chat console had functions for filtering keys and the input mapper directed keyboard input into it when active it was simple enough to change it to send to a gui class and whatever control input h

Flexman

Flexman

×
×
  • Create New...