Wednesday 29 October 2014

Ye Olde Leadewerks blog


Long time since I posted an update on my personal blog. And ironically it's about YET another blog, but this is devoted to old school Leadwerks which is still fun and extensible. I can't promise regular updates as I'm usually busy elsewhere. But there will be something useful for Leadwerks 2.x users in every post.

If you like Leadwerks 2 and all things Blitz and C++ then it'll be worth following. There will be posts featuring engine mods and shaders. Stuff we used in Combat-Helo and distilled knowledge from the community.

http://oldleadwerks.blogspot.co.uk/





Tuesday 4 February 2014

Outlining and other 3D UI tropes

The all new official web site for Combat-Helo (are we still going with the hyphen?) will launch real soon (this week). All future blog entries will be posted there, this blog will serve as a personal and more technical insight into development for other projects. Where is this awesome new web site? I'm not telling as it's not live yet (check back Thursday).

In the meantime I've been working on 3D user interface code that will work with Leadwerks 2.51 (depreciated). All the bits needed to enhance the GUI such as outlining of selected entities, see the Hellfires in the free-roaming arming mode shown in screen-shots below. 



Once upon a time creating this kind of effect was easy in OpenGL using stencil buffers, or some flipping normals trick combined with object rendering order. However in Leadwerks, complex scenes require a little extra work; the creation of a new World, new Buffer, a Camera, post-shader. Hmmm, exactly the same way the cockpit is rendered.

In the main draw method, once we've done the bulk of the scene mesh rendering, we render this new outline world as a post process prior to the deferred lighting stage. The output buffer of this outline world is then alpha-blended over the Leadwerks gbuffer, a frag shader processes the output buffer adding the highlight colour.

Once that modification to the main render method was completed, we can outline any world entity by copying it into the outline world. This is what we do during arming or other menu mode. We had to use EnityUserData() on created outline world entities to maintain links to the main world entity (you can't parent between worlds without some kind of book-keeping).


In addition to this we needed 3D UI objects to facilitate area marking for things like triggers and unit formations during editing. So I built a class that generates the geometry to create these animated "force-field" looking objects that form fit to the terrain using a feature of the built-in vegetation shaders.

#define LW_MESHLAYER
#define LW_UPNORMALS

Creating groups of units and assigning them as primary targets, or special formations can be done by area rather than linking at design time. Simply throw down a bunch of vehicles in proximity and ring-fence them as a unit. The Formation manager will try and do the rest. The game portion is starting to come together, I'm sure we can find ways to improve WYSIWYG mission editing.

You can add a dozen oil storage tanks, wrap them in a target-zone and set the zone as a "primary target". Destruction of a percentage of primary targets are considered for mission evaluation. We also have secondary, tertiary and specials.

Sadly what you don't have is an infinite supply of ammo...unless you enable cheats and type "/rearm" into the console window.

A Call for Arms

We're looking for new models, specifically more radar and SAM units such as SA-10s, Rapier batteries etc. to make deadly spaces (the Hills have Eyes, or so I'm told). I'm still working on the ASE demonstration video, I stopped to add some features to the avionics when recording but I'll pick it up again this weekend once we've launched the new site.

I would love to add more threats to our release, if you've been in touch already then expect an email from me in the next few days. With so much going on I'm behind as usual.

See you at the new site at www.combat-helo.com in a few days and clear skies. You have control.

Sunday 26 January 2014

Roadmap - 2014

Another down to earth post about the Combat-Helo road-map and release schedule (minus an actual date). We're going to adopt a rolling release schedule, as such we feel it's necessary to tell you what to expect and roughly in what order.

What is a rolling release?


A rolling release is a continuous development model. We release the so called 'early access' version of the software to respond to feedback and fix issues that inevitably crop up on a wide hardware footprint. Also it means you get some hands-on time before we roll out more features.

First, welcome aboard this FlexAir blog post. When we release the first version, this won't be the complete version as we're skipping traditionally important things like; infernal (sic) beta testing, quality control, pre-flight checks, maintenance, radar. All the things you'd expect even from the tightest of budget airlines. So it's important to understand that crashing before you reach your destination is a real possibility. Should cabin suffer a sudden exception, a bug report form will deploy from the overhead compartment. Thank you for flying FlexAir.

I'll add that exceptions in the code are actually pretty rare and when they do happen it's typically some configuration or engine/driver issue. If there's anything that's a game stopper we will move heaven and earth to identify, fix and roll out into another release ASAP.

"Gunnery" Roadmap - 2014


