Linux Air Combat V8.44 Devlog (Mar2021)


Linux Air Combat V 8.44 represents the latest, greatest, most stable version as of this writing in late March of 2022. Recent improvements result in greater program stability, better support for players lacking a joystick, improved visual perception of network jitter, better support for laptop-style keyboards, easy access to online documentation without exiting from LAC, more robust player management, more robust handling of aircraft damage in flight, penalties for online "fratricide", and more powerful menu logic allowing easy cycling of RedTeam/BlueTeam affiliation without exiting from LAC, all while retaining operational compatibility with all of the previous production releases.

Files

Lac08p44.tar.gz 43 MB
Mar 31, 2021

Get Linux Air Combat

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

Changes in Lac08p44

This version derives directly from Lac08p42 (bypassing Lac08p43 which was never published). No major changes were made. Flight models and competitive, multiplayer aspects remain interoperable with all versions since 7.92, but I made a lot of small adjustments and minor improvements as follows:

I found and fixed a bug that had been sounding an irritating noise when landing a damaged aircraft. 

I fixed a bug that was causing bomber gunners to shut down their guns in preparation for landing whenever their aircraft was flying at extremely low altitude. This behavior is no longer desirable because so many of our new terrains include low-altitude canyons and valleys where aircraft like to fly low in order to avoid radar detection. 

I balanced the acoustic volume of all of the sound effects. Now the engine noise levels are more appropriate among all of the other sounds that are active in flight. Computer-generated voice effects from the "espeak" companion application are no longer so disturbingly loud. It is now easier for users to "tune" acoustic volume levels to their liking, and to balance them with sounds emanating from "Mumble", "espeak", "YouTube" documentation videos, etc.

I replaced the FIATG55 3d model (which had previously come from our less detailed, speed-optimized archives) with the slightly more detailed one from our standard archives because it looks notably better. (Anybody needing higher performance for missions featuring several of these planes can still download the speed-optimized version from our primary web site.)

Improved "USB Console Game Controller" support: Since about March of 2020, it seems that Joystick manufacturers have drastically cut or eliminated production, resulting in huge price increases for those lucky enough to find a joystick offered for sale. LAC's users, seeking a lower-cost alternative, have been making increasing use of USB "Console Game Controllers" instead. Because LAC has long offered powerful mapping of joystick axes and buttons to available flight functions, these users have enjoyed reasonable success, and some of them have developed surprising flight skills around this new arrangement. However, none of the available Console Game Controllers had enough buttons to grant easy access to all of LAC's most important flight and view functions. Accordingly, those players still needed to reach for keyboard keys from time to time (for example, for various combinations of target selection, RADAR range selection, target vocalization, landing gear, WEP, and the 6 distinct types of view zoom functions). 

I decided to enhance LAC with four types of new functions to address this deficiency. The basis for all four of these new functions is to "cycle" more comprehensively, through more options, when invoked through a single, associated joystick button or keyboard key. 

For example, previous versions of LAC use two distinct functions for "Target Select", requiring two keys or buttons (one for SelectNextRed, and the other for SelectPreviousBlue). I thought LAC should be enhanced with an optional, new, additional function that cycles comprehensively forward through ALL targets regardless of team affiliation, and that can be invoked with just one key instead of two. 

The same is true for Zooming the Map In and out, Zooming the RADAR In and Out, and Zooming the Field-of-View ("FOV") In and Out: In each case, I could cut the required pair of keys or buttons down to a single button by creating a companion function that would cycle through all available values, repeating the cycle endlessly if the player continued to press the associated control.

Accordingly, I created four new "Cycle" functions that can be activated as needed during flight. Each of the four new functions is available through two new variables that can be specified in the LacControls configuration file as follows:

   key_RadarZoomCycle (Mapped to "s" for "Sensor Range" by default)

   joystick_RadarZoomCycle

   key_TARGETCYCLE (Mapped to "t" by default)

   joystick_TARGETCYCLE

   key_ZoomFovCycle (Mapped to "f" by default)

   joystick_ZoomFovCycle

   key_MapZoomCycle (Mapped to "z" by default)

   joystick_MapZoomCycle

