PANPC 2.0.4 Released: Full Arena Mode!
Added 2022-02-20 19:58:12 +0000 UTCSo Arena Mode is done for now. All of the AI scripts have now been updated to the 2.0.x optimized Base version, so you should see a performance gain as well as faster decisions by the AIs. And I put a keyword leash on some NPCs.
I'll get a video done, probably on Tuesday, showcasing Arena. Then I'll resume war games and - hopefully - redirect my attention more fully towards PACE again.
As usual, you can get 2.04 on the GreslinGames Discord, in the PANPC #releases-latest channel. You will need the Citizen role to access it, so jump in #role-requests and ask for it.
The full PANPC Changelog can be found here.
Optimizations
Since 2.0 was released in December, I have been working to get done a long list of optimizations and fixes that I wanted to have in 2.0 but had lacked the time. Most of those are done now and are present in all the AI variants. You should see a performance gain, as well as faster AI decisions.
If you are still using the 2.0 public release, you really need to update: the difference between 2.0 and 2.04 is on par with the difference between 1.8 and 2.0.
Leashing
This isn't super significant, but there are NPCs in the vanilla game that are intended to not act as nomads. They generally act as guards - DC Security, Goodneighbor Watch, etc. - and are meant to stay within the general vicinity of their initial spawn locations. In the past, I've dealt with this via hardwired code in the variant scripts.
In the process of standardizing the variant codebases in 2.0.4, I encountered this problem again and decided to implement a more portable solution: the PANPC_KW_IsLeashed keyword. Guards, Settlers, etc. - anyone intended to be "leashed" - already now has this keyword. However, if you need to mod an NPC to avoid wide patrolling and raider-like nomad movements, give them the keyword and they should act like a local homebody.
Likewise, you can remove the keyword dynamically from an NPC and you will let them off their leash. They will roam much more.
Arena Mode: Now With Waves!
Please note: This refers to PANPC v2.0.4 or better. V2.0.3 contained a limited prototype of Arena - if you are still using it, please upgrade.
PANPC 2.0.4 has a completed version of Arena Mode.
Arena is now a reasonably self-contained combat game, allowing you to spawn multiple waves of Boss and Legendary-level enemies somewhere near your general location. Once spawned, they will enable with PANPC AI, including custom search/hunt actions unique only to Arena actors, and they will begin searching for you. When one sights you, it will summon the rest of the team to help narrow the search.
Unlike normal PANPC AIs, Arena actors are specifically focused on you. They are already aware of your general location, and are already intent on fighting. They will hunt you down and they will find you - unless you manage to find them first.
To use Arena, select the Arena Spawning section of the PANPC MCM menu. Select the number of attack waves you want, and then click one of the listed teams. Each wave will consist of the same team, but as each wave progresses, the enemies will be increasingly likely to spawn as higher level and tougher versions of themselves.
Once you close out your Pip Boy, you will get an onscreen notification stating that Arena is now in session. A brief delay will happen as the spawner finds a decent location, and then you will get another notification and a bell ring. This indicates that the wave has been spawned and is now starting an approach.
When all existing Arena enemies are dead or missing (i.e., they have left the cell for some reason), the wave is complete and the next one will launch with tougher enemies. When all waves are complete, you will get a notification and a sound cue that the Arena session is over.
Some other important rules:
- The Arena session is limited to the cell in which you started it. If you leave the cell, the remaining waves are aborted, the Arena session ends, and any remaining living Arena enemies are despawned.
- Arena enemies do not consider themselves as being in the same “pack” as their faction-friendly peers, and vice versa. They will engage in combat with faction-unfriendly NPCs as normal, should they encounter them. (Arena combat shouldn’t impact main game faction relationships. If it does, please let me know so that I can fix it. Thanks.)
- Sometimes the Arena spawner will place an enemy wave in an inaccessible location, or at a position that requires the player to go looking for them.
This is unfortunately unavoidable. Due to how the Fallout 4 navmeshes are designed, I currently have no way to determine if a given location has a clear path available to the player. Arena spawn locations are generally random, with preference given to locations at least 2000 units away from the player and outside of the player’s current line of sight. Some areas in the game world will be better suited to Arena than others.
If this happens and you simply cannot find the team, leave the cell, come back, and the enemies will have despawned. You can then start over.
Arena spawns will always use PANPC AI unless their specific profiles are disabled in MCM.
If you want to use Arena but not use PANPC AI on any other NPCs, you can do that. Go into the Debug MCM menu, and turn off NPC Registration. This will prevent PANPC from acquiring NPCs for AI registration, but it does not affect Arena enemies - in this case, the only NPCs in your game to use PANPC AI will be the Arena spawns.
Next Steps
Now I really would like to take a break from PANPC. I will continue to do war games videos, and of course will continue to release bug fixes and the like, but I'm satisfied with where PANPC is at the moment and I want to get back to PACE.
First step with PACE is going to be a full optimization, to bring it on par with PANPC. Look for some first movement there in the next week or so.
In the meantime, I'm still producing PANPC war game videos for the GreslinGames YouTube channel. Discussion and critique are happening on the #pack-attack channel of the GreslinGames Discord.
All my best,
- G.