The past month has been exciting – there is no other word that we can use.
From a development perspective we’re on the verge of being able to provide a modern, interactive development environment to our community. With the work of Eluvatar a Visual Studio Code (VSC) extension is close to release that provides intellisense support for map scripters, mod makers and game developers. And with the work of Ejsstiil the Lua debugger that ships with the game is fully functional again when you work from your development environment. Programmers understand how critical these features are for the development of essentially anything.
And from a user perspective the game has never been more performing. Specifically the unfamously slow ASF battles has been tackled. For the majority of matches the game no longer slows down, with the assumption that there is no potato processor participating in the match.
All of that shadows all of the other critical work that has been done the past month with thanks to all the remaining contributors, including SpikeyNoob, Hdt80bro and LilJoe7k4 who made their first contributions to the game repository.
A great deal of appreciation towards everyone that made this patch possible.
I hope you all enjoy the lack of APM during a late Seton’s Clutch game,
With kind regards,
Jip
Bug fixes
- (#3896, #3899, #3901) Fix UI elements ignoring the console command UI_ToggleGamePanels
- (#3909) Fix enhancements ETAs leaking to the other screen when using split screen
- (#3876) Sanitize weapon target priorities of Point Defenses
This fixes the issue that point defenses are not firing while a target is in range - (#3923, #3924) Fix an economy related glitch that allows you to gain resources free of charge
- For all intends and purposes we will not dive into the details
- (#3946) Fix damage of child projectiles, such as Cybran tactical missiles after they split
Features
- (#3887) Introduce Intellisense support for the FA Visual Studio Code (VSC) extension
As map scripters, mod makers and game developers we have been living in a cave. But no more – thanks to the work on the extension and the work in this pull request we are slowly introducing annotation across the repository. For this with programming experience: it is like the introduction of Typescript, after working for years on ends in JavaScript. This also works when you have no development environment for the FA repository on your system, see the readme on the GitHub page of the FA repository for more information. - (#3938) Revive the FA Lua debugger
Revives the FA Lua debugger when you are working from your development environment. Allows you to set breakpoints and inspect the stack, locals and globals. Extremely useful when you are debugging your maps, mods and when you’re working on game development in general. Requires a development environment in order to work. You can set this up in half an hour, see the readme on the GitHub page of the FA repository for more information. - (#3883) Introduce a UI to keep track of the mass fabricator behavior
The UI element is to the right of the economy panel. It can be dragged horizontally by using the middle mouse button. - (#3889, #3906) Improve in-game chat settings panel
Fixes various small issues with the chat panel and allows you to view and inspect the changes in the settings live by using the apply button. - (#3863) Pimp the Aeon Quantum Optics Facility
The unit was unfinished in every regard – as part of a live programming session we improved the feeling and aesthetics. - (#3905) Add guidelines for a development environment for FA for Linux-based operating systems
For more information, see the work instructions of the GitHub page. - (#3933) Use playable area instead of map size on the default scoreboard
- (#3835) Introduce a builder pattern to create UI elements
An alternative, more modern approach to creating, positioning and checking of UI elements.
For map, mod and AI developers
- (#3884) Add support for a unit.IsCivilian flag
Introduces an easy to use flag to indicate whether a unit belongs to a civilian army - (#3894) Add support for a unit.ImmuneToStun flag
Introduces an easy to use flag to make a unit immune to stuns - (#3894) Add support for a shield.SkipAttachment flag
Introduces an easy to use flag to allow shields to function when attached - (#3944) Add support for multiple upgrade animations via the function unit.GetUpgradeAnimation
Performance
- (#3845) Reduce table allocations when defining weapon target priorities
- (#3875, #3945) Reduce memory impact of units, weapons and props
- (#3891) Sanitize guard scan radius of units
The guard scan radius is used by units on attack move or patrol to find and engage hostile units in their surrounding. The value was all over the place and could cause serious slowdowns, especially during the late game. - (#3892, #3903) Sanitize footprints of air units
All non-experimental air units had a footprint size of 1 – the size of a wall. Because of that there were two issues: due to their proximity it introduced mesh intersections that break the immersion of the game. And due to their density it causes performance issues. From now on all bombers have a footprint size of 4, all gunships have a footprint size of 3 and all interceptors have a footprint size of 2. - (#3930) Remove dependency on the schook folder
Improves code maintainability and reduces the amount of hooks that ships with the game. - (#3857, #3931, #3950) Sanitize weapon parameters
There are three crucial parameters that determine the behavior and performance of weaponry: the weapon target check interval, the weapon tracking radius and the retargeting behavior of weaponry. The weapon target check interval is now based on the rate of fire of the weapon. The weapon tracking radius is reduced to 7% for non-anti air weaponry units and 15% for anti air weaponry. The retargeting is disabled unless the weapon is considered artillery or anti air. This slightly changes the behavior of units, by standardizing their weapon parameters. In return, the game performs a lot better and units respond more consistent based on their weapon statistics. - (#3949) Reduce impact of props on FPS
Aligns the rendering distance of props with the base game - (#3943, #3951) Reduce impact of mesh entities on FPS
Aligns the rendering of various mesh-based entities with their respective size. As an example, the adjacency node was rendered up to the same distance as that of shields.
Other changes
- (#3885) Fix argumentations for the Hunter AI
- (#3879) Fix minor issue with lobby
- (#3881) Refactor effect files of the Lighting Tank
As told to us by Rowey – we’d be lost without him. - (#3895) Fix minor issues with the initialisation files
- (#3907, #3926) Improve the /nomovie command line switch
- (#3908) Introduce a /nomusic command line switch
- (#3904) Fix game options menu not being scrollable by mousewheel
- (#3913) Fix issues with the .gitignore of the repository
- (#3921) Add tooltip to patchnotes button in the lobby
The mighty Rowey – at work again. - (#3882) Fix bone names of the upgraded Hives
- (#3925) Fix the width, padding and layouts of various UI elements
- (#3912, #3724) Add in remaining base game blueprint and script files
Greatly improves code maintainability of working on the game as a whole. - (#3947) Fix UEF engineers not applying their water animation
- (#3948) Fix a rare issue where the speed adjustment of (slow) hover units caused an error
- (#3941) Fix categories mismatch for the Atlantis
Contributors
- LilJoe7k4: (#3845)
- speed2: (#3885)
- 4z0t: (#3879, #3883, #3835)
- Jip: (#3895, #3894, #3884, #3875, #3863, #3891, #3892, #3903, #3923, #3913, #3924, #3857, #3931, #3912, #3724, #3944, #3947, #3946, #3945, #3948, #3950)
- Ejsstiil: (#3896, #3889, #3899, #3907, #3908, #3909, #3904, #3906, #3901, #3926, #3925, #3937)
- Madmax: (#3863, #3951, #3943)
- SpikeyNoob: (#3905)
- Tagada: (#3876)
- Rowey: (#3921, #3881, #3882)
- Hdt80bro: (#3933)
- Eluvatar: (#3887)
- Uveso: (#3941)