Brief offline testing of the resulting, default, joystick-based configuration confirmed good progress: All of the classic keyboard and joystick mapping still worked without change, and in addition, tapping "s" (for "SensorZoomCycle") invoked the new RadarZoomCycle function, tapping "t" invoked the new TARGETCYCLE function, tapping "f" invoked the new ZoomFovCycle function, and tapping "z" invoked the new MapZoomCycle function as expected.

Additional, more extensive testing with a USB Game Console Controller was gratifying: Players could then configure a lot more functions for easy access to throttle, rudder, elevator, and aileron axes, with six buttons for view direction, and one each for target selection cycling, radar range cycling, weapon selection cycling, target vocalization, primary and secondary weapon firing, flap extending, and flap retraction.

Even with all of those buttons configured in the default arrangement, most Game Controllers offer two more buttons that are "hidden" beneath the two analog axis controls. Each is accessed by pressing inward, whereupon the player feels a satisfying "click" as the associated button is activated. I wrote new logic to refer to and use these two buttons with the following new names, functions, and logic:

1 of 2: "ThrustTripleModifier". This is the button beneath the Throttle/Rudder axis. Depressing it activates one of three separate functions depending on the setting of the throttle axis. Under normal circumstances, when the throttle is resting in its spring-loaded center position, the ToggleUndercarriage function is activated. But if the throttle is slammed all the way up for maximum thrust, the ToggleWEP function is activated instead. Conversely, if the throttle is slammed all the way down for minimal thrust, the "ToggleSpeedBrake function is activated.

2 of 2: "ViewZoomCycler". This is the button beneath the Elevator/Aileron axis. Depressing it activates one of two separate functions depending on the current view mode. Under normal circumstances when the operator is looking out at the world through one of his cockpit windows, the new ZoomFovCycle function is ativated. On the other hand, if the operator is looking at the map, then the MapZoomCycle function is activated.

Significant online testing confirms success: Now users equipped with a low-cost, readily available USB Console Game Controller can use it with good success instead of a joystick. They have easy access to all 23 of these functions:

   01 of 23: Elevator Axis

   02 of 23: Aileron Axis

   03 of 23: Rudder Axis

   04 of 23: Throttle Axis

   05 of 23: LookFwd (Dedicated Button)

   06 of 23: LookBack (Dedicated Button)

   07 of 23: LookLeft (Dedicated Button)

   08 of 23: LookRight (Dedicated Button)

   09 of 23: LookUp (Dedicated Button)

   10 of 23: LookDown at Map (Dedicated Button)

   11 of 23: WEP (MaxThrottle & click)

   12 of 23: Undercarriage (CenterThrottle & click)

   13 of 23: SpeedBrakes (MinThrottle & click)

   14 of 23: Radar Zoom Cycle (Dedicated Button)

   15 of 23: FOV Zoom (Click Elevator/Throttle axis while looking out a cockpit window)

   16 of 23: Map Zoom (Click Elevator/Throttle axis while looking at map)

   17 of 23: Target Select Cycle (Dedicated Button

   18 of 23: Target Vocalize (Dedicated Button)

   19 of 23: Flaps Up (Dedicated Button)

   20 of 23: Flaps Down (Dedicated Button)

   21 of 23: Secondary Weapon Cycle (Dedicated Button)

   22 of 23: Fire Primary Weapon (Dedicated Button)

   23 of 23: Fire Secondary Weapon (Dedicated Button)

A photograph of a USB Game Controller of this type is available online, and it is marked with labels for each LAC's functions mapped as described above. You can access it here:

Furthermore: sounds are generally better balanced, acoustic distortion is notably minimized, engine noises are heard at more realistic levels, and landing a damaged aircraft is no longer accompanied by irritating, distracting noises. Furthermore, bomber gunners remain active and continue to defend their aircraft even when flying down at extremely low altitudes.

Changes in Lac08p42

This version exactly unifies all of the features of prior versions 8.40 and 8.41 other than installation location. As many of you already know, odd-numbered versions (like 8.39 and 8.41) install in the global /usr filesystem, while even-numbered versions (like 8.40 and this 8.42) install in the "home" folder.

The changes from V8.40 are minimal. (Some of the menu text has been clarified a bit, and subtle rudder-induced roll effects are modeled in flight.)

Furthermore, if you have already happily been using version 8.41, there is little need to update to version 8.42, since the operational features are identical.

The installer for this version copies all files into your ~home filesystem according to LAC's long-established pattern.