Jump to content

Literally ANYTHING to stop ranged henchmen from brawling


Weylin

Recommended Posts

10 minutes ago, Weylin said:

Protector bot seems to do just fine staying at range, so y'all will really have to excuse me for thinking it's nonsense that the same behavior can't be conveyed to other ranged pets.

 

If Castle were as good at his job as Steampunkette is shilling him, he wouldn't have broken ranged pets to begin with.

 

You don't break something to fix something else.  Period.

  • Like 1
Link to comment
Share on other sites

2 hours ago, DR_Mechano said:

In a perfect world the team would have been sensible enough to have two different 'pet brains' depending on whether they were ranged or melee

More than two.  If I were in charge of coding a "CoX II", I would want:

  • Melee
  • Ranged
  • Buff
  • Debuff
  • Control

... and I'd also want to be able to specify a secondary behaviorset.  So pet X might be "Mainly Control with a dash of Debuff on the side", while Pet Y might be "Mainly Melee, with a little bit of Buff for flavor", etc.

Global Handle: @PaxArcana ... Home servers on Live: Freedom Virtue ... Home Server on HC: Torchbearer


Archetype: Casual Gamer ... Powersets:  Forum Melee / Neckbeard ... Kryptonite:  Altoholism

Link to comment
Share on other sites

Just now, Black Zot said:

 

If Castle were as good at his job as Steampunkette is shilling him, he wouldn't have broken ranged pets to begin with.

 

You don't break something to fix something else.  Period.

"Shilling" Sure. I'm shilling.

 

Or, y'know, just talking about a friend who I trust to do his job.

 

Sometimes a fix in one place breaks something else. That's just how it goes. Maybe not in carpentry or financial work, but when it comes to incredibly complex programming (Read: Spaghetti Code) it's always a possibility you have to deal with.

 

AI is a complex matter. And thanks to the game's engine being, what, almost 20 years old at this point? It was built on top of outmoded design for 2004, much less 2019. Shoring it up over the years to shoehorn in various functions it wasn't designed to have in the first place, like player-controlled AI dictating attack priorities, or indeed whether the AI attacked at all, was always going to be a hackjob. Forcing the engine to accept whole new commands and command structures that it wasn't designed for.

 

But it's easier to throw off little remarks about how 'you don't break things to fix things' or whatever. Fuck's sake, the man has been in game design since 1993 when he started working at Interplay. 

 

But nah. Dude doesn't know what he's doing, right? He only spent 6 and a half years working on City of Heroes. What the fuck does -he- know that you don't, right?

 

Shilling my ass. I ain't getting paid for this shit, and no amount would be worth it.

  • Like 5
Link to comment
Share on other sites

No. I'm not quite done on this point:

 

Castle started working for Interplay in 1993. That's the same year Ezra Miller, The DC Cinematic Universe's Flash, was born. You know when he left Interplay? 1999. The same year Cameron Bicondova, Gotham's Selena Kyle, was born. The Dude's career at Interplay is -bookended- by Comic Book Superhero Actor births, fuckin' Baller.

 

 1999? That's 2 years after Fallout was released. Not Fallout 2. Fucking FALLOUT. 

 

And before he worked for Interplay the dude was a Quality Control Tester for Blizzard working on the goddamned Lost Vikings game. After it he joined Quicksilver, then Cryptic, then Paragon, then Zenimax working on Elder Scrolls Online.

 

 

There are over 55 million people in the United States (Roughly 1/6th of the Population) who were born AFTER he started working in game development.

 

So excuse the fuck out of me for thinking he actually understands the game he spent half a decade of his life hammering away at day in and day out with enough spreadsheets to make all of EVE Online -blush-.

 

  • Like 3
Link to comment
Share on other sites

Castlle is a great guy, and he did the best he could with the shit-sandwich he was handed.

 

However, that doesn't mean I like the well-garnished shit sandwich he handed back to us.  Ain't his fault, nosir.  But I still don't like it.

  • Like 1

