Of Delays and Progress - PART II

Of Delays and Progress - PART II

DCS: F-4E Development Update


With Part One dealing mostly with the delay and issues more than progress in these final moments; lets jump into a quick development update on the F-4E before we resume videos, and start deep-dives and tutorial walkthroughs of the Phantom.


On a high level


To reiterate; let’s first note on a high level what is done and what we’re still pushing on. In general, the entirety of the F-4, including all of the weapons, immersive, art & sound and systems features that will comprise the F-4E as we enter early access are done and in final polishing phases. There are a few bugs here and there, but generally feature development on this aspect of the Phantom ended to a large degree quite a while ago now. 


Some things are still being worked on, however, primarily due to the UI based delay. It’s important to note however that most of these things are in place and have been for a long time, just that we’ve either introduced errors or they’ve remained without a final layer of polish before we consider them in a releasable state. Non exhaustively, some of the things receiving their final layer of work include;


  • Multi Crew Synchronisation: Multicrew synchronisation can frequently be very difficult, especially when simulating devices and avionics at very high rates and levels of complexity. While synchronisation can rely on more of an interface based state in e.g. the F-14, in the F-4E we synchronise far more data than before and in a different way. While ultimately we believe the multiplayer sync will be more robust, especially as we find and eliminate any last errors, it’s also to some degree more fragile while we’re working on the aircraft; as more of the aircraft, the connections between components and other things are now synced across to the other player.

    Currently, we’re working on eliminating cases where the initial handshake synchronisation fails on spawn; requiring several re-slots before the aircraft is properly usable in multiplayer. Other issues we’re working hard to squash include some lag-based issues which occur due to slightly differing positions between the front and backseater, as well as simply some mistakes in decisions on which end a component is simulated locally. We’re working double time to really try and eliminate all remaining sync issues before launch as the two seat experience is integral to the F-4.

  • Flight Model Tuning: This is a never ending journey; both before and post-launch. Some of the elements requiring tuning or addition include ground effect, mach tuck, tailplane authority in the transonic range as well as improving turn performance (as the aircraft is currently underperforming).

    The flight model is one of those things that will never be perfect on launch, and will always require continuous work through EA- and we don’t expect the F-4 to be any different. Currently, our focus is just on nailing any remaining feel items, the aforementioned characteristics that are untuned, as well as filing down any performance discrepancies versus the -1.

  • Missions & Content: This one might be somewhat surprising; but yes; one remaining item is still to finalise the training missions and single-player content. The F-4 will have a rich suite of training missions, with some coming post launch; and final work is currently ongoing to wrap these up and test them thoroughly. 


  • Ultimately; we’re hoping to provide a beautiful, polished, immersive and fun experience on day one. That is always going to be the goal and we do not wish to break our streak with the F-4 at all. This is not our first flight around the pattern; but complacency kills and we are working hard to ensure that we do not stall, crash and burn.


    Art Complete


    This is probably no big surprise; but DCS: F-4E is art and sound production complete! Meaning that we’ve been (for a while now) complete with all art and sound production required for EA launch of the module. This includes everything from the core art production (cockpits, exteriors, associated animations, etc.) to all the required gameplay elements, such as damage modelling, LoDs, pilot ejection animations, damaged parts, etc. This represents thousands of hours of combined work across three artists to really try and put as much detail and accuracy into every part of the aircraft as possible.


    We’ve also used the time to create a rich library of liveries for EA launch; ultimately trying to cover every operator of the F-4E Phantom with at least one livery; of course with the most prolific operators getting several. Generally this process also involves getting the paintkit ready for launch and ensuring that we join together all of the common elements to each livery where needed. We’d like to warmly thank all of our internal testers and contributors who have assisted in making liveries!


      

    The F-4E has been somewhat more intense from an art production perspective than other modules; owing primarily to the variety of liveries, the complexity of the aircraft itself (looks are deceiving!), our own wishes for fidelity and accuracy and also the amount of customization and new animation systems in place. 



    The ground cart, new procedural character animations, new vapour effects, selfie modes, new wingflex, pilot customization and much more are things that have significantly upped the sheer volume of work to be done - but integration on the codeside of visual features is never negligible, and so it has also been on our F-4.



    Ultimately, you’ve seen plenty of the art and sound so far, so there’s not much point to linger on this, but we do hope that you will enjoy the visuals come launch day, and especially the fantastic liverywork from the community creators involved. 



    LoDs for the aircraft and all of the ordnance are in place to improve performance

    Systems Complete


    The F-4E is, for those unfamiliar, a surprisingly complex aircraft from a systems perspective. The abstractions offered by MFDs, screens, and more modern human interfaces are almost entirely absent in the F-4 - and ultimately it all turns into something closer to operating a massive, mechanical calculator or computer with various knobs and reading 20 different rollers. 


    At this point, we essentially consider the F-4E completely systems complete for launch, including some of our most advanced simulations yet, such as those for the INS, the APQ-120 radar, the APR-36 RHAW (including our new, next-gen RWR simulation and audio system!) as well as all the backing core functionality that is more rich and complex than ever; the electrics, hydraulics, pneumatics, fuel and other associated elements. We’ll be of course going into detail on each one of these in a condensed format.



    We’ve alluded to the F-4 being our most complex and difficult to execute module yet several times, and part of this is that almost every element in the actual jet itself is a step up in terms of fidelity, authenticity and accuracy. Not that we’re not proud of our previous releases, but we’ve tried to make as few abstractions as possible and make as little compromises as possible this time around. The APQ-120 radar on its own represents, alone, almost as much work as half of DCS Viggen, and that is just one element out of many. Add JESTER, multicrew and HBUI on top of that, and you can see how we end up with a giant ham sandwich.

    Of course, the best reference and/or update for what actually comprises the DCS: F-4 and what is done, is by jumping into the manual here: https://f4.manuals.heatblur.se/ and reading through each section. Hopefully this gives you a good idea of the simulation and what actually awaits you. 

    And to get straight to one of the core systems of the F-4; check out Episode III: Navigation of the F-4 phantom!




    Optimization




    By now you must be thinking: so many moving parts, but what about optimization? Will this new level of simulation depth affect my performance? The answer is both yes and no. More detailed models, customization, higher frequency and more accurate simulation, JESTER, new UI elements, etc. are not free when it comes to performance. We need to build modules to the current standards and future ones, rather than looking back at what choices we made in 2016 for the Tomcat, and 2014 for the Viggen, and 2011 for the MiG-21. That said; there is no fun with poor performance. And fun wins, every time.

    Optimization is almost always deferred until the very end of a development process, at which point we can benchmark, profile and trace hotspots in our code and across the module. Of course, discipline and decision making early on is key in this too, but it’s an easy mistake to make thinking that performance is excellent throughout a project’s lifetime, when frequently the opposite is starkly true. 

    The F-4E is designed to be less performant than previous modules, in the sense that the simulation frequency and complexity (and realism) of connections is far higher than any of our previous modules, which comes with increased CPU usage, memory coherency, latency and cache misses. However, we’ve also tried to construct our entire new component based simulation framework in order to enable new and novel features to minimise this as much as possible. We already have working versions of an entirely multithreaded F-4, which significantly boosts performance by spreading the simulation of all of these components across CPU cores. Currently, in an extremely CPU heavy scenario, the F-4E performs worse than it's peers, but not by a massive margin. In this scenario, the game is rendered at a low resolution to try and ensure as much load is on the CPU as possible:




    Further, we’ve worked harder than ever before on trying to squeeze out as much performance out of every element possible. This includes features such as manual culling (like in the F-14), LoDs for almost every single part, including ordnance or other aircraft parts, variable compression and texel densities based on average eye distance in the cockpit and plenty more.

    In a combined CPU + GPU scenario at high settings and at 4K,  the F-4 performs just about as well as most other modules in-class. Here's an example of a quick benchmark on a high-end machine at 4K in a busy mission:



    Ultimately, the goal has been to simply match current module DCS performance as closely as possible, while simultaneously going further than ever before. We’re starting to get close to our performance targets, and will be working hard right up until release day to get DCS: F-4E performing just as well as any other complex, two-seat module in DCS World. 

    Special thanks to all of our low-end testers (including our 970 wielding stalwart! You know who you are! :) ) for being fantastic test-bunnies as we profile and test! 




    Manual Culling is implemented, just like in the F-14, to reduce overdraw and draw calls when in either cockpit.



    New Features Galore!




    Most of you will have read our manual by now, and of course know already of the many new features we are introducing with the F-4E. It is worth noting though that these features are not just gimmicks on top of what else needs to be a solid simulation. Our intention with everything we do, is to expand the core elements of the simulation and how we collectively experience it. Some of the novel things coming with DCS F-4E are:

    • A fully voiced, interactive crew chief; a more fun and direct way of interacting with all ground crew elements.

    • A new Bombing Calculator to calculate relevant figures in order to accurately attack ground targets using various bombing modes and the ability to tell JESTER about these values.

    • An in-game browser, allowing you to watch videos, use OLYMPUS, peruse documentation or.. Just browse hoggit on a long flight.

    • Interactive Manual and Interactive Tooltips feature, bringing you to the right spot with a single click.

    • Grease Pencil

    • ..A few surprises here and there. :)

    Complex aircraft often take hundreds of hours to learn, for professionals in real life, who are submitted to classes, peer reviews, team learning and proper guided instruction. Much depends on them being thorough, but in a consumer hobbyist simulator, the depth to which you will learn is subject to the obligations of our day to day lives. Not everyone can invest the same amount of hours into their favourite aircraft, no matter how much they wanted. And not everyone has an education in aerospace engineering to understand the finest intricacies of a complex air to air radar, or the dynamics behind a flight module. Not to mention that few of us are pilots in real life, let alone fighter pilots! This is why making high fidelity simulators more approachable on a core level is fundamentally important and something we hope we can help with as much as possible. Each one of us has to approximate their knowledge to a level desired by themselves, but we certainly can help and give incentive to maybe learn just a little bit more, and easier.


    Hello Hoggit! <3



    The HBUI is a key part of this. We’ve gone over much of HBUI in Part One, but to just generalise further, it allows for in-game learning, interactivity and many helpful tools that make the experience better and more approachable. It also allows to add even more features that complement this new approach, and are rather “low hanging fruit”, such as the grease pencil. A feature that took just a small fraction of time, comparatively. And, while drawing shapes on the canopy glass certainly seems benign and irrelevant, noting down your primary attack parameters, or applying the “donut” technique with your WSO, already increases the experience and helps with crew coordination and more. While drawing laughter from certain silly shapes does not hurt either, for that matter. But the decision between doing it and not doing it, is a no brainer, when the base on which it is built, the HBUI, provides for it, with almost no added or extra effort. 


    Air to ground operation of the F-4E Phantom II can be as simple and as complex as one desires. It boasts a lot of old, complex, and one would almost say, unnecessary modes (looking at you, over the shoulder!). And while, for its time, the aids it provides for the crew are already immense compared to earlier jets and while they certainly defined the F-4 as a true multirole workhorse, setting everything up correctly for a successful attack run - depending on chosen mode - can be either simple or very involved. 


    Due to the nature of DCS being a simulation and not real life, however even the simplest of all modes, Direct, can be difficult to set up, as the drag values for ground munitions do not match real life quite one to one. So tables need to be adjusted, and different input values taken to get the desired result. For this reason we developed a bombing calculator that is kept in the style of the old attack cards that F-4 Crews used. You can select your desired delivery mode, weapons, attack profile, bomb spread, etc. - and the calculator helps you make the more complicated calculations like release time, advance, or simply saves you time to search for your correct mil setting in the tables. Once calculated you can tell Jester with a simple click to take the values and punch them into the WRCS, allowing you to plan for an attack on the fly - unlike crews in real life, who had to meticulously plan for one attack, and maybe a backup mode like direct, if the primary attack run went awry. For those of you who prefer a more hands-on, do it yourself approach, we of course also included all the necessary tables in the kneeboard, which have been adjusted to fit the DCS drag values, so you can prepare your attack just like a crew would in real life.



    The bombing calculator will be a huge boon and aid to make sure you can place bombs accurately on target in the F-4E Phantom.


    The browser that is provided by HBUI already allows for one of our favourite new features, the in game manual and the Interactive Tooltips. You can now simply click on a switch with a key combo, and the manual will open in the correct chapter for you to read up on what the particular switch or system does. Helping everyone to learn the aircraft easily is one of our top priorities. And this approach will further tie in with our training missions, where you can jump back to previous steps, restart an entire section, get tailormade cards and images but can also read up on the lesson, from within the game, while doing the lesson. We really hope this particular feature, reading the manual in game, will allow you all to learn the ins and outs of the DCS F-4E swiftly in an exciting and fun manner.

    We hope that this will just be the tip of the iceberg, and our intention is to dream big and think about features such as tools like sharing an attack plan with your flight over the browser in a Multiplayer or coop mission, to drawing an attack plan between wingmen in real time, and more. There are no promises, but just examples of what this innovation can provide in the future.


    The Crew Chief is another new feature that we are introducing to provide an even more realistic and complete experience with the F-4. No Fighter Pilot ever flew without the crew chiefs giving them the thumbs up and putting in the work to get the jet ready to fly. Of course, those of you who want to get in the air quickly, can simply omit the crew chief interactions, and the simulation will catch up where necessary. But overall we hope it provides a certain added element of immersion and serves to more accurately portray the history of the aircraft we simulate, including the maintenance crews who were and continue to be the muscle and backbone behind any flying operation and deserve to be recognized as much as the pilots who are merely allowed to “borrow” the crew chiefs’ aircraft. The Crew Chief feature is complete, though we may expand on it in the future, adding even more points of interaction and dialogue. We sincerely hope you’ll enjoy it.



    The Crew Chief menu is the go-to for all ground operation related items.


    Last but not least we of course need to mention the more than proverbial elephant in the room: the new JESTER UI, supporting JESTER with a more modern, direct and less cumbersome design. As explained in part one, it was the by far toughest nut we had to crack, undergoing countless attempts to get it right, a process that will continue post launch as will of course the expansion of JESTER. A lot of the community’s feedback from their experience with Jester 1.0 went into the design, like the ability to step back, and a flexible submenu design that pops in and out as needed, requiring much less time and manoeuvring through the menu. Post launch we will also add subtitles to make JESTER more inclusive - most of the transcription process is already complete.

    The new UI also allowed us to implement the JESTER Questions and Answers, or short “JESTER QnA” - ultimately enabling us to envision a much more proactive Jester, who seeks out input from the player on his own, and does not only wait for the player and reacts to his actions. While JESTER QnA is still limited to only a few situations, it is a feature that will continue to be expanded as JESTER 2.0 will continue to grow, and hopefully not only let you all connect with your virtual WSO better, but also make him more helpful in your endeavours to master your missions. Speaking of JESTER…


    The Dialogue Wheel can be used for complex, branching dialogue options


    JESTER

    Jester's Vision Algorithm - like in the F-14 - accounts for cockpit occlusion, weather, nighttime, afterburners, navlights, relative velocities, distance, size, and more.

    JESTER 2.0 is less of a full-on revolution of JESTER or anything in that direction, and more of a complete structural rewrite - one focused on the long term. We’re very proud of JESTER in the F-14; even with some warts; as we shipped the first AI backseater companion into a DCS module, recorded over 10,000 voice lines and composed it all together into something at least reasonable.

    One of the biggest flaws of JESTER v1 however, was that it was difficult for us as developers to work with him; add new features; add new menu entries; and generally detach JESTER from the aircraft itself. If you imagine JESTER v1 as an octopus with it’s tentacles wrapped deeply around core functionality and avionics of the F-14, you’re in the right ballpark. Not only would moving JESTER to another aircraft be difficult, some of the code was also very specific to the F-14 and would not work well in other aircraft. Furthermore, the UI was difficult to expand, had several limitations (e.g. 8 slot max and no keyboard typing input) and was also quite difficult to expand and work with properly. Even making the text render properly was a frustrating affair for many things.

    For JESTER 2.0, we don’t really want to rock the boat in the sense of that we’re adding some kind of new machine learning based AI, or some other super revolutionary feature into JESTER. Rather, our focus has been on:

    • Making JESTER much more of an aircraft agnostic technology

    • Making JESTER easy to work with and extensible even by members of the community

    • Adding the ability to spawn many JESTERs, e.g. imagine a multi-position aircraft

    • Completely new UI for JESTER that supports many more forms of input and can easily be tuned, refined and improved over time - or even completely replaced without rewriting the entire core of JESTER.

    • Ultimately, and in the long term, making JESTER far more smart, proactive and have memory and reasoning skills that are closer to a human being (<-- This one is hard, and is the one that will be a WIP for some time!)

    Generally, we feel that we’ve executed well on our design goals for JESTER 2.0. JESTER is now almost fully built in a new Lua framework - and the C++ backend is only doing things such as feeding data from DCS to JESTER and his observations (e.g.; the state of a needle he can see, or what objects are actually in his vision cone).


    The rest of JESTER’s logic is fully built in the Lua layer, with his “brain” being composed of a few key parts. These are structured mostly like a behavior tree, with independent nodes of each type, and with a heavy focus on composition over inheritance. Meaning, you can compose together behaviors, actions, and conditions in a very freeform way to make JESTER do certain things. Let's break them down, as those of you who will be modding JESTER will become familiar with them over time:


      • Intentions and Plans:  This is a high level node, and all the subsequent nodes fall under these. Intentions are things such as: Don’t die, or Bomb that Bridge. Plans are the actual behaviors that comprise a said intention; such as “Ingress on point X and then turn towards the Bridge to drop the bombs”. This particular layer of JESTER will not be fully active on EA launch, as it is deeply complex and will tie in with the work we will continue to do on the more high level, strategic/tactical elements over time. Lets move on to the meat and bones though;

      • Conditions: Conditions are nodes that can be used for many different things, but are primarily composed together into Situations. A condition can be complex, checking many different parameters, or just a simple, one line check of something, e.g. altitude, distilled into a “IsHighAltitude” condition.

      • Situations: Situations are collections of conditions, and activate Behavior nodes. Conditions can be composed using your typical expected AND, OR keywords and when all conditions are met, behaviors are activated or deactivated.

      • Behaviours: Probably the most important node. Behaviour nodes are activated by Situations, meaning when a Situation has all of its conditions met, one or several Behaviours can be activated. Behaviours can contain complex logic, but ultimately, their purpose is to have JESTER do something. Thus, one can say that the purpose of a Behaviour is to trigger Tasks.

      • Tasks & Actions: A Task is one or more Actions, collected together into a task. Simple, right? Examples of a Task can be, e.g. “Enable battery power” - which would contain two Actions: Flip Gen Switch L and Gen Switch R. This is the most low level Jester node. Sometimes, you may find yourself just wanting to have JESTER say something, in this case, you’d just spawn a SayTask which contains one Action: Say phrase X. Ultimately, all of JESTERs behavior boils down into these final nodes.

    For EA release, our goal is to provide the basic functions to let you operate the aircraft solo or in Single player, with some of the additional 2.0 layers on top. While he is currently still fairly basic in his functionality, the goal is to make him much smarter than JESTER 1.0 post launch.

    This primarily refers to the higher intention and planning nodes above, and as this involves very complex decision making and logic, it will be refined over time through EA and when building JESTER nodes for future aircraft. The intent is to make JESTER fully capable of assisting the player in core functions, such as pro-actively sanitizing the sky and searching for bandits, and allowing the player to interface with JESTER in a smooth way in order to reach specific functionality. Where the higher level features come into play are things like better prioritization, memorizing the “who should be who” when losing and re-establishing a picture, but also to some extent, interpreting tactical intention of the player. Another feature that will be added post launch for JESTER 2.0 is a much more integrated understanding of air to ground, and of course operation of the pave spike and pave tack pods. 


    Behold: The Context Key


    A new feature of JESTER 2.0 supporting the player to interface easier, are the contextual actions, which can be carried out through pressing the context key in certain situations. For example, if the player has selected the dive-toss delivery mode and is generally set up for A2G (sight set to a2g), pressing the context key will have Jester lock the ground return that is directly behind the reticle. He will additionally stabilise the pave spike cross on whatever is under it in 12vis, and for a2a and radar operation short and long press of the context key allows you to either switch your priority target, focus on a specific target, lock a target, unlock a target or return to regular scan. 


    While currently the contextual actions are still basic, we plan on expanding this feature during EA, including a pointer for more accurate placement and granular selection (for example of targets displayed on the radar) and other, more complex forms of communicating your intentions to JESTER. Overall they will help you do certain things we do repeatedly in the jet without having to step through the JESTER menu. Things a pilot could convey to his WSO in a few simple words, an ability that we as players lack. And do not worry, we heard you: we also included a specific IFF request command this time that you can map separately, if you need him to IFF quickly. Naturally, we want to expose all Jester commands to mappable inputs long term (and already have done so with most), so that you can make use of 3rd party programs such as voice attack and more.



    Jester Navigation

    Another feature complete for JESTER is JESTER Navigation. This includes his ability to follow a flight plan, in fact two flight plans, a primary and secondary, deviate from either, and seamlessly resume from any turn point belonging to either flight plan. As briefly shown in Episode III of our Phantom videos, this feature is already in place and almost complete. Post launch we will add specific type waypoints that will allow us to naturally define JESTER’s behavior according to where the player and JESTER are in the flight or mission plan. For example he will be able to recognize a CAP station and leapfrog between two waypoints for a defined amount of time. He will be able to recognize IP and TARGET points for an attack and plan accordingly, even without the bombing calculator - in a way we want the player to plan and brief the attack with JESTER together based on natural input, like selecting the ordnance, the delivery mode, the VIP/IP, the TARGET, the PUP, the DMPI and more. Other such waypoints that we want to add will include FENCE IN and FENCE OUT, a NAV FIX point, and ultimately also an ability to guide the player through published approach and departure procedures for at least a few bespoke airports. 


    Longevity and versatility is at the core of JESTER 2.0, as he will be eventually able to support any number of crew members. The API and scripting support for JESTER 2.0 will also allow the community to mod him to their own desires, but also other studios and professional creators to incorporate him in their modules. He will be much more modular and adaptable, also in hindsight of our own future modules, like the A-6, where player and bombardier-navigator are seated side by side and require a whole new set of interactions. 


    Our current focus in fleshing and polishing out the last bits of JESTER 2.0 for release lies on his operation of the radar, missile advisory calls, WVR improvements and a completely overworked and new Vision Algorithm, allowing him to be both more useful and, cough, less annoying during air combat maneuvering. 


    We hope you’ll enjoy your first flights with JESTER, and we’re excited about the more unified, long term and stable technology base for this part of our products moving forward.





    The Future


    The Future for the F-4E Phantom II is promising, while our focus of course now lies on tying up all loose ends and bringing it into your hands as swiftly as possible. Believe us, if we say, we cannot wait for you to try it. But Early Access launch, of course, only marks the beginning of a journey we invite you all to embark on with us together. Post EA launch lies a lot of work to be done for us, including more performance optimization, character customization, the DMAS -E, and more. We’ll be in touch with the final feature and post-EA launch feature list in the coming weeks.

    We cannot wait to finally start this journey with you all, with your input and feedback and suggestions, helping us to elevate the Heatblur F-4E Phantom II to new heights of simulation fun and adventure. 

    Thank you for your kind patience. We do not take it lightly, and we hope you can forgive us the delay and will eventually agree that the wait was worth the while. 


    Sincerely,
    Your Heatblur Team




    37 comments


    • James

      The 21st of May is over and no trace of the F-4!!!! Shame on you! I want my money back!


    • X-MAN

      I would like to say to everyone that EA and RAZBAM are currently experiencing various problems, which may or may not affect each company, but I don’t know if you are all idiots, but delays can happen in any development team, and further delays in this WIP, which has no definite date, will not have any disadvantages. I don’t know if you are stupid or not, but delays can happen in any development team, and I am appalled at your lack of patience, and I feel that we, the users, will not buy or play unless we pursue the ultimate reproduction, and I even feel a lack of responsibility for your words. The developers are working hard to release the game as soon as possible, and if you feel that they are working hard to release the game as soon as possible, then you should not have a problem with a little extra time.

      Finally, congratulations to everyone at HeatBlur for their investment in the development and release of this game, and we wish you the best of luck in your future endeavors.


    • James

      This is unacceptable, how do I get my money back! Six months and still nothing!!!


    • Fred

      You apologize for the silence, but it seems you didn’t learn the lesson.

      April has passed along with the first week of May, and yet there’s been no further communication/status updates about the delay.

      Regular updates, even if there’s little to update, are the key to modern customer service.


    • Fabio

      I will never buy one of your modules again! Over six months since I bought the F-4 and it is nowhere to be seen!


    Leave a comment

    This site is protected by hCaptcha and the hCaptcha Privacy Policy and Terms of Service apply.