Jump to content

Flexman

Members
  • Posts

    916
  • Joined

  • Last visited

Blog Entries posted by Flexman

  1. Flexman
    Yes Panic.
     
    When you're rushing to get a reasonable build ready for hammering out problems I'm finding I'm making all new problems. Going over the HMD code I realise how badly it needs rebuilding, there are existing elements that need updating, a few new ones that require adding. There's no way to rebuild the HUD in time.
     
    Another problem. LUA in the Apache entity. Works in the first instance, but fails in subsequent entity spawns resulting in the inability to mount the aircraft. It's an issue relating to LUA accessing keys stored in the model. I want to rip out all the LUA code from models except for the model initialisation that puts on pylons and attaches the rotor models. Not much time to deal with that either.
     
    Dual Seat configuration.
     
     



    The interaction between front and rear seat was not well thought out early enough, instead I opted for a 'duality' where all features could be operated from either seat with just some interface differences. I should have opted for a strict seat A can do xxxx and seat B can only do yyyy. This was a mistake in my attempt to simplify control but ended up introducing more complex logic.
     
    It's not too late to undo this but a difficult process to start. If I have to design this game all over again I think I would probably nail down all of these problems from day one. Hindsight being wonderful.
     
    TrippleHead - lot more pixels to post process, looks great but a GPU strain
     
     



     



     
     

     
    Source
  2. Flexman
    Not a Combat-Helo post. I'm engaged in a spot of design and research but was looking for some old material online and found I had left a digital trail pre-dating commercial internet use.


     

    28 Years ago I drew this. I was in high school. Shocking really. I used Z80 machine code to generate the 'impressive' sound and visual effects in this game. *wince*


     



    A lifetime of programming and tinkering, stacks of hard drives of unpublished projects ranging from Spanish school time-table generators to a Black Shark snapshot campaign generator.
     
    Some material I doubt will ever be revived, the Memotech MTX 500 version of Next War was stored on cassette tape, probably oxidised beyond recovery. However the code lives on in other forms, the dynamic campaign system was enhanced and put to some use in a PC build. Some of which will form the backbone of the Combat-Helo campaign. One day I hope to merge the big war game with the Apache simulation and revisit the forgotten Fulda Gap scenario.
     
    More unreleased WWIII fun and games
    NATO vs Warsaw Pact at the Fulda Gap
     
    Even my own attempt at producing a self-indulgent comic based on our exploits in the Star Wars Galaxies MMO...(PDF dug out of the old SONY Online game forums).
     
     



     



     



     


    Even though the game will soon have the plug pulled the footprints we leave behind in the digital space will live on...for a bit.
     
    I've rescued the original PDF and made it available here... Orion Outpost Chronicles part 4 - PDF
     
    Anyway back to work.

     
    Source
  3. Flexman
    AD has started some great work on the armaments of the CH47 that will form the first major DLC pack for the full release of Combat-Helo. Each door position will offer a fun interactive activity, usually in the form of throwing out obscene amounts of virtual lead.


     

    For more pictures please see:
    ADs SimHQ CH-47 blog update thread

    Mini-gun, I don't get the mini part though.

     
    Source
  4. Flexman
    [NTS] Left Upper button. Next To Shoot is the ubiquitous video game cycle through targets. Or TAB target if you play MMOs.
     
    I've touched upon how radar works in this blog entry from August - Radar - A Discussion
     
    The Apache can automatically selecting priority targets based on some sort of criteria. This short blog post touches on how I've elected to do this. Again if you're familiar with the 1996 classic, Janes Longbow 2 there's nothing unfamiliar here.
     
    The TSD (tactical situation display) collects data from visual cues (look at object), radar and TADS (again look at and store). A linked-list of 3D entities is stored and sorted by range. The list is re-sorted by what type of object it is.
     
     



    Target object sorting as follows:
     

    Fast Movers
    Helicopters
    Air Defence with Radar
    Air Defence
    Armour
    Wheeled
    Aircraft normally only show up in air targeting modes. The image above has one on the GTM Radar which is a BUG but that helicopter (another Apache) is on the ground.
     
    Then these are sorted by range.
     
    The [Cycle Target] key (default: TAB) steps through the list. This is different to the [Padlock Cycle] key (default: LCTRL F4) which applies to your head view and steps outward through visual targets sorted by range only. Sometimes the nearest isn't closest to the centre of view.
     
    I'll touch on how I've programmed the game internally. A linked list of objects that are picked up in the FCR footprint are added to a TSDcontact list if the entity pointer (an entity is a vehicle) is not already present.
     
     
    The game maintains separate lists from sensors and a Tactical(Situation Display) list which is used for referencing entities on the TSD. It also allows for messages received by the THelicopter message handler to add entities to the TSD when the player presses the 'ABCC download' button to download shared targets from a shared digital battlespace (fancy name for a simple array). To upload your TSD list you press the 'ABCC upload' function. I will think about expanding this to work on several channels in later versions.
     
    Tactical Sensor Lists
     
    The TSD used in our Apache vehicle is simply an instance of the TacticalSensor class which is used for all AI but the inputs are wired up differently.
     
     



    These inputs are updated when in use, typically triggered by a player pushing keys. I've colour coded the inpus accoring to type. FCR is radar type area scan, high volume, Orange (HMD) is using the Mk1 eyeball, TADS in blue is an optical sensor (longer range eyeball) and Red is known data from external source, which you can imagine as a radio or some data modem.
     
    As potentially there might be a hundred active AI vehicles in close proximity having all of these using all kinds of sensors, doing lots of volume searches and entity queries is woefully inefficient. Fortunately the natural hierarchical structure of unit can be simply used to make things much more efficient.
     
    Since entities are grouped into Formations which share waypoints and mission targets, they share a common awareness. The same TacticalSensor class we use in our Apache. Only this time the inputs come from the different entities in the formation. Some will have an active sensor system, some are unable to supply input.
     
     



    They periodically perform a sensor scan (interleaved to spread the load) to refresh their group TacticalSensor list.
     
     
    Oh NO! The MIG! Target Priority
     
    I'm sorting the linked list when updated based on criteria that I want based on experience from other games of this type. Worked for them, works for me.
     
    In LB2 a Mig was triggered at random if flying over 250 ft. If not spotted quickly it was almost certain virtual death. To give these a high priority I added a Priority field to the SensorClass and arranged the icon IDs (1,2,3,4 etc) so by default the Priority value can be taken from the icon ID then modified later. Now the most dangerous entities can be simply sorted on this field but we could for example assign an entity as a "Primary Target" and add +10 to the Priority to have it automatically sit at the top of the TAB target list.
     
    Very handy for scripting tutorials and the like. For example we can now spawn a virtual waypoint marker on a target range and command the avionics to give top priority.
     
    So whatever the first entry on the linked list is, that's the NTS object, the second in the list would be the ANTS.
     
     
    PFZs
     
    Another often asked about feature in Combat-Helo is the ability to create PFZs. Which is something that only applies to the Hellfire missile system which is coming in a later update as we've not yet implemented it. However our Tactical list makes this a trivial matter to implement. We have a static list of entities, mouse input on the TSD map and mouse driven events. Everything needed to add PFZs and NFZs.
     
     



     



    Correct weapon symbology coming soon
    Whole HMD needs a going over.
     

     
    Source
  5. Flexman
    Starting to feel the pressure now. Both the financial and stress factors are weighing in. Doesn't stop me working but it's hard to switch off. On the business side there's a ton of things on the to-do list, it all eats time taken from production.
     
    Spooky, ok so the lip light isn't actually on his mic.
    If it was you wouldn't see this.
    Boeing sent me a poster back in 2002, this is a homage to that.
    This time with the rear seat.
    Taking out bad guys without damaging the good guys is a challenge.
    Experimenting with simple TSD display and labels.
     



     



     



     



     



     
    On top of this I'm studying some Unity material and shader programming. I could use a beer, a real one.

     
    Source
  6. Flexman
    Quadtree software has released the 3.1 update to Grome.
     
    Grome is a fantastic terrain editor I've been playing with for future enhancements and rolling out a larger terrain systems in the future. If you play flying games and RPGs on consoles chances are you've probably already seen a Grome edited terrain. It's used by nearly every major player in the simulation industry. Incorporating a plug-in system, OpenSceneGraph and now new improved Unity integration.
     
    What's new in 3.1
     
     
     



     
     



    I'm quite keen to see how it works in the up and coming Leadwerks 3(D) engine which is looking to sport threaded streaming of assets. If this could be incorporated alongside the vegetation system it would be perhaps the most powerful and complete 3D engine for less than 1,000 USD.

     
    Source
  7. Flexman
    Remember the spinny radar thingy in Longbow 2? Scan sectors sizes and off-axis settings for the Longbow FCR (Fire Control Radar)? No?
     
    If you look at the heading tape of the screen-shot you'll see in the heading tape the "butt-cheeks" (two Ds back to back) on a heading of 225, off axis by 45 degrees. This indicates the direction the radar is pointing, as the FCR display is 'always up' in GTM mode. This can be a little disorientating and the radar footprint is mirrored on the TSD, this paints a clearer picture of where it's pointing. Failing that you can see the radome outside the aircraft turning as it seeks out the designated offset.
     
     



    (And why are all our aircraft IDs Z666? We shall never know. If you have a TrackIR and explore the cockpit nooks there's even a Clint Eastwood reference in it).
     
    Radar offset angle is set by clicking on either of the two LEFT RIGHT arrow buttons on the MPD or your designated sensor left/right control input when the FCR is your selected sensor. (If TADS is selected the sensor control steers TADS instead). NOTE: The offset can not be moved while the FCR is active, although you can queue movement by hitting the offset control then quickly cycling the FCR burst key. Got it?
     
    It will be in the manual. Promise.
     
    Vectors - all vectors, no bitmaps
     
    In the front seat, TEDAC view of the FCR

     
    Source
  8. Flexman
    Dull day, so lets post about something most normal people find dull. Fuel flow controls. In the Apache D model this is administered on the FUEL MPD page.
     
    Not much to say about it, I'm bored already. It does what it does. Our Apache has two internal ballistically shielded self-sealing fuel tanks. Fuel can be drawn or transferred from one or the other to adjust weight distribution. Activating fuel boost engages the rear tank cross-feed valves as seen here. Fuel transfer between tanks should normally be left to auto unless you feel the need to play with it. HTR flight model should take account of the weight distribution.
     
    Marching antsFuel flow takes about 4 seconds to change, while changing, indicated fuel lines are drawn in high intensity white before returning to green.
     
    The most important button on this page is bottom right [CHECK]. This brings up the a sub version of the page where you set your bingo fuel status if you get an alert reminder in the UFD.
     
    Bingo TimeAward for dullest sim video goes to...."Fuel Crossfeed"..yeah. There it is. It's Friday.
     
     

     
    Source
  9. Flexman
    Yes were still using Notepad to edit them. Well that's not quite accurate, I'm using Notepad++
     
    What's nice about Leadwerks is being able to create a shader to add new effects or change how the engine renders something without anything getting in your way. So when Dave asks for a version of the cubemap that will blend in some particular way it was no problem to quickly put it together. He's doing terrible things to make filthy looking windshields, chrome toggle switches and this rather neat looking rear view mirror.
     
    Who needs fancy wysiwyg editors....well it would be nice sometimes.
     
    Dirty Mirror finish
    It's a double rainbow! Testing blending and reflections.

     
    Source
  10. Flexman
    AD posted more Chinook goodies at SimHQ Link here >>> SimHQ - AD Chinook Update
     
     



     



     
    What am I looking at?
     
    It's a little creepy, crew heads now reflect the pilot helmet sight (PHS) and gunner helmet sight (GHS) Vec2 offsets, so using trackIR, mouselook etc will operate the appropriate crewman head position (with suitable organic tweening). These positions are stored in the aircraft state so will work across all aircraft (AI and player) as well as multi-player. How creepy is that?
     
     
    "Everyone gets everything he wants."
    "All I wanted was a mission,"
    "and for my sins they gave me one"
     
    Shot on my iPhone. This is what TrackIR and mouse movements do to the crew head positions.
     
     
    *edit*
     
    There's a few pages in the system that are informational only, the FUEL page was one, I fleshed it out a bit tonight, adding a working cross-feed system complete with animation (yes the real one does that too). It's lacking the fuel check and bingo settings (to be added later). Setting the bingo stat is part of your start-up checklist, it would be a shame to leave it out.
     
     



     
     

     
    Source
  11. Flexman
    Now available.
     
    *edit* A few additional notes...
     
    The controller setup page shown in this video has a number of devices listed. These are just the ones I had plugged in at the time of recording. All DirectInput controllers should be available, some will have ready to fly config files (most Saitek sticks, Logitech).
     
     
     
    I forgot to turn on the post processing effects since I work without them (generates more heat). There is a LOT of changes going on to various sensors and the IHADSS won't be updated to reflect these changes until I've done the MPDs. So please no accuracy police, I'm aware of the various bits and bobs. It's all in hand.
     
     
    YouTube Link: http://youtu.be/L8AHX8uXHpQ?hd=1
    Vimeo Link: http://vimeo.com/29957378
     
     
     
    Screenshot of the day
     
    Cleanup in lanes 1,2,3,4,5 and 6 please.
     
    Padlock, shoot, padlock shoot, HMD mode
    cleans house at close range , almost too easy

     
    Source
  12. Flexman
    Yippe..the 18 month project is now 24 months old. Horray. Short post but I felt I couldn't let it slip by unnoticed. Especially with all the Tipex (White-Out) all over my Project Planner.

     
    Source
  13. Flexman
    First screen-shot of a quickly put together KBU (keyboard unit). This is a flat 2D image you click on, taken from the texture used in the cockpit. I wanted to see how good/bad it looked since we don't have time to develop a 3D one.
     
     



     
    Clicking on Air Surv will abort current FCR operation
    and switch to an active air scan (air surv mode)
    The keyboard command list is looking horrible if you want full control over this. The shot cut keys work fine however. I made some tweaks to the heading tape symbols and the Air Surveillance Mode has been adjusted according to recent feedback posted. No sweep indicator is displayed (? is that correct) but the radar is still active. And not NTS or targeting is available. This mode is not available if either crew station has FCR as the selected sight. Either crewman selecting FCR or cycling through HMD/TADS/FCR will cancel this mode.
     
    I made attempts to smooth out the logic for simple joystick control so you can hot key from mode to mode.
     
     
     



    FCR Scan and FCR Scan burst will cancel each other out with immediate effect, no waiting for a scan cycle to complete (which is what it did before).
     
    I'll adjust the scale of the FOR box shortly. The dot isn't active yet, will fix that shortly and then I'll correct the cue dots in the HMD,
     
    That will be as much time as I want to spend on the FCR. I think it's not too shabby and does nearly everything it needs to do for now. Completing the command list for the sensors now means I can finish the default control setup for new installations.
     
    For full control on a joystick you need 3 hats minimum.
     

    4 Way Sight Select (HMD, TADS, FCR)
    4 Way FCR Mode Select (GTM, ATM, other to come)
    4 Way FCR Footprint Set (Zoom, Wide, Medium, Narrow)
    There are also keys assigned to FCR Mode Cycle Up/Down to keep the control count down on smaller sticks.
     
    As always if I've got it wrong then please leave some feedback however I'm unlikely to embark on any more major changes for now. Quite pleased with the detail and how it works.

     
    Source
  14. Flexman
    While waiting on fixes for the flight-model and control inputs, putting some game into the game we talked about ranges and how performance measuring was going to work. In addition we wanted to add a little variety which required working mob AI.
     
     
    So nothing fancy but I managed to rustle up a simple finite state machine FSM to get some tanks and cars running around. Our design uses a group formation system (a group is a number of individual units that share common logic, e.g a tank platoon) and if you've ever used Missioneer you'll be familiar with the concept.
     
     
    Currently tanks are driving around a small test tool I'm using to test the module, switching formations, revving engines, exhaust smoke. Performance is king so updates are interlaced, no vehicle physics are required so animation suffices.
     
     
     



    Each group member has a goal pivot, when the formation changes the individual vehicles seek their pilot according to their driving behaviour. All the pivots are parented to a master pivot controlled by the group. This way you just need to update the group position (e.g movement orders to x/y) and the rest takes care of itself.
     
    We can look into expanding the states later when we want them to do more complicated things, and do that on a per unit basis. Tank gunners will want to turret to target when attacking, manpads will simply turn to face. Same state but slightly different logic per unit. And this can be done in LUA level by setting the models "fsm_mode" key. That makes less work for me and gives Dave the artist some nice toys to play with. At the end of the day I at least have a tile based tank engine to play with. I'll throw up a video.
     
    For the gunnery range we don't need anything demanding; some AI road following traffic, people in groups and the odd vehicle following a set of waypoints. Nothing spectacular or difficult there. That hardest part is turning the 3D geometry of the road network into a navigation grid. Then your mob groups need to know if they are supposed to be following the road or their own formation (switching as they move from one to the other).
     
     
    Roads
     
    The one problem I have in getting AI traffic running around is putting together a nav-grid I can work with. Our roads are large models (2 or 3 assorted) that are built in 3D Max using a height deformation modifier (the same height-map used to build terrain layers). And it mostly fits. I think we need to flatten it out so only the surface triangles can be read and turned into usable data.
     
    Speaking of art, "Mossie" has been given some love.
     
     



     
    Further reading:
    FSM gate scandal - Why they are old hat
     
     

     
    Source
×
×
  • Create New...