Stephen Cheney
Goblinworks Game Designer
|
| 8 people marked this as a favorite. |
I'm starting a new thread to try to have a productive discussion on this, as the other thread is already pretty heated. Let's please stop arguing about whether or not the system is leashing and talk about the pros and cons of potential solutions to what you don't like about what's going on right now.
The threat system we have right now is very simple. As Ryan pointed out, better AI has not previously been a priority, so, like a lot of our systems, only what we considered minimum viable AI was implemented.
There are a lot of things that seem simple to describe, but would be days or weeks of work on the part of our AI programmer. Our AI programmer wears several other programming hats, so asking for something hard to program means some other area of functionality that he's working on gets delayed. So I reserve the right to note that proposed ideas are much harder than you think, such that if you really, really want to push for them to be crowdforged, something else would probably get delayed. That's just the reality right now.
There are also variables in the system that I can change by just adjusting a spreadsheet, and I'll note those by bolding them. These are the things that, if something seems popular and well reasoned, I can just change and you'll see it in a build soon.
There is a much more complex AI system written up in draft form, but it hasn't been vetted by programming, so some ideas might just get "that's very similar to what we want to do, so I'll convey its popularity to the rest of the staff." :)
So the actual rules creatures are following right now:
- Creatures notice you when you get within 20 meters (shortened by being in stealth), and this immediately gives them 50 threat towards you. They immediately share this with all other creatures within 15 meters. (Known issue that one-shotting them at range keeps them from ever sharing this initial threat.) I'm not sure whether they get this initial threat on spotting you if you damage them from more than 20m, or whether they just share the threat generated by the damage you dealt.
- Damage you deal to the creature and damage dealt by the creature to you is converted to threat at a 50% rate (e.g., if you do 100 damage, it gets 50 threat). This is the only way to add threat currently other than the initial perception range.
- Creatures lose threat at a rate of 15 per round (actually tracked as .25 per tenth of a second). In combination with the 50% damage to threat rate, this should mean that if you're doing less than 30 damage per round (aka 5 dps) to the creature, and it's not hitting you, it will eventually give up and go home even if you're significantly injuring it over time. If they just got the initial threat, and have never hit you or been hit, they should give up after 10 seconds. (If you're positive you're doing more than 5 damage per second on average, and it's still giving up, please give us a write up on exactly what kind of enemies and situation that's occurring in, as that's a bug. Also, if you're sure something got initial threat and gave up sooner than 10 seconds, that's also a bug.)
That's pretty much the whole of the system right now.
We did try a simple method of sharing threat regularly with the group rather than just on initial aggro. It resulted in an unfun situation where in an actual group, all the monsters would always focus fire on whoever had the misfortune to pull aggro on one creature. In the design, they're meant to share when they hit certain milestones (like hitting half HP or less) rather than constantly, but that was complicated enough to implement that it didn't make it into the priority list yet.
So please give us your thoughts, and please keep it constructive. I'd consider posts phrased something like "I suggest X. As I understand it the ramifications of that would be Y. I think it's worth it because or Z." to be the most helpful. ;)