Jump to content

Longbow - Combat Helo


Flexman
 Share

Recommended Posts

screenshot_123.jpg

 

We've been making good progress with complex entities in Leadwerks engine. I thought I'd share a few lesssons learned which may not be best practice but have been useful all the same.

 

The most complex entity of the game is the cockpit area of the two-seater combat helicopter. Our model which has working avionics and rudimentary flight model features exactly 340 user click-able controls in a model that has close to 34k polygons and other shapes.

 

Using CameraPick() seems easy but often, child objects in a complex mesh are hidden by others. We elimitated any problems with camera picking by naming all interactive objects with a simple keyword embedded in the object hierarchy. A small section of the list would read...

 

  1. cpg_comm_switch_hfon
  2. cpg_comm_switch_ics
  3. cpg_comm_switch_ident
  4. cpg_comm_switch_iff
  5. cpg_comm_switch_master

 

And passing a filter function in CameraPick(...) to only return objects with "switch" returns a good result everytime.

	Function PickFilter:Int(ent:Tentity)
	If (ent.GetKey("name").Contains("switch"))
		Return 1;
	End If
	Return 0;
End Function

 

This results in perfect picking of all switches within a busy model.

 

Another thing we did to improve performance by a few percent was organise the hierarchy of the model so areas not visible to the player were located under a parent object. And we would "show()" and "hide()" that parent accordingly.

 

Some thoughtful organisation of detailed assets can yield benefits in terms of ease of programming and performance.

 

I hope this might be of some use to others.

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

Our model which has working avionics and rudimentary flight model features exactly 340 user click-able controls in a model that has close to 34k polygons and other shapes.

wow.. simply amazing... :)

 

and thanks for the tip... good info to know...

Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590

LE / 3DWS / BMX / Hexagon

macklebee's channel

Link to comment
Share on other sites

Here's a short video of it in action with TrackIR (no chance of keeping the camera still there).

 

http://www.youtube.com/watch?v=uLvCX9XXZSE

 

Need to finish off all the wiring of the switches to their message IDs. It's a long process.

 

Our production terrain map is in progress, although we have some issues to work out. The base terrain is in place ready to start hanging details from it. The view distance will be pulled back a bit in game but this is an editor grab...

terrain_preview_01.jpg

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

very nice work, and it's great to see it in action. Is this a game or a sim? That seems accurate enough to train with. Also , just out of personal curiosity, what is your connection to the Longbow? This seems like the work of someone passionate about helicopters (as I myself am, I was a crew chief on a CH-53E Super Stallion helicopter for 5 years).

 

I am not very familiar with the Longbow, but it is an active platform with the US military, right? If so, is there any classification status of the cockpit? I know that for most active platforms the cockpit controls are classified as Secret. We weren't allowed to even take pictures. I know other games like this exist, but I have always been curious to know if you have to get some sort of authorization or something.

 

Not really pertinent questions to your video I guess, which is looking fantastic. Great work so far and I look forward to seeing more.

Vista | AMD Dual Core 2.49 GHz | 4GB RAM | nVidia GeForce 8800GTX 768MB

Online Portfolio | www.brianmcnett.com

Link to comment
Share on other sites

The CH53 sure is a big helicopter that needs a lot of looking after. I'd like to apologise in advance for using the word "Helo", I know some don't like it, "The Army have choppers, not helos". But it's not as catchy at retail :/ Of course I'm making an assumption there sorry, we're you Navy? Coast Guard? E suggests Marines.

 

We got told that certain things are off limits, countermeasures and *unspecified classified* systems. The rules on taking photographs seem to vary from unit to unit and who you were :/ But the best source of data came from the MOD where you can take a virtual tour if you have Apple Quicktime installed.... http://www.army.opticalfx.co.uk/popup/tours/hi/3.htm

 

You can probably match up some of the textures in our cockpit with that.

 

My previous helo work is all PC based. I was involved with Empire Interactive's Enemy Engaged Apache Havoc and its sequel Comanche Hokum, in 1996 a mission planning tool for Jane's Longbow 2. Before that, Microprose UK. So a fair amount of experience with the PC sim market and helicopters in particular, no reason to that, just turned out that way. It's the devil you know I guess. We're trying to re-invigorate the market of fun combat sims that were popular back in the 90s when they didn't take weeks to learn or years to make. Those games had a compelling game element that kept you coming back. Today they originate from eastern Europe where they have a heavy engineering background commendable for their accuracy but all very dry and, have to say it, not that entertaining.

 

