Arma 3
Dynamic Horror Operations - Malden
Showing 1-9 of 9 entries
Update: Oct 27, 2024 @ 8:19pm

v0.25 Bugfixes and Performance Increases:

While trying to port to Yulakia and Livonia, it was made apparent that the old system would allow the spawning scripts to outrun the location selection algorithms. This is especially true if the map takes a long time to load (like Yulakia) or if there are a lot of mods loaded (thanks to Sandman in the Steam Discussion forums for bringing this to my attention). To fix this. I added in a check to ensure a location is selected and initialized before trying to spawn anything there.

Due to latency when a large number of enemies are active, I have enabled Dynamic Simulation on all enemy groups. It seems to have improved the lag with no ill effects, though some AI units don't follow DynamicSim

I also changed the destroy object trigger activation from an allObjects check (quite expensive) to a nearObjects one. This seems to have improved the performance of destroy objectives, especially when there are multiple of them in one mission.

To be able to tell if we're improving performance, I have added in a diagnostic polling system that polls every 15 seconds to give a server fps count, unit count, and displays how many units are still under dynamic sim. That will help troubleshoot the worst offenders for lag, though in the future I will reduce the polling time to 60-120 seconds.

Lastly, I also added a green glow to all destroy and retrieval objects that self-deletes when object disappears. This should help find fiddly little task objects and has been a source of many complaints.

Changelog:

Added:
- Added human-readable location names to all zone initialization and spawning diag_logs to better see where issues are arising.
- Added fn_diagnostics to generate a polling diag_log for performance troubleshooting
- Added a #lightpoint generation system within destroy and retrieve missions in fn_createTask to help highlight location of objective. Also added system to delete lights after task is complete. See fnc_spawnLight and fnc_destroyLight for more information

