Game patch 3728

21

On the 20th December, the day after the finals of LoTS, the developers patch is due. You can find the most recent patch notes on Github. With thanks to all the people that helped with the patch in some fashion. Whether that is by developing, reviewing or testing by playing on the FAF Develop branch and reporting back.

The milestone on Github is essentially empty. Note that it says 3726 because of two additional hotfixes required for the beta patch. With that over 86 pull requests and / or issues have been tackled - and hopefully with many more to come with future patches.

At this point the FAF Develop branch is stable. Stable means that games play as expected - no crashes that alter gameplay significantly. With one more week to go I am asking you all to help test the developers branch by playing on it. In general there are only benefits: improved features, less bugs and better performance. By hosting on FAF Develop and reporting back either in this topic or in #game-testing on the official discord you can help guarantee it is as stable as possible when we release the patch. For once I'd like to release a patch with no hotfixes after the fact.

For quick-access I copied the patch notes into this post. They are not final - as an example I still need to read through them and fix typo's 🙂 . You can find the most recent patch notes on Github.

Patch 3730 (23th of December, 2021)
===================================

Games using the featured mod Nomads will break when playing the Aeon 
faction until Nomads has been updated by its maintainer.

### Features
 - (#3627) Whitelist Kyro's lobby
    The file `kyros.nxt` is now white listed. If you intent to
    work on this lobby, please consider working on the lobby
    of the repository instead.

### Bug fixes
 - (#3628) Fix inconsistency with hover queue
 - (#3626) Fix issue with insignificant units and campaign levels
 - (#3625) Force recompilation of shaders due to Nomads shaders
 - (#3624) Fix highlight of selected units to drop in transport
 - (#3624) Fix template menu that allows you to rename / delete templates

### Contributors
 - 4z0t (#3624)
 - Jip (#3627, #3628, #3626, #3625)
Patch 3729 (20th of December, 2021)
===================================

### Features
 - (#3615) Happy Christmas (in advance) ^_^

### Bug fixes
 - (#3618) Fix scale of Seraphim build effects
 - (#3618) Fix issue with disconnection window for auto lobbies (ladder / tmm)
 - (#3618) Revert removed effect template for backwards compatibility with mods
 - (#3620) Add delay to ringing feature to prevent malicious intent
 - (#3621) Fix backwards compatibility with mods

### Contributors
 - 4z0t (#3615)
 - Jip (#3618, #3620, #3621)
Patch 3728 (20th of December, 2021)
============================

### Features
 - (#3484, #3500, #3535, #3600, #3604, #3610, #3611) 
    Allow more structures to be cap-able using a similar mechanic to storages for extractors.
    This changes the ringing behavior to:
    - 2 clicks + shift to mass storage an upgrading t1 extractor
    - 1 click to mass storage a t2 / t3 extractor
    - 3 clicks to shift + mass fab cap an upgrading t2 extractor
    - 2 clicks to shift + mass fab cap a t3 extractor

    - 1 clicks to mass storage a t3 fabricator
    - 1 clicks to pgen an t2 artillery
    - 2 clicks + shift to pgen an upgrading t1 radar
    - 1 clicks to pgen an t2 radar or t3 radar
    - 1 click to wall a t1 pd
   
    General rule of thumb:
    - Typical: click
    - Upgrading: shift + 2 click
    - Dangerous: shift + (regular click count + 1)

    Shift was already part of the feature and is extended to prevent unintended ringing.
    
    Assisting behavior
    - When all engineers are of the same faction, they can all build the same storage. No assisting happening.
    - When you have engineers of two or more factions, one must assist the other as they can't build the same storages.
    - When you have engineers of one faction and units that can't build the storage (kennel drones, ACU) then they must assist an engineer as they can't build the storages themselves.

    This option can be adjusted in options -> gameplay. Search for
    the field 'Automated Structure Encircling'. Options are:
    - Off
    - Only mass storages and extractors
    - Full suite

 - (#3597, #3604, #3605, #3607) Add factory queue on hover
    This allows you to get a quick overview of the factory queue by
    just hovering over the unit. Especially useful for casters as
    you can now view the factory queue without switching to the army
    in question.

    Can be adjusted in the options -> interface. Search for the 
    field 'Show Factory Queue on Hover'. Options are:
    - Off
    - Only on when observing
    - Always

 - (#3531) Add an option to scale down the UI (to 80%) for low resolution monitors
    This doesn't appear to be an issue at first due to the infinite 
    zoom but when the score board takes up 50% of your screen due to a
    1024x720 resolution then it suddenly is.

    Not all of the UI can manage this - please report issues in #game-general
    in the FAF discord when you find them.

 - (#3554) Add quick-swap feature to lobby for the host
    As a host you can quickly swap two players by
    left-clicking on the slot numbers of two players. It
    highlights to teal (light / bright blue color) when
    in swap modus. Click the highlighted slot number to
    cancel.

 - (#3616) Expands the disconnection dialog
    A host can now set a lobby option to change the
    delay required during a disconnection dialog. This defaults
    to the current behavior but can be set to 10 and 
    30 seconds.

    The exit dialog is now on top of the disconnection dialog, 
    instead of the other way around.

 - (#3602) Overhaul of the cheat spawn menu
    Adds a basic prop spawn mode. Units are spawned using the 
    command feedback on the spawn location. If spawning 
    multiple units they spawn in a box formation. Multi column 
    support and customizable in the game options. Dynamic 
    support for custom factions. Adds in a toggle for 
    revealing hidden-from-spawn-menu units

### Stability
 - (#3477) Prevent clearing critical state in AI functions
 - (#3490, #3551) Refactor the init files of the game
    This is an involved change but one that was due. 
    
    The init files can no longer load in content that clash between
    the base game files or between older versions of the same mod.
    This could also occur when the mod was not activated for sound
    and / or movie files.

    The client supports loading content from a separate vault
    location, the init files need to support this functionality
    accordingly. The init files of the game types FAF, FAF Beta
    and FAF Develop support this functionality. Other game types 
    need to be updated accordingly.

    The vault location determined by the client is used to load in
    content (maps / mods). Any other location is no longer read and
    therefore any map / mod in the other locations are not found
    by the game. If after this patch you 'lost' a few of your
    maps and / or mods it means that they were in an old vault 
    location - you'd need to move those manually.

    Adds icon support to FAF Beta.

    Adds the ability to more easily block content that is integrated.

 - (#3527) Integrate the Nvidia Fix mod and block the mod from loading
 - (#3543) Prevent applying bugs to insignificant units, like the Cybran build drone
 - (#3550) Attempt to fix Rhino from missing its target 

### Bug
 - (#3522) Fix upvalue issue of patch 3721
 - (#3486) Fix (mod) units being unbuildable due to error in UI
 - (#3432) Fix overcharge occasionally basing its damage on the previous unit it hit
 - (#3316) Fix experimentals doing death damage upon death during construction
    Monkeylord: only when fully complete as it sits
    Megalith: only when fully complete as it sits
    Colossus: when complete 50% or more
    Ythotha: when complete 50% or more

 - (#3440, #3604) Removes the dummy drone from the unit restriction list
    This drone was often misintepreted as an easy way to unrate a game. In
    contrast to what the name suggests it does have a function: to help gift
    units when a player dies and full share is on. The drone can no longer be
    restricted and instead there is a dedicated lobby option to unrate the
    game.

 - (#3525) Fix the unpathable skirts of the Seraphim Quantum Gateway
 - (#3582) Fix Aeon aim bones being underground when building
    This fixes the famous issue where an unfinished t1 pd 
    attracts a lot of fire, but because its aim bones are still
    underground all the attacking units shoot at the ground. No
    more!

 - (#3581) Fire Beetle properly applies EMP / stun buffs
 - (#3601) Fix Seraphim t3 MAA from zapping through shields
 - (#3599) Fix consumption bug introduced by #3447
 - (#3598) Fix Rhino overshooting its target.
 - (#3598, #3614) Fix errors on gifting when full share is enabled
 - (#3596, #3617) Fix typo that prevents cybran build beams from spawning
 - (#3609) Fix inconsistency with SACU presets that prevent them from having custom strategic icons
 - (#3612) Fix kennels not spawning their drone when you immediately queue up an upgrade

### Other
 - (#3480) Update visuals for the UEF T2 PD and Destroyer
 - (#3523) Switch off debug utilities by default
    This is only useful for developers, but it did cause
    a (slight) drain on resources when it was turned on
    even though you're not looking at the logs. It turns it
    off by default during each startup, you can prevent 
    this as a developer by adding
    `debug = { enable_debug_facilities = true }`
    to your preference file

 - (#3417) Add unit tests for generic utility functions
 - (#3420) Fix small issues for units of the Cybran faction.
 - (#3492) Remove greyness when deviation is high
    In combination with other work, such as combining the number of
    games people played across the board (ladder / tmm / globals)
    it should become easier for people to 'get into' custom games
    without being called a noob beforehand or a smurf afterwards (never
    played custom games, but played a lot of ladder).

 - (#3475) Fix capitalisation consistency
 - (#3443) Allow trashbag to be re-used for effects
 - (#3489) Fix UI description of teleport
 - (#3491) Fix the attack animation of the Monkeylord
 - (#3349) Updates the readme with the most recent dependencies
 - (#3461) Remove game quality computations for games with more than two teams
    The Trueskill system is not designed to compute the quality of a game 
    when more than (or less than) two teams are involved. Hence, the 
    computation is gibberish anyhow.

 - (#3526) Remove the curated maps button until an alternative is available
 - (#3528) Fix T2 seraphim sonar being restricted when t3 base spam is selected
 - (#3533) Change default settings of auto lobby to 1.5K unit cap and full share (used by ladder / team match making)
 - (#3441, #3614) Introduction of insignificant or dummy units
    This introduces a new unit class that can be used to fix
    various bugs and glitches with the game. One such issues
    is the long standing bug with the Aeon build animation where
    the aim bones are underground at the start of construction.
    
    Sadly, this change is quite involved because a lot of the
    functionality expects a full-fledged unit. We've tried to
    catch some of these but there will be more issues that will
    show up, especially with scripted maps.

 - (#3552) Update regular expression of mod version removal
 - (#3558) Restrict t2 artillery orientation to 90 degree angles
 - (#3582) Fixed various issues with the Aeon build animation
    As an example, hover units no longer jump to their hover
    elevation when they're finished. All experimentals have
    unique build animations that fit the style of the faction.

 - (#3586) Force shader re-compilation on development branches
 - (#3583) Update URLs to https instead of http
 - (#3567) Fix graphics of Summit and Fatboy
 - (#3606) Fix (build) icon of Seraphim T3 MAA
 - (#3607) Fix Cybran ACU not having the right amount of build bots when enhanced
 - (#3613) Add a hotkey to select all idle scouts

### Performance
 - (#3417) Add minor performance improvements for generic utility functions
 - (#3447) Removed old AI related code that was being run regardless of whether AIs were in-game
    This change is involved performance-wise but does not impact gameplay.

    As a practical example: chain ten engineers assisting one another and make the
    first engineer assist a factory. With these changes they'll start assisting the
    factory one by one as it takes one tick (simulation tick) to detect the unit
    it is assisting has started working on something.

    The previous behavior would be that all engineers get updated immediately. This
    required it to search for engineers in its surrounding and all those it found
    would need to look up its surroundings too. This can quickly get out of hand.

 - (#3502) Optimize the import function that is used by all files.
 - (#3512) Removes AI threat computations and fixes AI detection
    AI code was being run during every game even when no AI was present in
    said game. After discussing it with the AI devs this pull requests
    completely removes the threat computations.

 - (#3419) Reduce impact on sim of common hover emitter effects
    Effects have an impact on the sim, in particular when they create a 
    particle. Once the particles exist they appear to be free of charge. 
    With this PR we reduced the number of particles created for various 
    units such as the Aeon T1 engineer to bring them into the same cost
    range (sim wise) as the other engineers, without impacting their
    visual appearance too much. Disables the hover effects of these units
    all together when playing on low fidelity.

 - (#3557, #3617) Fix and improve performance on Seraphim build animations
    The old version had complicated logic and various
    computations that were not required. The new version is 
    better for performance and a lot more smooth with regards
    to the build animation.

 - (#3582) Prevent unneccessary allocations during the Aeon build animation
 - (#3587, #3589) Optimize most common called unit functions
 - (#3595, #3590, #3588, #3617) Optimize weapons

### Contributors
 - Askaholic (#3417, #3440)
 - Madmax (#3420, #3419, #3582)
 - Uveso (#3477)
 - Rowey (#3475, #3528, #3533, #3583, #3606)
 - Jip (#3443, #3316, #3491, #3447, #3484, #3492, #3500, 
        #3522, #3512, #3440, #3419, #3525, #3526, #3490,
        #3527, #3531, #3543, #3411, #3551, #3550, #3557
        #3558, #3582, #3581, #3587, #3589, #3601, #3600
        #3599, #3598, #3595, #3590, #3588, #3586, #3567
        #3604, #3607, #3610, #3609, #3611, #3612, #3613
        #3614, #3616, #3617)
 - KionX (#3486, #3489, #3523, #3349)
 - Crotalus (#3432)
 - Benzi-Junior (#3461)
 - Balthazar (#3552, #3602)
 - 4z0t (#3554, #3597, #3605, #3607)
 - Marlo (#3582)
 - Eternal (#3597)
 - Tagada (#3480)

### Reviewers
 - Balthazar (#3484, #3587)
 - Relent0r (#3512)

### Translators
 - Lenkin (#3440)
 - 4z0t (#3597)

A work of art is never finished, merely abandoned

Changelog has been updated to match commit ca43c5c.

I'd also like to use this post that you can provide feedback on features and / or changes that you do not appreciate. Stating it in a game that you are playing and then forgetting about it means you'll have a nasty surprise the 20th as then the patch is integrated into the default branch and at that point feedback has a three month delay until you see it live again.

You can leave feedback on the FAF Discord in the #game-testing channel. As an example: Because of @TheWheelie the factory queue on hover feature now has an observers only option and because of @Swkoll and @CheeseBerry the shift requirement has been adjusted for the capping feature. It is now only required when upgrading (as it is now) and when trying to do something dangerous (like capping fabricators).

A work of art is never finished, merely abandoned

Thank you everyone for your great work.

Im just confused as to why we are changing the current system that already works.
If u want to cap mexes then make a template or click and place why fuck around with the game when it already works fine.

Not that I dont appreciate all the work im just confused.

Ras Boi's save lives.

Was discussed already

Where is the discussion?

Ras Boi's save lives.

Don't remember, lol

And on the official Didscord in either #game-testing or the thread about capping 🙂 . If you set the option to extractors only then it is the same behavior as before.

A work of art is never finished, merely abandoned

Great so I now have to change game settings for something that wasnt an issue before. Lovely stuff.

Ras Boi's save lives.

yeah,was about to make a forum post about it,can we not have it automatically turned on? or rather can those be set up/generated when making a new game.prefs?
last time,it took me a while to realise i wasn't high and my mexes had the setting on:D

queuing with a newbie to show him the beauty of tmm and meeting tagada be like:
https://www.youtube.com/watch?v=yLcRpdZ0Xb0&ab_channel=Tomoko

I think you guys can just go and turn the settings off, it won't take more than a minute or two. I think you guys are looking at a tiny issue when compared to how great it is going to be that we get more customization in our own gameplay.

Congratulations to all the contributors on this patch, I'm loving all the capping (way more intuitive) and how we were able to provide our own feedback as community members on the official FAF Discord. Your hard work is greatly appreciated and pushes FAF to being a greater game everyday! ❤ ❤

FAF Website Developer

When introducing a new feature there's two things we can do:

  • (1) We turn the feature off by default.
  • (2) We turn the feature on by default.

If we pick (1) then new players will not be aware of the feature and they'll likely never use it even though it can be a great feature. If we choose (2) then the best we can do is inform people they can turn it off, but everyone does get to experience it.

When adjusting a feature we have one additional option:

  • (3) We add a 'legacy' option where the behavior is the same as before.

If we'd choose (3) then we'd have the same issue as (1) where a lot of people would never know the full potential of a feature as it is 'hidden' in the options menu. Therefore it is again best to turn on the entire feature and inform people they can change it in their game settings with a similar rationale to (2).

Bottom line: if we'd always disable features by default then we may just as well make no more features at all as nobody gets to use them. As an example of a great feature that is turned off by default: being able to drag / drop the queue of a factory to change the order. That allows you to move an engineer to the front of the queue without wasting the queue.

edit: note that this feature can be tweaked by UI mods in the patch after this patch (3.g., 3729). That way everyone gets to define their own behavior as they see fit.

A work of art is never finished, merely abandoned

@jip said in Game patch 3728:

Bottom line: if we'd always disable features by default then we may just as well make no more features at all as nobody gets to use them. As an example of a great feature that is turned off by default: being able to drag / drop the queue of a factory to change the order. That allows you to move an engineer to the front of the queue without wasting the queue.

Well case in point, I didn’t know this was integrated into base Faf… why is this not on by default with a loading screen tip? I see no downside to it…

put the xbox units in the game pls u_u

@zeldafanboy said in Game patch 3728:

@jip said in Game patch 3728:

Bottom line: if we'd always disable features by default then we may just as well make no more features at all as nobody gets to use them. As an example of a great feature that is turned off by default: being able to drag / drop the queue of a factory to change the order. That allows you to move an engineer to the front of the queue without wasting the queue.

Well case in point, I didn’t know this was integrated into base Faf… why is this not on by default with a loading screen tip? I see no downside to it…

Not totally related to this patch but gotta comment, I tried this feature before long time ago but encountered some issues, for instance the queue could reset/stop the factory back then if you tried to swap the order. Not sure if it has changed since then.

More on-topic, I did a few test games with this patch and it did feel significantly smoother later on in the game with many units on the field, so looking forward to the release.

Yeah, the draggable factory queues are extremely buggy and cause people's factories to randomly break in weird ways. Tex was having a lot of issues until he turned that off. It is good that it is disabled by default and an argument could be made that it should be removed from FAF.

I have no issue with that game being "improved" and the patch making speeds better and anything like that. But I am yet to actually see someone simply state what the benefit is to this new mex capping, to the engi assist orders or anything.
Will a dev please put in simple terms what the actual benefit is.

Ras Boi's save lives.

@thomashiatt if that is the case then it should be fixed or removed. I never experienced issues, but maybe I'm not using it often enough.

A work of art is never finished, merely abandoned

@noonecares said in Game patch 3728:

I have no issue with that game being "improved" and the patch making speeds better and anything like that. But I am yet to actually see someone simply state what the benefit is to this new mex capping, to the engi assist orders or anything.
Will a dev please put in simple terms what the actual benefit is.

Note that this feature already existed in the game - this patch works with what was already there and tries to improve it. The feature (if I am not mistaken) was already enabled by default. The idea of the feature at the time was to reduce template usage because that can be apm intensive.

First of all what it improved upon:

  • When capping the group of engineers assists one engineer and that one has the orders issued. This would cause issues where an engineer would lose the assist order for some odd reason, causing half of them to move on to cap the next extractor. If I am not mistaken this is described by blast_chilled a post that I can't find anymore.

Then what is added to it:

  • Being able to cap various structure that you often see capped in-game, such as radars (with pgens), mass storages (with fabricators, when surrounding an extractor), t2 artillery (with pgens), t1 pd (with walls) and tech 3 fabricators (with storages).

Note that this isn't originally my idea - someone mentioned it on the forums, some people agreed (including me) and I started working on it. And here we are now, where you can determine to have the old behavior (except for the assisting behavior) and the new behavior (with all the additions).

A work of art is never finished, merely abandoned

Ringing structures and reclaim seem like basically the same thing to me. You gotta click some stuff quickly and accurately to get an economic boost. With reclaim you get attack moves to help you a bit, and with capping you can make templates to help you a bit. Now people have decided that auto-capping things with 1 click is okay, but using area commands or reclaim macros is still deemed a bannable offense. It seems quite logically inconsistent to me. If clicking reclaim quickly and accurately is important, then placing ringed structures quickly and accurately should be considered equally important.