Global Handle: @PaxArcana ... Home servers on Live: Freedom Virtue ... Home Server on HC: Torchbearer


Archetype: Casual Gamer ... Powersets:  Forum Melee / Neckbeard ... Kryptonite:  Altoholism

Link to comment
Share on other sites

1 hour ago, Steampunkette said:

...

AI is a complex matter. And thanks to the game's engine being, what, almost 20 years old at this point? It was built on top of outmoded design for 2004, much less 2019. Shoring it up over the years to shoehorn in various functions it wasn't designed to have in the first place, like player-controlled AI dictating attack priorities, or indeed whether the AI attacked at all, was always going to be a hackjob. Forcing the engine to accept whole new commands and command structures that it wasn't designed for.

...

That almost makes sense, but only superficially, because there are plenty of AI routines used in the game that are fully functional for purely ranged entities. They will stay at range and never leave it. There are also fully functional AI routines for purely melee entities, who will promptly rush in to use their melee abilities (and any ranged abilities only when that fails). So what exactly is the cause of this inconsistent behavior with minions? It can't be that all minions share the same AI routines, because, again, some ranged minions work just fine. If the cause was shared AI, then all ranged minions would be equally messed up, and they're not. Because of this, there aren't a lot of possible causes: the AI specific to 'stupid' minions isn't being used properly (somebody copy-pasta'd a melee-specific AI routine for ranged pets?) or the abilities unique to each minion are confusing the AI positioning and ability queuing...or a combination of both. Maybe some ability-specific flag isn't getting set right. Maybe it's some part of the AI routine being initialized incorrectly because of its abilities. It's something along those lines. Clearly the existing system supports doing both melee and ranged quite competently.

Edited by GunnyBarney
Link to comment
Share on other sites

3 minutes ago, GunnyBarney said:

That almost makes sense, but only superficially, because there are plenty of AI routines used in the game that are fully functional for purely ranged entities. They will stay at range and never leave it. There are also fully functional AI routines for purely melee entities, who will promptly rush in to use their melee abilities (and any ranged abilities only when that fails). So what exactly is the cause of this inconsistent behavior with minions? It can't be that all minions share the same AI routines, because, again, some ranged minions work just fine. If the cause was shared AI, then all ranged minions would be equally messed up, and they're not. Because of this, there aren't a lot of possible causes: the AI specific to 'stupid' minions isn't being used properly (somebody copy-pasta'd a melee-specific AI routine for ranged pets?) or the abilities unique to each minion are confusing the AI positioning and ability queuing...or a combination of both. Maybe some ability-specific flag isn't getting set right. Maybe it's some part of the AI routine being initialized incorrectly because of its abilities. It's something along those lines. Clearly the existing system supports doing both melee and ranged quite competently.

 

That's not the point of the post which you quoted, so it's a bit of a strawman.

 

The post that you quoted was me expressing how "Fix this thing break that thing" is a function of working with spaghetti code, which has nothing to do with your point.

 

I've got no idea why they didn't 'Just copy-paste' the AI to work for all ranged Henchmen the same way. Maybe the engine's AI system had explicit limits on how many NPCs -could- just sit at range and they picked the ones that they felt needed it most. Maybe there's some kind of big resource-drain in the system that keeps that "Ranged AI" configuration from being spread to too many pets. Maybe magical fairies waved their wands and cursed the game to have most of it's ranged Henchmen run into melee for no apparent reason.

 

The why is up in the air and the amount of 'Shrug' in my soul would launch my shoulders to Neptune.

 

I'm not going to be digging into that code anytime soon to try and figure out why the AI works like it does. But. I trust Castle. If it was some kind of "Easy Fix" then it would've been done, whether by him or one of the other dozen designers and producers who worked with the code and read all of the same 'easy fixes' that people posted on the CoH live forums.

 

Link to comment
Share on other sites

If it’s true that Castle didn’t trust the players with just telling us why this was so unfixable, that’s really a shame. And a bit insulting. A lot of headaches could have been avoided for us.

 

Why couldn’t it have been done here, but it was done plenty elsewhere? AE mobs, some regular mobs, two henchmen types... why? Guess we’ll never know.

Edited by Shazbotacus
  • Like 1
Link to comment
Share on other sites

8 minutes ago, Shazbotacus said:

If it’s true that Castle didn’t trust the players with just telling us why this was so unfixable, that’s really a shame. And a bit insulting. A lot of headaches could have been avoided for us.

 

Why couldn’t it have been done here, but it was done plenty elsewhere? AE mobs, some regular mobs, two henchmen types... why?

*shrugs!*

 

Maybe it had something to do with how the AI Control was defered to the player? Maybe it had to do with the way the 'Follow' code was integrated into the Henchmen so they followed the player when they weren't commanded to stop or attack a given enemy resulting in them trying to 'follow' enemies they were set to attack? Maybe it had to do with the overall complexity of the AI and the one dude who truly understood it getting shitcanned early on in the process with other people reaching over to try and patch up what looked like his mistakes?

 

 Maybe it has to do with the fact that every NPC in the Henchmen pools is already a baked-together entity and you can't yank their AI out without rebuilding the whole NPC essentially from scratch and how much insane work that would be for 23 different entities, at least 4 of which have at least 3-6 different variations that would also have to be torn apart. resulting in the recreation of around 40 different NPCs whole-cloth.

 

Who's to say?

Edited by Steampunkette
Link to comment
Share on other sites

4 hours ago, DR_Mechano said:

Ok having a look at the pet powers list, Battle Bots and Assault bots all have a specific melee power called 'Smash'. What if we just removed that option from them during testing to see if it reverted them back to their original selves.

In the instance that I tried, like I said, it didn't work. For "Pure Ranged" sets at least, I got thugs going nicer, but there is still a bit of progress and decision making that needs to be done to get the other set's to behave.

 

One thing I'll do when I get home is see if Phantasm is using the correct config, because I saw a few pets that are not. If it's using the melee config that may be a simple enough fix for it at least, I can't remember anything I saw that would have caused a solo ranged pet with no melee to run in, especially when the other pets it could be teamed with are melee.

Link to comment
Share on other sites

32 minutes ago, William Valence said:

In the instance that I tried, like I said, it didn't work. For "Pure Ranged" sets at least, I got thugs going nicer, but there is still a bit of progress and decision making that needs to be done to get the other set's to behave.

 

One thing I'll do when I get home is see if Phantasm is using the correct config, because I saw a few pets that are not. If it's using the melee config that may be a simple enough fix for it at least, I can't remember anything I saw that would have caused a solo ranged pet with no melee to run in, especially when the other pets it could be teamed with are melee.

Gotta say Valence, you're doing the lords work and I hadn't realized you were already taking a look directly at the code, I thought it was speculation, my apologize.

 

If I may be so bold as to ask you, what is the difference in config between say Protector Bots and Assault Bots? As mentioned Protector bots don't have any melee attacks and don't randomly run in to melee, they sit at max range all the time so could you, in theory, give the rest of the bots the AI config for Protector Bots or does it not work that way?

Edited by DR_Mechano
Link to comment
Share on other sites

Just now, Weylin said:

Where can I find the source code related to henchmen? I'm combing through it right now but keep getting pestered, so I'll dig in later.

Your best bet is to probably rely directly with William Valence when he's available, dude seems to know what he's doing with regards AI and power modding. I tried to look up guides and could find things for tweak FX and animation but couldn't find any documentation for Pets specifically.

Link to comment
Share on other sites

7 minutes ago, DR_Mechano said:

If I may be so bold as to ask you, what is the difference in config between say Protector Bots and Assault Bots? As mentioned Protector bots don't have any melee attacks and don't randomly run in to melee, they sit at max range all the time so could you, in theory, give the rest of the bots the AI config for Protector Bots or does it not work that way?

The only difference I remember off the top of my head is settings for the Protector bot to establish valid targets for buffs. I can check that too when I get home.

 

3 minutes ago, Weylin said:

Where can I find the source code related to henchmen? I'm combing through it right now but keep getting pestered, so I'll dig in later.

52bce14a1196430b6ecabfb51ca930a4.jpg

 

One thing to keep in mind, is that the homecoming team is really trying to work to get everything official, so that's why I'm being purposefully vague and "hypothetical". Actual snippits or links to code are as far as I've been told, a no-no.

 

My hope is to get a setup that is functional for both ranged and melee, and translatable to future sets that I can just hand over, because it's really a mess and the team is doing a lot. And this is not something they can really split focus on.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

@William Valence ... if you can get the AI code straightened out for all sets, so they all work right and none are broken anymore (or at least, they are all LESS broken) ... I say you should be made an honorary Dev on the HC team.  Because, damn, man ... you'd be the absolute favorite of the MM subforum, for sure!!

Global Handle: @PaxArcana ... Home servers on Live: Freedom Virtue ... Home Server on HC: Torchbearer


Archetype: Casual Gamer ... Powersets:  Forum Melee / Neckbeard ... Kryptonite:  Altoholism

Link to comment
Share on other sites

There's like 20 different included files related to pets, and all of them are full of comments about "touch this and everything will @#$^ing break" 🤣

 

edit: hypothetically speaking of course

Edited by Weylin
  • Haha 1
Link to comment
Share on other sites

42 minutes ago, Weylin said:

There's like 20 different included files related to pets, and all of them are full of comments about "touch this and everything will @#$^ing break" 🤣

 

edit: hypothetically speaking of course

Aww I was hoping that there was little notes in the file from the devs saying that like kind of notepad post-it notes.

 

Also has a thought Valance, a better pet to look at would be the Lich, it also has no melee attacks and doesn't run into melee but it also doesn't have any buffs to give out IIRC.

Link to comment
Share on other sites

30 minutes ago, DR_Mechano said:

Aww I was hoping that there was little notes in the file from the devs saying that like kind of notepad post-it notes.

 

Also has a thought Valance, a better pet to look at would be the Lich, it also has no melee attacks and doesn't run into melee but it also doesn't have any buffs to give out IIRC.

Programmers -typically- make comments as they go, often, in case they have to come back or someone else has to work on the given piece of code. Stuff so they understand how it integrates with other code, which pieces are required to make it work, what variables are applicable.

 

I'd put money on it that there -are- comments like that in the pet code. And all over rest of the code, too.

 

 

Link to comment
Share on other sites

6 hours ago, Black Zot said:

 

If Castle were as good at his job as Steampunkette is shilling him, he wouldn't have broken ranged pets to begin with.

 

You don't break something to fix something else.  Period.

This is kind of basic in software development and is the difference between a solution and a kluge.

Link to comment
Share on other sites

7 hours ago, Steampunkette said:

We see that the Lich and Protector Bots don't have melee attacks. But we don't see what's different in the Lich or Protector Bots AI that causes them to function like they do.

 

But we can infer that it's either incompatible with other pets (for some reason or another), else Castle or one of the other powers team members would've "Just fixed it". However we know that pulling brawl "Breaks" the AI. Why? How? Fucked if I know. But apparently it does.

 

I don't think "Removing Smash" is going to be any different.

Castle really wasn't the best at "just fixing" things.  I still remember his just fix of the Mother Ship Raid.

Link to comment
Share on other sites

58 minutes ago, DR_Mechano said:

Also has a thought Valance, a better pet to look at would be the Lich, it also has no melee attacks and doesn't run into melee but it also doesn't have any buffs to give out IIRC.

The case of the Lich is what makes me most hopeful, being that from my observation it never approaches closer than 40 feet and just goes through its attacks on its way to and at its target range. I would also be very interested in knowing if that route could possibly bring any progress.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...