Wednesday, 31 March 2010

Rockets and Rails

This entry is not about the life of pioneer George Stephenson. The pylons seem capable of configuring themselves, got some elevation in there for aim assist if/when we add that.

I removed the LUA based weapon loading, it wasn't working out the way I hoped it might. There's a level of disconnect between LUA and the game-engine which added to the complexity of something that is already complex, when it didn't need to be.

Can finally get started on the arming now. Got a little sidetracked with testing what I call compound entities which seemed like a good idea but don't actually work outside of the editor due to some engine bug. It would have been a great way to make villages but we've adopted a different approach. Both would give us destructible buildings.

* update * Stores jettison is working too well. The whole things comes off the rail...and drops through the floor. All corrected. Rail and pod weights are effecting the centre of gravity a little too well, that's going to require a bit of tweaking to correct. I need to check my notes on stores weights and extrapolate how heavy these pods and rails are when empty. Then I had to create a custom physical shape to fit flush with the Hellfire rails as the connectors and actuator were causing collision events to trigger. And it turned out that my function to set those collisions was never called, it was removed after the 2.31 engine update. Restoring the function worked a treat. Now I need to add to the SFX required list, store jettison and stores hitting ground.

Overall it's been a frustrating evening but a result at the end. Lots of fixing up to do to complete the arming, might take until the end of the weekend before it's fully functional. End of April is pencilled in as the blowing things up milestone, the campaign map is well under construction and I think we're almost at the point where the campaign data that sits on the map can start going in.


It's bloody hard work, often tedious but the results make it almost worthwhile. Tomorrow however I have to face a reality I've not been looking forward to. And it might scupper everything.

Tuesday, 30 March 2010

Blade flex redeux, campaign news and compounds

Last night we added rotor blade coning which resulted in realising the helo was just a little slightly off axis, now corrected. The Apache has been attacked by an angle grinder on more than a few occasions, might be showing signs of wear.

Some LUA issues came up which erroded confidence in relying on it for so much. I've ditched arming through scripting. It's prone to misuse.

The pylons are now ready to take the 3D models of the assigned loadouts leaving the final stage of the arming process and then the WEP page for the avionics which I can't wait to get back to.



Dave has been working on compounds for the region...


And he gave the scoop on the campaign we are featuring in what I hope is the first of many...

Herat is a very pro-Iranian province and historically Iran has long believed it to be a province of their own. The local warlords are all Iranian funded. Most of the natives of the area are Tajiks, they speak Persian. When the Taliban came to power, and attacked Herat, Iran very nearly invaded Afghanistan. They had apparently massed along the borders back in 2000. They canned the plans after the NATO invasion of 2001.

Our campaign follows on from the current real world conflict in Helmand province. The concept is that should the Taliban retreat, they might choose to retreat north-west into Herat. NATO forces would follow, expanding their position at camp stone south of Herat, and begin engaging Taliban positions. Local Tajik civilians get caught in the crossfire, Iran decides to move in to backup their warlords, and secure the civilian population. One too many stray arty rounds and NATO is in a full blown conflict with Iranian armoured forces.




That's it for now.

Monday, 29 March 2010

Random screen-shot of the day

Still working on the loadout system, as it happens I totally forgot to do the pylon classes. While I'm working on polymorphic classes to deal with that (lot of cases to think about). During lunch I played with some more dust effects, this time for rotor downwash. This uses the roaddust pixel shader so it picks up the colour of the terrain it's currently over.


With no wind vector applied, brown-outs, where the crew can't see outside are occurring. Not sure why the canopy isn't blending as it should, it's located in the same transparency world as the dust particles. I'll have to check the shader settings in the material. Back to pylons.

Sunday, 28 March 2010

Menus and Weaponeering pt2

I was thinking over some official forum posts and one gentleman indicated that they were partly colour-blind. Accessibility issues are something I think about whenever I'm writing software or web site design work so I kicked myself when I didn't apply that to the interface. I added some GUI elements that link current selection to the tooltip, this should avoid ambiguity in the menu system.