This is purely an entertainment product that also happens to be a sim, not military spec but light to mid-weight, while it has sub-modes for the fire control radar and authentic HUD system, I develop with an XBOX360 joypad as well as a full HOTAS, it can be picked up and played without much prior knowledge. Leadwerks Engine is something of an experiment, while written for making FPS games, it provides enough low level detail for helicopter and heavy armor games. Helos don't fly very fast and often used in a ground support role, CAS or saving lives.

 

But thanks for all the kind remarks so far. It's all very exciting to see bit come together. I can't stress enough about the importance of planning what you want and don't get sidetracked by feature creep. Just say "no" to gravy.

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

Out of context it does sound like a contradiction but let me explain.

 

Not all controls are active any any one time, the bulk of that is 5 MFDs each with 24 buttons dotted around them, the screens are like your local ATM, with arrows pointing to the buttons that only do something for any given page it's showing. You might want to launch a missile using one mode, or have it scream high into the air and plough down into the roof of the target.

 

The purist can push all the correct buttons to bring up a weapons page, select the LOAL or LOBOL launch mode, lase the target and launch, the helicopter will even select the next target for you so you can keep shooting till dry. Or you can hit the right joypad bumper to make BIG the square in your HUD and shoot. The joypad sends the same message to the avionics class in one click as does navigating the purist menu system.

 

The comms panel looks daunting, most are just volume knobs, like a mixing desk. Adjusts the volume of 5 radio sets. Not necessary to gameplay but add flavour to the environment and easy to include. We have speech from ground forces that periodically request support, you can turn them off, not very nice but hey. The trick is cramming everything you need into a joypad, this helicopter automates a lot of things.

 

Pylon select, radar mode, TV, shoot missile, guns, launch mode, autohover, autopilot, master mode cycle (arranges intruments and display into preconfigured states). Up down, left right and a view select. That's all you need to play. Then you can work deeper and learn how all these things work together as you get better.

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

Really good work. I love the terrain and all those Gozmos to play with. Why don't you guys use sattelite images for the terrain? It yould be made to blend from sat-image (far away) to your detail ground texture.

The distant fog would support this a lot. :)

Pure3d Visualizations Germany - digital essences

AAA 3D Model Shop specialized on nature and environments

Link to comment
Share on other sites

Micheal, can you explain a little about the blending a sat image? I'm so heads down in other matters. We have the 5 textures already allocated (could really use two more for greens). Is it possible to use an additional map to colour everything? If so that would be of great benefit and I'd would kick myself for having missed this.

 

 

*** edit ***

 

Ah, yes I see. We sacrafice one layer for one huge overlay. That might work to give it some interesting variation. Thanks for the heads up. Still could use an extra layer or two :/ but we work with what we have.

Edited by Flexman

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

As our helicopter can be called upon to fly missions day or night, having instruments you can read in the dark or see in low light considtions, at a glance was done just like our MFD screens, using the fullbright shader and setting the light map into texture stage 2

 

texture0="abstract::apache_pit_instr_01_skin.dds"
texture2="abstract::apache_pit_instr_01_light_skin.dds"
shader="abstract::mesh_diffuse.vert","abstract::mesh_diffuse_fullbright_glow.frag"

 

When the instrument needs to light up, I'll paint the switch with the "lit" version of it's material. And normal version of the material to turn it off. Here's a screen from my blog to illustrate.

 

screenshot_142.jpg

 

We started experimenting with vegetation in the editor on our production terrain (digital elevation data of a region in Afghanistan). It's bloody hard work getting anything done. At our map size the auto populate feature just doesn't work, often crashes. In fact, at the largest map size most things will upset it at some point or another. It's been a really frustrating experience. Had a little experiment with stretching a texture across map but the amount of bluring at 4096x4096 @10m per tile didn't seem to add much. Not at mid to low altitudes anyway. I'm sure it's great for making smaller maps. Maybe you need to have a real talent for blending. I dunno.

 

terrainImage10.jpg

 

