Search the Community
Showing results for tags 'bots'.
-
Hey there, so I've been playing PR for a long time, 8 years now, since i was 14 actually, i used to play PvP and I'd probably play more, but there are too many other things competing for my time to commit to a full round anymore - and I'm not one to just up and bail mid-game if I can help it. PR COOP, was always an adequate alternative,but repetitive & predictable with static emplacements & spawn points,to the extent where a simple duplication of an identical strategy in a previous round is all that is required to quickly win a round. As a matter of principle i never complain about things for which i have no solution, so what follows are tested suggestions & solutions to enhanced PR coop, eliminating some of the more nuanced complaints about coop through better game logic, ai configuration & server configuration, imho. I figured it's a new decade, i might as well create an account here on VG & reality-mod forum, given I'm still playing this damn game after all these years, and if nothing else, I'd hopefully have contributed something to the way people play PR. NUANCED WALL OF TEXT INCOMING... I've always avoided the tedium of repetition & boredom by playing as many roles & using as many varieties of assets as i can, occasionally taking a long break, while I've always mostly played Arma 3(6000hrs+), KSP, MSFX or Insurgency more so than PR. And what I've come to realize especially from playing Arma 3 more often now is PR Coop can be made better, with simple changes to server configuration or more precisely introduction of new game-play alterations by means of the tested methods below, i hope you indulge me in considering these suggestions with the function of making PR coop a more challenging & therefore more enjoyable experience, something it only ever truly was, at least for me, only when i got started with PR, nowadays PR to me is like tetris, i know all the pieces, where & how they go & i only ever loose or fuck up like when I'm distracted by my phone(which happens a lot) or bs irl. -Most of the suggestions below were functional on a private server i used to play on, server went under, but the methods remained, albeit only in thy head. 1.A new class of players, 'curators' (per designation for zeus in arma 3), permitted one command, '!switch', yes I'm volunteering & no I'm not looking for a legitimate excuse to kill volod ;). It's a role i believe can throw a wrench in the camping tactic that permeates coop,where bots do the same thing over & over again & players do the same in return. Granted PR doesn't even come close to having anything like Arma 3 zeus\highCommand, however having a player curate bot behavior, does not necessitate direct control, you can exercise emergent control; -build emplacements which bots will automatically occupy, -deny access to areas through mines & emplacements funneling player movement, -create a more extensive & randomized spawn network for bots through fobs & as SL -simply transporting bots manually from point a to point b other than on foot -strategic asset suppression to extend the effective life time of bots(i.e kill enemy CAS with AA/AT to let bots push up farther for example), -,..., basically render every strategy from spawn camping to hovering because there's no active AA emplacements to hunting known emplacement locations pointless, i think PR provides adequate command tools & systems to allow this to be a plausible strategy at the very least, i understand working with AI in general,even in Arma, let alone PR is an undesirable if not repugnant proposition to most people because they're not as responsive as people,which in my opinion is an unreasonable expectation to begin with, but taken for what they are, rudimentary behaviorally constrained reactive logic(trigger-constraint-action) & given you understand the limitations of the bots(see "aidefaultstrategies.ai, aibehaviours.ai, aipathfinding.ai" & Battlefield AI - Advanced Topics, then it's basically akin to playing an RTS, effectively a little explored nondescript game-mode in PR. And to be clear, i suggest an alternative to admins taking on this role, as i highly doubt given the temperament & patience it requires ENOUGH existing admins are willing to put in the effort, as it's as only ever as rewarding as your expectations & I'm guessing most will have too low or too high an expectation from this approach, and given the single command provided, which the AD framework allowed configuring, though I'm not sure about RealityAdmin, there's little risk to exploring new people for the role as not much authority comes with it, just !switch. And I've seen how admins switching to bot team, works in servers like SSG for instance, which is little more than trolling players imho & i understand that is a reasonable point of concern for this approach, but with a set of well defined rules similar to those that exist already & with the large extent to which VG is moderated, i don't think that's much of a concern. I've spent a lot of time configuring,modifying & testing ai behaviors in bf2 over the years as a consequence of my compulsive curiosity in the topic at large, if there's one thing I've learned,it's the simple fact that no amount of config changes will make the ai as challenging as they can be when their behavior is properly configured AND that behavior is systemically curated... 2.A few more server side scripts that i think ought to be included, with minor modifications if necessary, which I'm willing to make if called upon.My python isn't too bad ;p. https://projects.uturista.pt/bf2tech/index.php/Scripts:AntiBaseRape ^players, including myself do this a tad too much,especially muttrah,where the spawn point for shilka's & so on is technically a base... https://projects.uturista.pt/bf2tech/index.php/Scripts:AutoMap Or, MM_MapAutoSizer is more compatible with mapvotes from my experience https://projects.uturista.pt/bf2tech/index.php/Scripts:MM_MapAutoSizer ^i understand there's already a map randomize active, but from what i understand, it's sole intent is to avoid repetition & does not factor in the number of players. https://projects.uturista.pt/bf2tech/index.php/Scripts:OfftimePy ^for the rare occasion no admin is online https://projects.uturista.pt/bf2tech/index.php/Scripts:ThreatAndWorth ^i much like this approach to the existing point system,in the abstract, it pretty much means a tank killed by infantry earns-looses more points than a tank killed by a tank, you get the drift. https://projects.uturista.pt/bf2tech/index.php/Scripts:TK_punish_announcer ^makes known the serial tk'ers in our midst with autokick, I'm nothing of the sort, i only had 200tk's in 2019, thanks for that damn list btw acro. >I've played with all the above & i think they'd make fine additions to the coop server, if you so agree. I authored none of these, scripts just happened to be used for the bf2-pr dedi of some arma 3 unit with which i used to play with, now defunct. 3.I understand that opfor events are few & far between because of the need for custom map config changes for each map,but I've experimented with a reliable alternative approach using autobalance that makes bots playable for either faction on a map. With a 0% AI balance where all AI are grouped to one side, a servers side script to teamswitch players on init will be unnecessary provided max AI defined exceeds the number of possible number of players 40pV40b for instance, now with autobalance enabled the sides chosen flip logically with the first round on mission start always deferring to opfor & the flipping the bot faction on every subsequent run, which logically flips player faction respectively, so take kashan for example, iff on init players are bluefor, with autobalance enabled, !reload, will reload the mission with bots as bluefor & players autobalance switched to opfor., Autobalance is disabled for a good number of reasons, but AUTOBALANCE + COMPATIBLE MAPLIST//where bots can put up an effective fight on either side,i.e Kashan NOT Jabal, Kamisiyah NOT MuttrahStd/Large, etc.. generally any map/layer(ex. ,muttrah inf vs std/lrg) where there is no body of water to traverse & player faction doesn't initially occupy the majority of sectors is a valid map//. So if nothing else, such a config that doesn't require individual map modification is a valid means of having playable opfor, but more so, such a variance will increase the variety of playable factions in coop and implicitly increase replayability. Too many people have this notion of the 'evil' autobalance, like all things, properly understood & configured, it can be put to great use, just a thought i feel warrants serious consideration. Maybe have an Autobalanced second server for greater variance, where you alternate between bluefor & opfor sequentially on suitable maps, using !reload to swap teams based on, say, a vote, see what people prefer? Or simpler still since i understand the reason for a single server, have days where server runs autobalanced with a logically selected maplist. 4.Modified AI Behavior, using core configs instead of map configs, the more practical means of doing so, I've attempted to see what such modifications are currently active & most modifications comprise individual map config changes which complicates updates though generally not tedious if scripted i guess,but even that contrasts the fact that the most meaningful(as a consequence of outcome) changes to ai behavior can be made in the core ai config. And based on what I've seen, there seem to be little divergence between stock ai behavior & in game behavior on VG,so maybe it's high time changes to ai are made, here are a few suggestions & examples... -Why Bots Swim? Water Weights for Infantry, the reason why bots swim in the open instead of walking where appropriate, aisettings.setVehicleMods Infantery StandardWeights aiSettings.setVehicleMaterialCost Infantery Ground 1 aiSettings.setVehicleMaterialCost Infantery Road 1 aiSettings.setVehicleMaterialCost Infantery Shallows 1.1 aiSettings.setVehicleMaterialCost Infantery DeepWater 6 ,this default config makes sense on very few maps & is the reason bots swim on pavlovsk or jabal & remember, if bots swim, they can't use weapons,so setting the DeepWater weight to 1, same as ground & road, will make them swim when no roads or ground exists in direction of travel,deferring otherwise, when not, with the occasional exception to the case, as is the nature of weights. Such simple changes are the difference between 40 bots LOADED ON MAP & 40 bots COMBAT EFFECTIVE ON MAP, an important difference, dare i say. More Examples Below: For example under standardweights (running on foot) aiSettings.createBehaviourModifiers StandardWeights aiSettings.setBehaviourModifier Avoid 1.0 aiSettings.setBehaviourModifier MoveTo 1.0 aiSettings.setBehaviourModifier Idle 0.1 aiSettings.setBehaviourModifier Fire 7.5 aiSettings.setBehaviourModifier Special 3.0 aiSettings.setBehaviourModifier TakeCover 2.0 aiSettings.setBehaviourModifier Change 1.9 aiSettings.setBehaviourModifier Revive 3.0 Revive from 3.0 to 8.0, meaning medics will revive before they shoot. aiSettings.setVehicleDefaultBehaviour Infantery Idle to aiSettings.setVehicleDefaultBehaviour Infantery MoveTo So that if the bot has nothing else to do, it's default action will be to move to the next objective. if you change these lines in the mod's \AI\Aibehaviors.ai file: aisettings.setVehicleMods Plane StandardWeights aisettings.setVehicleMods Helicopter StandardWeights to use custom weights as show (These lines are separate sections for planes and Helis) aisettings.setVehicleMods Plane StandardWeights aisettings.setVehicleMods Helicopter HeliMoveWeights where this is what the Planes and Helis currently use: aiSettings.createBehaviourModifiers StandardWeights aiSettings.setBehaviourModifier Avoid 1.0 aiSettings.setBehaviourModifier MoveTo 1.0 aiSettings.setBehaviourModifier Idle 0.1 aiSettings.setBehaviourModifier Fire 7.5 aiSettings.setBehaviourModifier Special 3.0 aiSettings.setBehaviourModifier TakeCover 2.0 aiSettings.setBehaviourModifier Change 1.9 aiSettings.setBehaviourModifier Revive 3.0 aiSettings.setBehaviourModifier c4 1.0 aiSettings.setBehaviourModifier Special2 1.0 aiSettings.setBehaviourModifier Special3 1.0 aiSettings.setBehaviourModifier Random 1.0 aiSettings.setBehaviourModifier Triggerable 1.0 Avoid is set to a weight of only 1, compared to fire which is 7.5. Where weights, used to adjust the chance of a bot choosing a specific action. The following modification to Plane & Helicopter weights respectively for instance make bot aircraft's far more dangerous & effective, remember, Bot Aircraft are disallowed to players because they mostly have unlimited ammo, changes below make it rain & the 'avoid' weights for planes for instance, though specified as a 2D collision avoidance weight seem to additionally influence the tendency of bot planes to attempt evasion towards their base, where AA emplacements are usually active so, the effects cascade, every change cascades. //Commented Lines Signify Default Values aiSettings.createBehaviourModifiers PlaneWeights // aiSettings.setBehaviourModifier Avoid 0.0 aiSettings.setBehaviourModifier Avoid 7.5 // aiSettings.setBehaviourModifier MoveTo 1.0 aiSettings.setBehaviourModifier MoveTo 2.2 aiSettings.setBehaviourModifier Idle 0.01 // aiSettings.setBehaviourModifier Fire 1.5 aiSettings.setBehaviourModifier Fire 8.5 // aiSettings.setBehaviourModifier Special 1.0 aiSettings.setBehaviourModifier Special 3.0 //^none primary weapons such as grenades, rockets, bombs,etc... // aiSettings.setBehaviourModifier TakeCover 0.0 aiSettings.setBehaviourModifier TakeCover 2.0 // aiSettings.setBehaviourModifier Change 0.0 aiSettings.setBehaviourModifier Change 1.9 // aiSettings.setBehaviourModifier Revive 1.0 aiSettings.setBehaviourModifier Revive 3.0 //^it has this weird effect where it makes them more likely to stay close to each other aiSettings.setBehaviourModifier c4 1.0 // aiSettings.setBehaviourModifier Special2 1.0 aiSettings.setBehaviourModifier Special2 3.0 // aiSettings.setBehaviourModifier Special3 1.0 aiSettings.setBehaviourModifier Special3 3.0 aiSettings.setBehaviourModifier Random 1.0 aiSettings.setBehaviourModifier Triggerable 1.0 aiSettings.createBehaviourModifiers HeliMoveWeights // aiSettings.setBehaviourModifier Avoid 0.0 aiSettings.setBehaviourModifier Avoid 8.5 // aiSettings.setBehaviourModifier MoveTo 1.0 aiSettings.setBehaviourModifier MoveTo 5.0 aiSettings.setBehaviourModifier Idle 0.01 // aiSettings.setBehaviourModifier Fire 1.5 aiSettings.setBehaviourModifier Fire 8.5 // aiSettings.setBehaviourModifier Special 1.0 aiSettings.setBehaviourModifier Special 3.0 // aiSettings.setBehaviourModifier TakeCover 0.0 aiSettings.setBehaviourModifier TakeCover 4.0 aiSettings.setBehaviourModifier Change 2.5 // aiSettings.setBehaviourModifier Revive 1.0 aiSettings.setBehaviourModifier Revive 3.0 aiSettings.setBehaviourModifier c4 1.0 aiSettings.setBehaviourModifier Special2 1.0 aiSettings.setBehaviourModifier Special3 1.0 aiSettings.setBehaviourModifier Random 1.0 aiSettings.setBehaviourModifier Triggerable 1.0 So for the most part bots don't suck because 'bots', but because they're handicapped by design in their configuration, which considers few players going up against them, Essentially, given VG is for the most part exclusively a COOP server, perhaps it's time to stop using stock AI configs for better custom configs, because the default configs simply weren't designed with 40v40 Coop in mind, they were seemingly optimized for single player & at most for just a few players. In the mean time i think playing with bots can be made more interesting & challenging through systems & tools already in the game without looking to the devs or scripts, which as awesome as they are, lets be real, bots are a low priority subsystem in PR,with primary focus on PvP, at least where R-DEV is concerned,so maybe it's time to consider pragmatic solutions such as those specified above. Here's a great article on gamasutra about how game mechanics translates to replayability, https://www.gamasutra.com/view/feature/131468/replayability_part_2_game_.php , a good read. SORRY FOR THE WALL OF TEXT, but despite all these years of playing PR, CooP is still little more than a shooting gallery,despite almost all suggestions above being made possible because of existing Battlefield 2 subsystems at the core & improving CooP using these subsystems is rare to see, i strongly believe there's still a lot of unexplored potential ,i play coop not as alternative to deployment, but as a discrete experience unto itself, with different challenges & fun to be had, bots are SHOCKINGLY not people & having SHOCKINGLY good aim, that's unrealistic as most would say, just a different set of challenges so far as I'm concerned, where people are smart bots are fast, where people are fast bots are faster, simple as that, where as i think most players especially new ones play coop for little more than practice or just the 'shooting gallery' bit, which it unfortunately is atm, especially when population exceeds 15. So perhaps it's high time you reconsider how we fundamentally play PR CooP as opposed to how it could practically be played to a more rewarding extent, using some of the suggestion above, which I've made certain are practical & well tested & not merely things I'd like to see happen. And please note, this comes not, from a place of entitlement nor prejudice(against bots;)) but of frustration & boredom at maps i know too well & bots i understand too well. Cheers & Regards, X0R.
-
Who's Online