So that's all working  as it should, just have to fix up the weapon selection system which will be based loosely around this mock-up...

We has some debate about walking around in ground mode clicking on weapons displayed on the ground like in the above picture. Or some other mechanism involving a fixed camera that cycles through each pylon and a vertical list to choose from.

On the whole, there's not much difference in workload, both are fairly trivial to implement. It's become a style choice. But I'm torn between traditional as above, or flashy console panning cam and up/down list.

Either way it's a far cry from Gunship 2000...or is it?

Which method will I implement? Stay tuned for the next thrilling blog post when all will be revealed.

Saturday, 27 March 2010

Player profiles

Writing this up for reference later.

Thinking about players, names, callsigns, current rank, medals, changing characters. The 3D base metaphor  avoids a lot of GUI work. Using 3D lockers (since I have one to hand) is perfect. As it turns out, as easy as setting user keys on Locker entities. Simple.

Menus and Weaponeering

On the whole, I'm starting to warm to using text for user options, the nineties style. Dave showed me some icon screenshots from ArmA and remembered why I didn't like them. Is that a steering wheel? Desk fan?

Below is an in-game shot showing the menu and data displays for helicopters. Not unlike something you might have seen in older games using pre-rendered art. All interactive objects around the base will have these. If you don't want the floaty status text, CTRL L (for labels) is your friend.

Eventually each helo flight will pull it's call-signs from a datafile (Twodogs, Ugly, Badman, Goody etc.) which will go in placed to the current auto-generated ID. Status refers to the ground crews work time to prepare the helo for it's next sortie. Fuelling and weaponeering.

The play process is typically pick-mission, go to aircraft, pick weapons if default not to liking, hit the fly button. It's been the same in games from Wing Commander to Black Shark. Pretty much universal. And we don't want to break that. Reading how UK operations conduct Apache helicopter turnaround, the Apache lands, is guided into an arming bay and re-armed immediately so it's ready for the next flight whenever that may be. No hanging around waiting for a bird to be armed if you're urgently needed in a support action.

To facilitate this into the traditional game flow, brief>arm>fly, the ground crew servicing timer starts after landing and shutdown. But as the player may change weapons seconds before flight and we don't want to delay, we'll let the players arming choice count as the arming done after landing. With a realism option in to have "Real-time arming" for sim pilots who love to thrash themselves with birch-twigs - metaphorically speaking.

Friday, 26 March 2010

Just couldn't keep away today

I had a couple of hours with Just Cause 2 which I hesitate to recommend, it a really fun game but you're stuck playing an unlikeable character. Cheesy dialogue abounds and that's no bad thing in games, I scripted plenty of cheese for Longbow Combat Helo. Think about the lines of dialogue from old games you might remember.

The Playstation 3 was needed by the children for Final Fanstasy n so Rico, Scorpio (whatever the slab of MDF you play is called) was parked for the evening.

So back to doing some little things on the project. There's an expectation of standards, a language of gaming to follow. To guide players through the work-flow by implementing cues and guides, can something be too obvious? I think so. I might expect to see the following (see picture below) on an XBOX or PS3 title but not a Combat Sim. Maybe some funky looking icon suggesting "mount".


The advantage of icons over text is that they don't need to be localised. English, French, German, one icon says it all, even if you don't understand apparent meaning the first time, you associate the action with the icon afterwards. So I think we'll go down that route.

So what is the internationally recognised symbol for "Board Helicopter"? Agghh, just stick any old crap in there, people are smart, they'll work it out.

Thursday, 25 March 2010

Canopy doors exterior done

Check off the list, working external canopy doors, flip up/down, will indicate available crew position as well as letting you chat to your mounted team-mate while you're on foot. You could even arm the pilots chopper for him.

Internal doors and wipers next followed by external lighting system. Hopefully we'll have the cold start-up sequence in a few days, we need that so we can get on with more vital systems.

(I just noticed the text on the rail is reversed)

Just BeCause 2