Gunnery is a discrete game. It is considered a single title that is a prequel to future releases under the same IP. Gunnery will be release with a free-flight mode, limited number of pre-set missions and the Gunnery range map. When you buy Combat-Helo during the "Early Release" this is what you can expect.


  • Release 1 (Early Wingnut Release)
    - Gunnery Range Map
    - Free Flight Mode
    - 30mm Cannon Enabled
    - FFAR Rockets
    - Radar Hellfires (laser to come)
    - Static Targets
    - Player stats/score-board
    - Active SAMs
  • Release 2 (The Apologetic Release)
    - Laser Guided Hellfires
    - Autopilot enhancements
    - Bug fixes and Enhancements
    - Mission Files
    - ATC and AI traffic
  • Release 3 (Milestone Release)
    - Multiplayer enabled
    - Training Mode (Instructor Pilot audio and training missions)
    - Bug fixes and Enhancements
    - Additional "NTC" desert map
    - Radio stack, battlefield "modem" and TSD upgrade
  • Release 4 (Now We're Cooking Release)
    - Scramble (Dynamic mission type)
    - Bug fixes and Enhancements
    - Mission builder enhancement
    - New Map (tbd)
  • Release 5 and beyond (Are We There Yet Release)
    - Additional upgrades and new maps


Some of these items may get re-prioritized, items like AI traffic depend on availability of resources for coding and testing.

A new official website and forum will be launched early Feb and will be the defacto stop-off for solid information. This blog will remain for unofficial musings, ramblings. Eventually winding down.

Beyond "Gunnery"?


The engine we started with, Leadwerks 2.x has been discontinued, support is now limited. We don't anticipate creating a major follow up using this engine. We will however release our original North West Afghan map featuring armor in a hypothetical crisis situation under the banner "Combat Helo - Deployment" (or "Crisis" for want of a better title) and we will look at adding the COIN simulation as an update to this.

We have been evaluating new engine technology and found at least two that are both amazing in their own way and both totally suited to the larger theater scale we want to bring to Combat Helo. We'll jump those fences when we reach them.

If you have queries about any of this, post a comment below or send us a message on Facebook. We'll compile a Q&A sheet.


Monday 20 January 2014

Official world on DCS World

I see more and more requests for us to create the Apache Longbow for DCS World. For sake of clarity we thought we'd put out an official response.

For now, the answer is simply no. We talked about it, thought about it and started to look at what might be involved. In the end we had to draw a line and decide what we wanted to do.

It is not for lack of interest on my part. And I don't want to fully stamp on it as a future possibility (if we're here in 3 years time and someone still hasn't stepped up to build one). If someone with experience will take it on I'm sure it would be a superior study aircraft given the pedigree and changes in the Edge engine. We don't yet have the man-power or experience needed to create a quality aircraft for that series. With the unfortunate delays in production of Combat-Helo, taking on yet another project would be near impossible without skilled individuals with suitable experience. Even with crowd-funding it's hard to justify it as a spin-off project as it doesn't fit in with what we set out to do. Dave and I set out to create the kind of game nobody was making anymore which is the stand-alone combat-sim. And for all my talk, I've discovered that it's not as easy as it sounds.

Scott Elson (former EA and Microprose senior developer) reminded me way back that creating a flight simulation was not simply a matter of making an aircraft and flying it around. There's a lot more work involved, weapons, audio, UI, animation, events, triggers, file systems. All the glue that holds a stand-alone game together which would stretch a five man team, never mind two.

David and I began work on this in 2009. This started out as a full-time project and when the money ran out we had a choice, carry on as best we could working in our free time or abandon it. It was never going to be ideal but we carried on regardless, I had to trim features as time went by to pick up the slack to keep the end in sight. Eventually my output was struggling to keep pace with David's output and problems with our choice of game engine threw a spanner into the works. You don't find some problems in a technology until you really stress it, our issues were not apparent until much later in the project. Hindsight is awesome.

Recently, volunteers have allowed us to push past some of the older problems we had with Leadwerks 2.x. which has been fantastic (again props to Macklebee, Klepto and Shadmar who contributed). Technology has moved on and our ambition while humbled, stubbornly remains. It was clear we couldn't deliver the game we set out to make, the dynamic Afghan campaign will for now remain incomplete on our hard-drives, but from a future development point of view we now have more options available to us. The game development landscape has changed substantially thanks to crowd-funding. This is something we're currently preparing for. But more on that later.

We're still committed to a long road-map for Combat-Helo starting with the release of "Gunnery" in the near future (we're working really hard to release this quarter). Our focus is still creating an echo of the combat simulation scene that existed on the PC during the mid-90s. Building on foundations we've laid down. While frameworks like DCS World are an ideal platform for pure simulation, it's still a very different kind of experience which is well catered for.

Combat-Helo will rely on dynamically generated missions intermixed with narrative and maybe some comment. It has never just been about the aircraft. We are creating foundations for a worthy successor to legendary games like Janes Longbow. It may take a few iterations to perfect and we mail fail but it won't be for lack of trying. To carry us on beyond "Gunnery" we'll be looking to you, the community to help us take it further. What direction that takes depends on what happens in the next few months. Whatever happens, 2014 will be an exciting year for us and I hope you'll keep the faith and join us for the ride.


- Signed Richard Hawley, Director Tricubic Studios Ltd.



That done....incoming fire...deploying countermeasures!