Monday, 14 March 2011

Thirty mike mike

The 30mm chain cannon is complete with the final additions of the muzzle flash and lighting effects. Each round sends a damage message to any object it encounters along it's trajectory, the applog window is correctly recording  entities when hit.

A couple of screens of the cannon being put to use over my test-zone. It flashes a bit, but looks pretty cool. The TADS follows the pilots view around atm to help pick out objects for shooting. It's quite a handy little mode. Hopefully we'll have a movie at the end of the week to show it in action.





The "Duke" would really benefit from a blurred rotor model option, if only for screen-shots as it loosed something in stills when it's not updating at 60 fps.

The Duke is the nickname given to prototype Apaches by the US Marine Corps, which never got far being navalised. The Marines sticking with the popular AH-1 SuperCobra. 



Blowing the bloody doors off

Shortly we'll have the pyros for destroyed objects, AD showed me some concepts based on the LUA crater object and fire emitter, which will suffice for now.


If you liked the old smokin tank effect from Longbow 2 then this might look familiar...


What's needed is some kind of programmable particle animation system that's available in other engines and y typically come with a bunch of re-usable assets. Alas we'll have to do without till one either comes along or we can roll something simple. I'll see if we can't get the turrets popping off too.

An XML object/damage database will be added later improve the simulation of munitions against different armor types.

Oh, funny story, a slight bug in the ground-crew re-arming system meant I was able to shoot myself with the Apache.  I ran out of ammo and had the grnd override switch on, before landing I triggered a 10 round burst of cannon which was queued up in the Apache waiting to go off when I re-armed it...on foot. Opps.


TEDAC Shader

The TEDAC also got a bit of love today with additional working 'lev' and 'gain' knobs which pass values into Aily's edge enhance shader seen below at max settings. It's just concept atm as I want a certain look to MTADS images which requires careful examination of other implementations I've seen and really liked.

I also linked the pilots video intensity knob to the TEDAC 'level' control which just controls image intensity, it gives you a means to control it from the rear seat if you have underlays active. And we need to do this as our MPDs don't have individual video level controls.


Thirty mike mike = 30mm

Saturday, 12 March 2011

Lighting work pass

I overlooked ambient lighting calculation in the scene.environment.sun update which makes for some nice early morning flights. It's looking more like it should now. Pretties are not my priority, polishing happens towards the back end of the project but with the model show in Italy coming up it's time to fix up some outstanding issues.

Here's a bunch of assorted screen-shots for the team to inspect the results.

*update*


As a little experiment I added Aily's edge sharpen filter to the MTADS image post-processor, this makes objects stick out from the background better. I'll either replace this or augment it with the light amplification frag shader from last year.

The 'MPD' glass wasn't working, it was receiving shadows and ambient light which greatly reduces the backing image. I've disable the MPD reflective glass material (for now) using the invisible.frag shader.

It picks out the rivets well.


Need to correct cockpit lighting here








Normal maps stand out a bit better.

It comes in non Longbow flavour


cockpit lighting correction, compare above
another ambient correction on cockpit

cpg over the shoulder view

All lighting and shadows are real-time

It's not all brown, just the time of day and map I selected for most of the shots.

Also managed to spend more time on entity damage, since we don't yet have a destructible object database, if the object doesn't have any armour data the 'hit points' for want of a better term are based on the AABB volume. Just a quick fix to add default data.

It's most satisfying to blow things up although were short on pyrotechnics. Flash bang is all we have.

Friday, 11 March 2011

Toying with odds and ends

Not been able to get much work done today. Shocking events in Japan and the mudanity of domestic tasks. I find it hard to keep up with current events as I really can't stand the inanity of rolling news broadcasts.

Dave was giving the Apache cockpit a bit of a polish, improving some of the canopy framing, I noticed more detail on the nuts. And he's finally working on the boresight device on the dash which I hate the look of. Polish passes come as and when we feel like doing something else.

While AD was working on that I tinkered with the HDR shader. I'm not liking it but I wanted to post some shots to show what a difference tweaks to post-process filters can make. My intent was to add a vignette effect which is a dark shaded region framing the image, you often see it on Top Gear motoring programs, FSX add-on videos, Apache Air Assault used it to add visual drama. Its like adding a perma 'g-loc' effect to your game.

"Who's messing with my medication?"
A great combination of post-process effect layers add visual production value to such games for relatively little effort. Leadwerks has fantastic post processing capability which is open to expansion and experimentation.

"I'm blacking out, hellllp" HDR and vignette 
I'll use it in videos but for me it gets in the way, although it might have use when we come to doing the PNVS and FLIR imaging. By ramping up the pixel intensity you can create some washed out visuals.




By simple tweaking of post shaders we can create different moods and looks. When we get to the 'final edit' we can lock down how we want the visuals to 'feel'. Although one interesting concept could be borrowed from the 1999 film "Three Kings" (dir David O Russel). This employed a negative bleeching process which related to the characters moral ambiguity, gradually wearing off as the film progressed. Colour intensity helped relate the story even if you didn't notice it. I don't know if this has been tried in a video game as a progression of the hero story, certainly war based shooters have copied the bleeched look in an attempt to try and look more like action movies.

Targets

