Hey, I'd like to share some thoughts and discuss - in the odd chance anyone cares about that.
Something I heard of a couple times a while back (and you might have too), that always appealed to me, was this story of someone that would have henchmen talk back-n-forth in scripted fashion over pretty long conversation scripts, using self loading binds to progress through. It sounds like a pretty cool way to make henchmen more dynamic and a bit more, uh, present and lively. But I figure it's still ultimately something pre-scripted and you get used to. Is it possible to do better than that ?
I previously set out to try and twist this idea onto some kind of dynamic combat feedback. Instead, you use /chatlog to dump combat logs, and an external app picks it up, parses it, aggregate recent data, and write bind files back to be used in-game. This would mean you can get your henchmen to react with snarky comments about combat situations (Ouch! You'll pay for that Paragon Protector Elite!) by periodically pressing the bound key.
This proved a bit challenging to put together in full and i still don't have a full prototype for that, but it definitely seems doable. However some tinkering yesterday brought me a different approach for which i managed to do something practical - and this is why I'm writing about it. I'm sure there's many more interesting things that can be done around this and it's a cool subject to bring up.
So instead, this one focused on a simpler aspect by using a bind you'd be constantly using anyway as mastermind: combat orders. Rather than just constantly going "By your command." couldn't these stupid robots be a bit more interesting ?
Idea was as follow: use a similar system of chain-loading bind files to go through a sequence. Sometimes the file's binds will just perform the order. Sometimes it will add extras. In extreme cases, it might just do something entirely different. Then it loads the next one. To bring a semblance of randomness, you have to generate a very long sequence (thousands) automatically.
In order to make the thing more interesting, i figured you could leverage the sequence to give the robots a bit more long-term life. So rather than just choosing from a single random pool of comments and edgy stupidities, you can split them up in, say, "moods", and have them transition from one to the other periodically. This can even be further exploited to introduce silliness such as malfunctioning robots that will do something else entirely.
A quick example of what this early proto looks like ingame as you give orders (with an occurrence chance like 30-40% of the time) - back to back without pressing anything else. Lines added to explicit the 'mood' changes:
[13:41] [Pet](Mekki)Vayu: Ready.
[13:41] [Pet](Mekki)Sagi: Attacking.
[13:41] [Pet](Mekki)Sagi: Engaging designated target.
[13:41] [Pet](Mekki)Vayu: Navigation target acquired.
[13:41] [Pet](Mekki)Sagi: Target location acquired.
[13:41] [Pet](Mekki)Larry: Holding position.
[13:41] [Pet](Mekki)Vayu: On the move.
[13:42] [Pet](Mekki)Kirby: Moving toward target.
[13:42] [Pet](Mekki)Sagi: Ready.
[13:42] [Pet](Mekki)Kirby: Terminating.
[13:42] [Pet](Mekki)Henry: Moving to attack position.
---
[13:42] [Pet](Mekki)Henry: Engaging target.
[13:42] [Pet](Mekki)Kirby: Plotting new course.
[13:42] [Pet](Mekki)Henry: General Navigation failure.
[13:42] [Pet](Mekki)Vayu: Movement order confirmed.
[13:42] [Pet](Mekki)Marty: On the move.
[13:42] [Pet](Mekki)Sagi: Securing perimeter.
[13:42] [Pet](Mekki)Kirby: Assessing nearby threats.
[13:42] [Pet](Mekki)Kirby: Movement order overriden by safety systems.
[13:42] [Pet](Mekki)Sagi: Attack order corrupted.
[13:42] [Pet](Mekki)Vayu: Plotting new course.
[13:43] [Pet](Mekki)Sagi: On the move.
[13:43] [Pet](Mekki)Henry: On the move.
[13:43] [Pet](Mekki)Henry: Plotting new course.
---
[13:43] [Pet](Mekki)Sagi: Let em' come, i'm ready !
[13:43] [Pet](Mekki)Vayu: Moving as ordered !
[13:43] [Pet](Mekki)Henry: On the move !
[13:43] [Pet](Mekki)Marty: I got your back.
[13:43] [Pet](Mekki)Marty: They won't be a problem much longer !
[13:43] [Pet](Mekki)Kirby: I'm on it !
[13:43] [Pet](Mekki)Kirby: I'm on it !
[13:43] [Pet](Mekki)Sagi: Engaging !
I'm sure there's many more cool things that can be done around this by playing with bind_load_file_silent. I figure some probably already have their own too. This is awful, awful early code, and not usable much, but still here's a quick look into the script/approach i used to generate bind files should anyone be interested into rolling similar things: https://github.com/fira/coh-moodbots
I'd very much love to hear more especially if others have been doing similar things or had such ideas, etc