No work will be done tomorrow. Just Cause 2 PS3 is released. The acting sucks, the actual game doesn't seem all that hot from the demo either, but the stunt playground aspect is brilliant.
Added engine fire/hot start visual effects to the Apache.  On the whole it's ok but there's a bug with emitters effects in LE2.31 which will crash most of time without logging any error. So we'll park this for now and turn it on again when that's been fixed.

But when it works, flag an engine fire and...we'll even throw in some smoke later for good measure. And we can do the same for gas bottles and other kinds of damage.

Tuesday, 23 March 2010

Research and development

A whole day of pure research and experimentation with the core renderer. I wish I could say I had something great to show for it. But it was interesting.

I did complete the remaining cockpit database. Made some improvements to the handling and animated the crew cyclic/collective controls to match user input.

Here's something you probably never get to see, checking mapping co-ordinates.

Greenzone wip images from game.

Just wanted to post these screens from the SimHQ Dev Diary. I think they show the incremental improvements being made. And looking a little bit better than what I had in mind at the start, which was Longbow 2 with trees (that's understatement btw, I'm really happy with the results so far).




Monday, 22 March 2010

ENG page fixed


It had a slight problem that was causing hiccups down the render chain, now fixed. Shouldn't be too long before we can cold start from the pit and get all this working as it should, then we'll see if the backend power simulation is doing it's job.