Targets have been occupying my mind. Last night as I was finding new ways to blow up command tents in LUA script and throwing dozens of non-shadowed point light sources at Leadwerks wondering if it will slow down my dev PC (it's still hitting 60 fps with a full stream of tracers with individual light sources).

The slides from GDC about Battlefield 3 (now using a deferred rendering engine too) looked quite interesting, using cell based optimisation to squeeze performance out of the Frostbite engine. Slides here

A recent YouTube video showed soldiers running under transparent smoke with shadows (transparent shadows). Battlefield 3 Trailer - See smoke at 1min 30sec this is a feature of Leadwerks Engine 2.40 using pureLight technology (btw you don't need pureLight for this, it's part of the engine). Pretty amazing mix of global illumination and dynamic lighting. Something we tried for rotor down-wash with quite impressive effects.

Dave sent me some concepts for 'paper' targets which serve to illustrate how small people are and the difficulty of picking out usable information from helicopters.

Durka Durka!!?!!
Deadly cardboard cut-outs
Hey, it's a video game, we can do anything we want.
I don't know if Dave wants to plant an old school bus in the firing range or what. But I think we might go for a 'container' city. I sent him off to watch "Blue Thunder" (dir John Badham). See what he thinks.

Rather than go through each and every LUA file for models I think I'll opt for adding something to the scene processor that tags objects with the message callback used to register damage taken. Regarding how much damage something can take, I find the .INI system for models still works well for this kind of simple information. If it just records armour type and thickness for each quadrant you can use some simple processing to work out thermal and kinetic penetration requirements. Again, see the excellent "Physics for Game Programmers" (Grant Palmer) published by Apress.


Flight Sim Show - Italy

Fred is attending a flight sim show in Verona (http://www.modelexpoitaly.it/eventi-pvi.asp) next week where he's organising an FSX helicopter event. We'll try and get a new video showing the firing range and weapons deployment ready for that.

Nice one Fred, it looks like a lot of fun.

Happy Birthday ZX-81 (30 years old)

For many young people it was their first computer and moulded a generation of computer geeks. I recall selling all my CB Radio gear to buy one which lead to my 30 year long affinity with computers.

1 kilobyte of RAM as standard. A tokenised BASIC programming language and available in kit form. It took a whole evening to solder all the bloody resistors into the board. Programs were save and loaded from cassette tape.



As recognition of the origins of home computing and game development in the UK our studios logo was derived from the block graphic characters available from the keyboard.



Advertisements (shown below) for the kit and pre-built versions promised delivery within 28 days. As with many Sinclair products, the shipping times might as well have said, "two weeks". Interesting to note the thermal printer, (I still own one of these with a couple of rolls of aluminium thermal paper, quite rare). The printer made quite an interesting smell during use as it's twin heads (metal contacts) burned the surface of the metal paper.


Happy Birthday Zed Ex. And I thank you.



The "Very Big Cave Adventure" for the Sinclair ZX-81.

10 PRINT "YOU ARE IN A CAVE (N,S,E,W)?"
20 INPUT A$
30 GO TO 10

Thursday, 10 March 2011

1000th screenshot

My screenshot folder count reached 1000 with this one while testing point lights on tracer rounds (looking more like a TIE fighter belching lasers than a military helicopter). It barely puts a dent on the FPS performance thanks to Leadwerks deferred rendering pipeline. Gives me high hopes that we'll be able to exploit this to good effect.

1000th screenshot - "don't shoot that green **** at me"

Tracers and cannon impacts

Staged a ground fire-fight to test the cannon rounds. Impact events are shown visually as cubes, as befitting Tricubic. In the below screen-shot you can see one of the cannon rounds streaking past the cockpit (that's one of the tracer objects). I'm keeping in the tracer objects as it really helps get a feel for what you're shooting at although I'll also add a flag to make them invisible on the client.

Muzzle velocity has been set at 805 meters per second, the cannon fires 625 rounds per min. Gravity is a simple function of time in flight * 9.8 mps.

Tracer fire
Each white cube is a previous cannon round impact, there's an 'Apache' shape floating in the middle where one of the aircraft used to be. Will replace these with decals or some other feature.


Apache Cubed in spotlight of nearby aircraft

New avionics 'test' site from gun cam view
To do, additional symbology and cannon round dispersion pattern, however you get a natural dispersion pattern from small differences in aircraft and gun barrel movement.

Next up, killing entities and making things go boom.

Wednesday, 9 March 2011

Team Challenge - Day 6

The cannon is almost working, a little matter of adding the muzzle flash to the THelicopter class. Gun burst limits are in effect, audio, projectiles follow a simple ballistic trajectory which we'll improve. A gravity only model simply applies gravity at 9.8m/ps to the y (up/down) axis. To this we'll add drag.

On firing a round, the velocity of the barrel is added to the projectile and off it goes till it hits something or translates more than 1200 meters.

However what we want to do is have the gun accept a range and elevate the barrel accordingly (range coming from another system such as TADS, FCR, manual input). However these are refinements we'll add later.

The velocity of each 30mm shell can be imparted to a struck object, in a multi-player environment this is a tricky thing to pull off.

Visuals for the gun need to be added, flash, tracers and impact, assets for which are ready but need to be integrated. Then we'll need some damage effects, flame, smoke.

Work on the firing range continues

More working on the training facility, and very impressive it's looking this morning too. Loosely modelled on Hooper Stagefield and Molinelli Stagefield in Alabama (part of Fort Rucker). Here's a sneak peak, fresh from Dave's hard-drive:



Lot of hand tweaked AO mapping there


Observation tower with door knob and hinged door
Every target range comes with an observation post.

"There's something on the roof"