Bugfixes & Performace:
- Added a waitUntil in init.sqf to slow location initialization and spawning due to much larger maps allowing spawning to overrun the location selection algorithm.
- Added a while loop to initLocation that checks if the location logicObject is initialized and all spawns are ready before attempting to start spawning.
- Updated findLocation to set the correct location into the right index. Previously, if location1 initialized faster than location0, they would be out of sequence within the SelectedLocations indexes, causing all sorts of strange errors
- Added dynamic simulation for all enemy groups. Some mods are nicer with dynamicSim than others, though...
- Corrected for loop within fn_allEnemiesChase to not throw a million errors
- Changed destroy task trigger activation from { ({_x inArea thisTrigger} count allMissionObjects '#explosion' > 0) } to { (count (getPos thisTrigger nearObjects ['#explosion', 10]) > 0 } to improve performance and reduce allObjects checks

Update: Oct 21, 2024 @ 6:58am

This Halloween 2024 major update includes new support for the FAP Zetaborn Alienz mod, TTS Emissions (Blowout) mod, as well as 3 new types of ‘spook events’ and 8 more spooky sounds to creep you out on mission! More importantly, this mission was totally refactored with a new function system which results in a much more stable mission and serious performance improvements. There were also small bugfixes and quality-of-life additions added. See the changelog below for a complete list of updates and changes and have a Happy Halloween!

Most importantly, Dynamic Horror Ops has now been ported to Livonia, Esseker, and Yulakia! Go get them from the official release collection here: https://steamcommunity.com/workshop/filedetails/?id=3064136265

Changlog:
Added:
- Support for TTS Emissions (Blowout) mod that can generate a blowout event as a spook event. This addition required a spook event generation refactor that will allow more mod-specific spooks in the future
- Support for new FAP/Alienz Zetaborn units added to the mod. Both the FAP mod and standalone Alienz are now supported in DHO
- A new set of ‘jumpscare’ spook events that can create sudden noises and spawn a single enemy direct in front of or behind a player to scare the s**t out of them
- POG logistics finally saw fit to put out an anti-anomaly minefield around POG forward bases, leading to a significant decrease in anomalous spawn camping events. Now, instead of being ripped apart in the safety of their own base, POG Operators will only hear small explosions and the death throes of their enemies from the night (A new spawn protection system that will eliminate any enemies that get within a configurable distance (default radius 300m) from the ‘POG Base’ marker with a landmine-like explosion)
- 8 more spooky sounds from freesounds added to increase the creepiness factor during ops

Changed:
- A complete script overhaul and refactor into a function library. This required a new file tree system to support the in-game functions, but make it far easier to manage the scripts and much more performant during gameplay
- Updated Patreon whiteboard at base with new supporters (Thanks Patreon, YouTube, and Twitch channel members!)

Fixed:
- Locality issues with the heli LZ selection and mission insertion by moving these addActions into the init.sqf outside the server-only portions
- Removed a strange CUP dependency that somehow appeared

If you’d like to see the most up-to-date beta builds of DHO, check out our GitHub repository at https://github.com/UselessFodder/FS-DynamicHorrorOp

Update: Feb 12, 2024 @ 8:13pm

Update 0.14: Enemy Faction Select, Multiple Objectives per Play, and Mod Units Attacking Each Other Fix!

Based on feedback from the original release of DHO, this update adds significant new features to the mission that were highly requested. This is a summary of the changes and additions with the full changelog below:

Multiple Objectives: DHO can now spawn multiple objectives per play session, from 1 to 4, or randomize the number within the MP mission parameters. For SP, the number of missions is always randomized from 1-3. NOTE: In the future, an ‘endless’ mode will be added that will continue to spawn new missions forever, but first I need to improve garbage collection to not melt servers.

Enemy Faction Selection: The enemy factions are now selectable in two different ways: The first is a “theme” category that will select enemy units from the loaded mods that are relevant to the theme, such as Zetaborn for the Sci Fi theme or Empires of Old for the Fantasy theme. (NOTE: There is still an “Everything!” theme that will just take all of the units from all the loaded mods and throw them in together, like before). The second way is by selecting the specific mods to load yourself with the bottom three drop downs (follow the listed instructions for it to work!). SP missions will always load with the “Random” theme due to no mission params. Note that this was a huge overhaul that required an entire refactor of the mission generation algorithm, so I hope you all enjoy it!

Enemies No Longer Fight: Despite it being hilarious to see the infighting amongst the spooks, I added functionality so they now consider themselves friends and no longer fight. HUGE shout out to Drongo and DevourerKing for helping me to get these units playing nicely!

Various bugfixes and QoL improvements.

If you would like to play the up-to-date Dev builds and help test and provide feedback for future versions, follow the progress at https://github.com/UselessFodder/FS-DynamicHorrorOp or in the DHO channel in our discord at https://discord.gg/UselessFodder

Thanks to the FoddSquad and uty206 for helping to test all of these new changes and especially the Special Operation Division Patreon and Twitch supporters for continuing to support DHO development. If you enjoy DHO and want to toss a couple bucks to support future functionality, please consider the $5 tier at https://patreon.com/UselessFodder .

Full changelog:
ADDED:
- Mission theme selection under parameters that selects specific mods from the possible pool to ensure a consistent thematic idea. Files checkSpecificMods.sqf and randomMods.sqf support this new feature as well as the one below.
- Up to 3 different specific enemy faction mods may now be specified within the params to allow more fine tuned control of the player experience
- new mission param to select number of operational locations to generate
- initLocation.sqf that handles the creation of spawn locations, spawns units, and creates tasks for a given location.
- added a check within the zone selection algorithm to see if the center of the location is above water. This should resolve all of the 'harbor' spawns that causes the mission objects to not spawn correctly due to being underwater.
- generateLocation.sqf that executes a findLocation.sqf and then initLocation.sqf, thus quickly creating a new zone. To be used later for an 'unlimited mode'
- new "LastLocation" global variable that simply tracks the last place a mission was completed. Used for the new EXFIL mission generation
- two new variables are now attached to zone logic objects: _nearEnemyGroups and _farEnemyGroups. These hold groups spawned within the Near Radius and between Near Radius and 750m, respectively
- Triggers to initiate allEnemiesChase.sqf and farEnemiesCollapse.sqf have been recreated for all zones
- 2x POG patches added to description.ext in preparation for assigning to unit at a later date

CHANGED:
- SP missions are now defaulted to "Random" mission theme.
- If Drongo's Spooks mod is enabled, a DSA_Core module is spawned that sets all Spooks to side EAST. All other enemy units are also added to the dsaExclude list, meaning Spooks will not attack them
- If Devourerking's Necrophage Mutants mod is enabled, all other enemy units will be added to the isMutant list, meaning Mutants will not attack them
- A double check is performed after all units are spawned to ensure all enemy units are forced to side EAST
- All global variables for the zone creation, including zone name, spawn locations, and objective objects, have been replaced with localized variables. These local variables are now accessible from a logic object named "selectedLocation[x]" where X is the index within SelectedLocations that the logic is spawned within. This was a complete refactor of the location selection and spawning algorithm and may still have some bugs
- the final EXFIL task is now created when the number of tracked CompletedLocations is equal to the number of SelectedLocations entries. The inline function fnc_finalTask is called to generate the last task and the endmission trigger.
- allEnemiesChase.sqf and farEnemiesCollapse.sqf have been significantly modified to allow the new refactored mission generation
- Changed variable name in single player location selection to align with the multiplayer variable
- Added check for ACE in initPlayerLocal.sqf to squash an error popup if ACE isn’t loaded
- Updated SOD supporter whiteboard image (THANKS SOD!)

Update: Oct 31, 2023 @ 9:52pm

HOTFIX - Added Singleplayer Tag so the mission can be enjoyed in single player mode

Update: Oct 30, 2023 @ 9:11pm

Hotfix - Removed random CBA dependency
Hotfix - Fixed ill-aligned helipads

Update: Oct 28, 2023 @ 6:49pm

v0.13 - Fix: Some modded units suddenly stopped tripping "EAST PRESENT" task trigger, resulting in premature purge. Changed trigger to "count (units east inAreaArray "selectedLocation") == 0" and that works for some reason!

Fix: Retrieval items were falling through objects, so I disabled simulation and made them float 0.1m above the ground until I can figure a better way.

Changed: Set the location selection algorithm to select a spook zone > ~450m away from base due to some... unexpected visitors while folks were playing tactical Barbie.

Known issues: Drongo's Spooks DO NOT play well with others. Drongo himself is helping me resolve the issue soon.

Update: Oct 28, 2023 @ 5:00pm

v0.12 - Fix: More issues with Drongo's never finishing loading. Added some error checking that helped in 99% of cases

Known issues: Drongo's Spooks DO NOT play well with others. Seeking an issue for this at this time.

Update: Oct 28, 2023 @ 3:26pm

v0.11 - Fix: Found an issue where if Drongo's Spooks was loaded alone it would never finish spawning. Added a check for the number of iterations to spawn each group and just move on if over this number.

Known issues: Drongo's Spooks DO NOT play well with others. Seeking an issue for this at this time.

Update: Oct 28, 2023 @ 9:51am