The error only showed in debug builds. I'll align those button markers while I'm at it. (Should I tell Dave that MPD button#18 should be marked "M"? Think I'll wait till later, it's not important right now).

Sunday, 21 March 2010

Not much, slow Sunday

Easy day to today, working on the helicopter internals, adding the ability for systems to send messages back to cockpit switches. Posted a list of features we feel would greatly improve productivity in the Leadwerks Editor, it's hard work, mostly involving editing data in Photoshop. David's terrain progress continues regardless, I got to fly over the production wip for the first time, certainly feels like we're heading in the right direction. Some vegetation, structures and it will really start to pop.


I threw some trees in for effect (incorrect models)



Back to work with some Mystery Science Theater 3000 playing in the background.

The outside in

After success with the switches it's time to make external helicopter parts visible from the high-detail cockpit. That is, seeing the outside from the inside.



Well the joins are not perfect but it adds a lot to the experience and sense of cockpit space. Especially with the rotors casting shadows over the pit as they beat the air senseless. I stripped it down a bit since this shot so the forward hull is missing. Even the screenshots are out of date by the time I post them. But at full res, with the sound, the shadows and trackIR, it delivers, and call me biased but I'm not kidding, the most fantastic sense of sitting in an Apache helicopter you can have on a desktop. And it's only going to get better.

And I'll include the following shot as I like it so much: this is what you see when you look over your shoulder. Enough to make any tank platoon weep.


And finally in Tripplehead2Go vision (120 degree field of view)...I currently do all the helo programming and testing on my small forest programmer art test track. Timed nicely to get two rotor blades into the shot (pure accident).

Saturday, 20 March 2010

More playing with terrain

Dave was experimenting with some techniques for representing the green-zones. Still experimental and not earth shattering (no shadows in this but they do make a difference). The vegetation models we have turn out not to be to scale, that's more work to put right.

The oaks of the region are smaller than those in Europe but the canopy has a lager spread. This makes them appear more lush. Trees in games tend to be *much* larger than life to reduce the object count and fill up screen space. You hardly think about them. But next time you're playing a game with trees in it, stop and look at the size of them. Count them.

production terrain wip courtesy of DH

Can't help but feel this would be so much better with just a couple more blended texture layers and a few more tool options. But I think we're getting better as we go.


Another pit stop

Making start on pit illumination, switches etc. Tweaks made to the current pit geometry has made an impressive performance boost. Very pleased.

Let there be lights. And working switches...

Yes, even the APU cover flips up. Next, send cockpit switch messages to the TAvioncs class so systems can begin talking to each other. And I need to restore the cockpit state based on the helicopter state class. I expect I've got a few to add to that one lol. Not touched the TState class in months.

Friday, 19 March 2010

A little downtime - personal thoughts

The most relaxing thing of all has to be making little numbers blink across MFDs. That's the most relaxing thing to program. Don't have to worry about rendering speed, or 3D, you're in this this little retro world of vector lines and character sets, halcyon days of 8bit programming. Quite looking forward to getting back to that.

I saw on a forum that Gunship! is ten years old. I always feel somewhat guilty over my terrible (in every sense) review. Still makes me cringe. It wasn't bad for what it was.

I do hope folks realise that Combat Helo is not going to be a military spec simulator, it's a worry that my idea of the game isn't going to be other peoples idea. As an indie group of only a few people (2 mostly atm) and a timeline of less than a year, to prove that we can make sims fun again doesn't require intense levels of detail. Details you're never going to look at, or are important to entertaining people and making them feel like a super-cool pilot for an hour in the evening. Or share that feeling with others. To prove the point, we're going forwards by going backwards. We will succeed or fail. Either way we tried.

*shrug*

Cockpit clicky sounds

Lot of the MPD buttons and COMM panel knobs now twiddle with appropriate sound effects. Although I'm not sure what David thought about my farmyard animal noises that I'd programmed into some of the switches. His response was just "moo".

Thursday, 18 March 2010

SimHQ - Official Forums

Something I should have mentioned it earlier. A heads-up that SimHQ is hosting the official "Longbow Combat Helo" forums.

Here's the link again...
http://simhq.com/forum/ubbthreads.php/forums/216/1/Longbow_Combat_Helo.html

Where you'll find updates from Dave the part man, part machine, modeller of all things Combat Helo. As well as a more two-way discussion of the project.

First look at virtual cockpit - short video

First look at the TrackIR enabled virtual cockpit, I even get to play with a couple of switches. All very much a WIP but we're getting there.

Dave's been busy in the editor

That's the major east/west road in the region looking ... east I think. Looks like some good helo terrain to the north and south, clear views of the road.

I dread to think how long it's going to take to populate that at low level with rocks, veg, poles, compounds.

Can't help but feel this would be so much quicker with a few enhancements to the tools. Importing veg maps and so forth.

Still, we have to work with what we can.


Technodrool. Got twenty grand to spare?

Coming across this exciting new 3D engine called, Unigine which would be a nice to have. If only for the promise of having huge streaming worlds and really powerful toolset. It would let us do some incredible things, at a price.


A man can dream.

Wednesday, 17 March 2010

Tuesday, 16 March 2010

Clickable cockpit

The pilot can now click all the cockpit switches. Now we're putting together the database to link each one with an action and animate the clicked control correctly. Should be ready in a week.

Fixed a small issue with TrackIR and IHADSS. Improved Vsync settings.

Monday, 15 March 2010

TrackIR, cockpits and mouse control

It's enough to make your head spin. Move your head, look at panel, keep it still long enough to move the mouse to click the tiny butt...darn I moved.

There must be an easier way than this. What about combining the mouse mode and disable TrackIR for the duration of the action? Hmmm. Not an easy one.

I cleaned the UFD font so it's less blurry, still hard to read, and the MPD screens are a more natural colour though smudge free. The cockpit has been optimised into a hirearchy to ease performance which seems to work well. I applied the pilot/cpg_root "show and hide" fix. Really helps.

More work on the mouse to cockpit interface tomorrow, and I need to nudge my MPD button labels to make them match the physical buttons. Here are a screen from today with added TrackIR 6DOF head tilt.


Displays are almost complete

A few niggles about which way round things should be. The UpFront Display is now working as it should. Buffers are being created and freed properly, a LUA bug squashed.


Dave is starting prelim work on the interactive base objects used in game flow, briefing, arming, campaign progression leaving me to get on with finishing up the helicopter wiring job. A lot of code has been waiting to show itself, now it has the opportunity. I must fix the TrackIR support though, I think I busted my pro-clip. Darn. Time to get on with it.

Sunday, 14 March 2010

Cockpit integration begins - MPDs working

The hi-detail cockpit is being plugged into the Longbow. It will probably take a week of work to get all the various bits hooked up. The MPDs work fine with it.


Now with illumination...but what's this? Upside down? We can fix that.


Cockpit in-game shots

The cockpit has now been exported to the game engine. MFDs not working yet, that will happen when we do the integration with the helicopter avionics.



Saturday, 13 March 2010

Controls need some tweaking

I spent some time mapping controls of an XBOX 360 joypad seeing what the minimum would be. After launching the game and spawning in the forest area I was able to sprint to the pad helo, quick start, take off, fly a wobbly circuit and land (pretty  hard). Exit the aircraft and leave the game via the portaloo. So getting closer to the pick-up and play.

It's easier for HOTAS controls, more inputs, more precise and some joypads have quirky input values on some axis (triggers and D-Pads for example).

So it's a good result. It's still difficult to fly, akin to a radio-controlled chopper using the twin thumb-sticks. This will improve when I get back to working on the flight dynamics and adding the pilot helpers (set height, hover hold, transition, bob-up).

To do

  • Add control profiles to make for swapping controller mapping easier. 
  • DeviceID to port mapping
  • Hot key to load mappings on the fly instead of re-launching game.
  • Exposing PowerTrain class to user input, should enable ENG page to work fully.
  • IHADSS torque bar (currently missing)

Dave's working on the wipers and preparing the cockpit for import into the game. Should be spectacular. In theory it could be integrated as early as next weekend which would be on track if we had gone with plan-A for the outsourced AH64D, which wouldn't have been as good.

Still not feeling great, tummy bug is going around town. Everyone's coming down or had it.

Friday, 12 March 2010

Introducting TEDAC - TADS Electronic Display and Control

First previews of the TEDAC unit installed.




"Being in the front seat is like having your ass strapped to the nose of a bullet"

Forgive the dumb quote from the equally dumb movie "Firebirds" (aka "Wings of the Apache").

A few changes to do but the bulk of it is done already. The TEDAC is being made from scratch and will replace the middle MPD. And I could go on. I'm inserting the new input axis code right now, the key commands are done.

OpenGL 4.0 to support antialiasing with deferred rendering

Should make PCs in the not too distant future running LE engine programs look that bit sharper.
Announcement at this Link to Khronos Press Release

Thursday, 11 March 2010

Do you like cockpits?

The real-time cockpit for the pilot is pretty much complete and the CP/G position has been started. I think this is a case of doing less with more. Managing to cram in a wealth of detail under the poly budget. It will be a couple of weeks to get this in game and the controls sending signals to where they are supposed to go.

You'll have another use for that dual-throttle controller now.

Controller mapping


The InputMapper class is in. Hopefully it will prevent little accidents that can occur with keyboard controls....*whistle*




Fixed the user config loading at start (was missing). Corrected an error that was causing the graphics mode to be initialised twice resulting in buffer errors for avionic displays.

Experimented with switch lighting possibilities. Some ideas to explore to find something that looks really good for low performance impact. And the AH64D pilot cockpit is nearly complete. The CPG shares a lot and hopefully the whole pit will be ready soon. That should coincide nicely with the completion the input system and then we begin mapping cockpit elements to that.

Wednesday, 10 March 2010

Pilot cockpit area is looking healthy. Dave has managed to include a great many details, the offset of the seats, different heights, logos on the pedals (some variation here).

There's 36 polys on each nut and bolt holding the boresight in place. 36 polys that could have been spent on the hula girl I wanted, or a cup holder. Sheesh.



On top of this layer, 3D buttons, switches and knobs get placed. It's still well within our poly budget. But 36 polys for those bolts? We're clearly targeting this game at jingoistic hardware store owning crowd.

The collective received some love. Thrustmaster, I'll have one of these please :) make that two, David deserves it (but I wouldn't mind one either). He gets first dibs.
36!