PANPC 2.0.3 Released: New Arena Mode!
Added 2022-02-14 23:21:30 +0000 UTCThis week I did a lot of work in PANPC to improve the threat identification and response systems of the Base AI variant. I just wasn't happy with how cocky Deathclaws were getting.
Most of the optimizations and improvements since 2.0 have been in the Base script, and I've decided that rather than attempting to do all those same fixes in the other variants, I'm simply going to finish work on Base and then recreate new versions of all the variants on that code base. I did something similar in 1.9.
As usual, you can get 2.03 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.
Improved Threat Response
For a long time now, PANPC AIs have attempted to determine whether a given target is "scary": if they are significantly higher level and/or HP, or are in power armor, or are one of the most dangerous races (Deathclaws, etc.). If so, the AI makes some tactical adjustments to fight more cautiously and to try to create a bit more distance for ranged attacks.
This has not always worked great. The retreat ranges weren't good enough, the decision making wasn't fast and reliable enough, and raiders kept trying to pistol whip Deathclaws.
In the 2.0.3 Base AI (Raiders, Gunners, COA, etc.), the "scary" analysis is now a tiered system and is much more nuanced. Enemies are now ranked from "not scary at all" to "terrifying". Terrifying enemies are the ones most able to kill their target in one or two hits, and have really nasty kill moves - the only viable survival strategy is to run, hide, and hope to get lucky with good cover.
When any Base AI detects a Terrifying enemy, it now sends a signal to its team, and the entire team shifts to a highly defensive stance until the threat passes. They will maneuver, spread out, opt for ranged attacks, and generally try hard not to get stepped on.
Improved Weapon Preferences
PANPC AIs attempt to keep track of their "best" ranged and melee weapons, switching to those weapons when they decide to switch to melee or ranged combat stances. Up until now, this determination happened each time the NPC obtained and equipped a new weapon, which works fine with normal vanilla enemies that won't generally be spawned with both melee and ranged weapons. For NPCs that spawn with both types, the melee weapon tends to be forgotten.
All AI variants now iterate their inventories on the AI startup, identifying preferred melee and ranged weapons right from the start. So expect now to see more weapon switching out there.
I've also consolidated three different weapon analysis routines into one, eliminating a lot of code redundancy and boosting performance enough that I was forced to recalibrate the Base AI's Throttle system to compensate for the faster execution speed. In addition to the performance improvement, occasional instances of conflicting weapon decisions have now been eliminated, making the combat AI more stable.
Arena Mode
Saving the best for last! Since I began recently posting war game videos, people have asked me for better tools to create fun war game scenarios for themselves. So I got some code together and put together a new spawning system: Arena Mode.
Arena Mode allows you to spawn tough enemy teams - Boss and Legendary class, mostly - near your current position, with the aim of reducing you to tiny flaming splinters.
To spawn an Arena team, go to the "Arena Spawning" section in PANPC's MCM menu. There are currently ten preset teams. Click one, close your Pip Boy, and in a few seconds you will get an onscreen notification that the team has been spawned.
At this point it will be heading in your direction and looking to fight. The Arena team is set to Very Aggressive/Foolhardy, has an enemy relationship with the player, and is spawned already in combat with the player. They're coming to play.
(Combat with Arena spawns shouldn't affect quests or faction relationships. If it turns out they do, I'll get that fixed for v2.0.4.)
Next Steps
After v2.0.2, my plan was to set PANPC aside and get back to work on PACE. However, I tend to take my lead from player feedback and there was still some work to be done on PANPC. I've since made more optimizations and restructured the Base AI script to significantly reduce redundancy and streamline everything.
Optimization in the Base AI is pretty close to done for now. In v2.0.4, I plan to recreate all of the other AI variant scripts based on the Base AI script, which should result in an impressive overall optimization boost for PANPC. Then I hope to park PANPC dev for a little while, backport those same optimizations into PACE, and give more attention to companions for a while.
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.
So that's it for now. Have fun, drop by the GG Discord and say hi, and stay safe (but not TOO safe) out there in the Wasteland.
All my best,
- G.