Two more texture stages would be great, a zoned vegetation populate function that worked would be worshipped upon the alter of LE game development. I'll even supply the gold idol (but only if you throw me the whip).

 

Everything is so far ticking along nicely apart from the editor issues and various odd glitches and artifacts. When you climb into the chopper, look around, the sound of two engines thumping through the speakers, head tracker software and shadows of each rotor blade dancing all over the cockpit, on a huge screen its pretty ***** cool. Using Leadwerks Engine has been very love-hate but I'm loving the results (most of the time).

 

Seem to get a glitch in distance fog at the terrain horizon, small gaps, or short dark lines.

 

Why does the editor crash using the vegetation auto-populate feature on the largest map size? Is it just trying to allocate huge amounts of memory?

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

Why does the editor crash using the vegetation auto-populate feature on the largest map size? Is it just trying to allocate huge amounts of memory?

This is probably the cause.

 

Are there any editors from large games, maybe one of the Battlefield games, that I should take a look at for vegetation editing ideas?

 

I really like your results so far.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Maybe your resolution of the sat-image is to small. I used 2k on a 2k map.

 

Are there any editors from large games, maybe one of the Battlefield games, that I should take a look at for vegetation editing ideas?

 

A nice and handy feature in Crysis Vegetation editor is the possibility to auto-dustribute vegetation on a certain ground texture.

 

For example you want a grass model on your grass texture. You click it and distribute the vegetation type over the texture.

This is nice for really learge maps. You could do several kinds of fields (rice, maize, corn etc..) with one click.

post-6-12691668322463_thumb.jpg

Pure3d Visualizations Germany - digital essences

AAA 3D Model Shop specialized on nature and environments

Link to comment
Share on other sites

Yes, Michael. That would be a great help. We were wanting just such a thing yesterday. For that very reason.

 

While putting together this game, using the current tools we keep hitting the same things that get in the way of producing content. I've tried to put these in order. Some of them would seem (at first glance) fairly trivial and help a lot, but I'm a bit clueless as to how difficult these actually are.

 

Vegetation

 

  • Fill veg by paint layer' - "I want all areas that are painted with layer 1 (grass) to have this vegetation (with the hight/slope constraints)" as outlined by MB in the above post (funny we hit the same thing, says a lot).
  • 'Use constraints when placing veg' - If I set a veg layer to 'slope 60' 'height 200', and manually place, it'll place the veg at any slope or height. This is a problem when painting hills because they pop out of the steep sides of the hill instead of just on top.
  • 'Clear all vegetation from this layer' - i.e "I dont want my dirt track layer to have any vegetation on."
  • Top down billboard for trees.

 

Paint

 

  • Brushes. More brush shapes would be great for sculpting/painting/veg placing - Square (for example for fields), hard pencil, spray can. Just a simple option to choose between square and circle would go a long long way. Roadside scrub, narrow fields and gardens.
  • Line sculpting/painting/veg placing. LMB to start, hold SHIFT, LMB again and Terrain sculpt, or texture layer paint, places veg in a line.
  • Number of Paint layers. 6 or 7 would offer much greater variation. If more layers are impossible how about the ability to effect the brightness/saturation/contrast of the brush. This would allow the painting of shadows under trees at great distances, have terrain selectively shaded by cloud cover.
  • 'Export the true colour map by visible layers' - i.e inspect pixel X,Y and build each channel (RGBA) of the DDS with the correct levels rather than filling the entire channel - Much easier to manually edit.

 

Terrain

 

  • Road model export support - Allow us to export/import the generated road as a model So it doesn't have to auto-generated at runtime; Too slow at 4096x4096. Or compile the road section generation into the engine for speed.
  • River support - A tool similar to the road tool that can dig a slit trench from A - B and lay a flat road-like water surface along the path. Options to adjust width would be helpful.

 

 

 

That would greatly improve content creation IMO after many many hours (man days even) of use.

 

 

Just to illustrate. Lets say you were making a level with paddy fields, lots of small channels, fields in a line. At the moment we're having to do this...create a layers for blending onto the heightmap. Which after trial and error, swapping between Photoshop, exporting and loading in the Editor produces results.

terrain_preview_07.jpgterrain_preview_08.jpgterrain_preview_09.jpg

 

Then those paddy fields require hand painting with various veg layers, with a round tool (cries). The river has also been carved out by hand in a similar manner to the fields, the river is a 3D object (in sections). The dirt track running east/west, a texture layer. Would be much easier with a line tool.

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

Number of Paint layers. 6 or 7 would offer much greater variation. If more layers are impossible how about the ability to effect the brightness/saturation/contrast of the brush. This would allow the painting of shadows under trees at great distances, have terrain selectively shaded by cloud cover.

 

In other editors you can choose a color which blends over the texture. So you can have your grass texture and blend a brown color over it to turn it into brown grass.

Battlefield 2 got a nice system and Crysis too.

Pure3d Visualizations Germany - digital essences

AAA 3D Model Shop specialized on nature and environments

Link to comment
Share on other sites

In other editors you can choose a color which blends over the texture. So you can have your grass texture and blend a brown color over it to turn it into brown grass.

Battlefield 2 got a nice system and Crysis too.

 

You could kind of do this in LE 2.2X's sandbox. You could change the color of a texture and use that to paint onto your other textures in your terrain, but it would effectively kill one of your 5 available texture slots.

Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590

LE / 3DWS / BMX / Hexagon

macklebee's channel

Link to comment
Share on other sites

You could change the color of a texture and use that to paint onto your other textures in your terrain, but it would effectively kill one of your 5 available texture slots.

I am speaking of a color change. No texture change. ;)

 

 

Look at this and you'll get the idea: http://doc.crymod.com/SandboxManual/Paint.html

 

This is the workflow then:

 

http://wiki.crymod.com/index.php/Layer_Painting_Advanced_Techniques

Pure3d Visualizations Germany - digital essences

AAA 3D Model Shop specialized on nature and environments

Link to comment
Share on other sites

Looking at those links makes me want to weep a little.

 

We're still trying to populate fields and scrub, after a "few" hours so far we have something akin to Farming Simulator :/

I think we needs to seriously work on some new veg textures, some new veg models (as those are too small and need filling out) and a bit more tree variety. We have 3 veg slots left and we might use those for animals and civilians.

 

terrainimage16.th.jpg

 

It's pretty nice to fly over though. Suggestions on lighting, painting welcome.

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

Wow... That looks awesome! Have you tinted your lights? Ambient a blue colour and directional an orange colour? I think that would put the icing on the cake for this image!

Intel core 2 quad 6600 | Nvidia Geforce GTX460 1GB | 2GB DDR2 Ram | Windows 7.

 

Google Sketchup | Photoshop | Blender | UU3D | Leadwerks Engine 2.4

Link to comment
Share on other sites

That's really sound advice. Never thought to tint ambient light. After having a little go with what you suggested it really improved the feel of the landscape. I'll link some images of current wip.

 

We've been trying to improve the vegetation look too. Taking the auto-generated billboards and applying a little shading to the bottom of the texture...

terrain_preview_17.jpg

 

The fields are pretty nice up close, the billboard not so good. Maybe matching the ground colour to the field would mask that, colour tinting is not an option though.

terrain_preview_18.jpg

 

I'm getting happier with the results, for a huge map (remember this is 40x40km) there are 8 such zones. The load times are not too bad, around a min and a half. In our game there's no map swapping as you're persistantly there, all game options and mission planning is done on the ground using objects you interact with, whiteboards and projector screens in tents that have an offscreen buffer mapped to them. Seems to work quite well.

 

terrain_preview_16.jpg

 

Auto generated vegetation cover, the editor will crash doing a terrain this big however we found setting the desity to 35 worked. So lower the density, the less memory allocated I guess. The auto generated veg layer doubled the load time and added a 60mb data file. So we took that out. It's too much just for a thin scattering of scrub over the hills. A procedural routine to throw grass/rocks down on certain texture layers would be way more efficient.

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

The billboards are looking like a bar because the mesh (corn for example) itself is around 3meters.

If you have smaller batches of corn it would look better (more covered) but it also would raise the amount of vegetation-models in your map. And I don't know the limit in LE.

 

Maybe you should consider not using billboard on certain vegetation meshes like the corn.

Pure3d Visualizations Germany - digital essences

AAA 3D Model Shop specialized on nature and environments

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...