Arctic Mud

ArcticMUD => General Discussion => Topic started by: Aristox on September 11, 2013, 01:34:16 AM

Title: Are mobs too stupid?
Post by: Aristox on September 11, 2013, 01:34:16 AM
I have been poking at the mob AI code (calling it AI is very much an overstatement) for another set of changes (which I will detail in a post soon) and I was considering a few upgrades. I am not talking about a massive overhaul, mostly a cleanup to make the code more readable and to assure that it is functional.  Once that part is done, I might put some effort into having the mobs make slightly better decisions.

So my question to the players is, should I bother?  Would smarter mobile actions be a welcome change or a terrible change?

I am not even sure how much better the decisions would be, but before I put any thought into it I was hoping for some input.

As a brief example of what I am seeing:  Mobs are weighted to cast spells, if they have them, WAY more than use skills.  So currently a paladin mob might do almost no skills throughout a fight just because it can mem spells, even if none of those spells are useful.  That would be changed to allow more avenging faith and strikes, etc.

I am being vague on purpose, so if you want details I will try to provide them, but don't count on it.
Title: Re: Are mobs too stupid?
Post by: sart on September 11, 2013, 01:57:03 AM
I like the idea.  It will make the game harder, but more in line with fighting a player. 

Mage mobs casting blur and shield against a melee class when they are at awful health never made sense to me. 

One big change that I think is needed but will make things harder is that thief mobs do not stab after couping presently.   If they coup, then they should stab.  However, some mobs stab damage is a bit out of line from what it should be at the same time.
Title: Re: Are mobs too stupid?
Post by: reed23 on September 11, 2013, 02:13:46 AM
My opinion is - yes, it would be cool if the mobs were smarter, but i think there are much larger fish to fry right now.  I am no coder, but i would imagine this would take quite a lot of time, so I guess i'm trying to say that this wouldn't be high on my priority list.
Title: Re: Are mobs too stupid?
Post by: fulloflife on September 11, 2013, 03:56:19 AM
far be it for me to tell you what to do with your time- seems to me there are better things to worry about.
Title: Re: Are mobs too stupid?
Post by: Zozen on September 11, 2013, 05:23:43 AM
I've actually found that some of the more interesting fights are the newer ones that have "smarter AI" incorporated into the mobs requiring groups to think about how to accomplish them. However, if you were to apply this in a more general sense across the game you'd make it more difficult for soloers/small groups. Some areas are only do-able right now because the mobs are stupid.
Title: Re: Are mobs too stupid?
Post by: Jorquin on September 11, 2013, 06:47:24 AM
mob ai is pretty bad

i can solo most of the healer +1 duo mob combos (of which theres a few) where one verbally whines for a heal, just by stabbing the healer once - after which they rest
so even if their duo partner does their "heal me ****" type spec when they're low, the healer is resting and they just die.

mobs rarely bash, often healers dont even heal themselves. dk mobs casting unholy might, mages casting weaken and shield. you'd have to be careful though, if you make it so every warrior is going to spam bash or the mages are going to just spam force bolt, game content will be significantly harder than it is now

it'd be cool to see some higher level mobs casting calm, like that mage at bmobs and stuff too
Title: Re: Are mobs too stupid?
Post by: Brad on September 11, 2013, 08:15:50 AM
The AI could be made better, but not too much please.  I think maybe kill the stupid spell casting by caster types and that would be plenty.  Lets not go too crazy... unless your making new mobs... goodie!

Title: Re: Are mobs too stupid?
Post by: Ezio on September 11, 2013, 12:02:22 PM
I think a slight adjustment would be helpful..

Always love seeing a high level shaman cast ethereal path as the first spell in combat.
Title: Re: Are mobs too stupid?
Post by: Tajs on September 11, 2013, 06:33:54 PM
Or just make the big mobs "legend" and use the high skills/spells a bit more would make mobs harder. I do remember the one time when mobs started sitting bashing players, much much death from that :D
Title: Re: Are mobs too stupid?
Post by: snax on September 11, 2013, 06:38:54 PM
Would it be a change that requires a wipe? if so do it!

Maybe can weight non disabling/lower damage skills (target/parry/fence/thrust) upwards also over disabling skills.  (avenge arm/offhand/leg higher weight than head) ?
Title: Re: Are mobs too stupid?
Post by: Zozen on September 11, 2013, 08:03:27 PM
I think in general the mobs are fine, but I'm sure if you set some parameters and instructions for a few 31-35's to go through areas and "edit the coding" on select mobs (i.e. end mobs, unique, rank mobs) to have better AI then it could be a fun benefit. Nothing crazy but scaling from low zones to high zones with increasing difficulty and increasing choice of selecting better spells/skills to use. I'd also like to see more "legendary" mobs with the legendary skills/spells. I think that could add some fun dynamics.
Title: Re: Are mobs too stupid?
Post by: Aristox on September 11, 2013, 11:31:35 PM
Just going to address a couple of themes in the thread instead of replying to specific posts:

1. This shouldn't be a priority.
   Sure. But I never said I was working on it right now, I said I was making other changes and re-noticed what a pile of crap state this code is in.  These kind of replies usually irk me because they ignore the request of the thread and try to divert the thread.  If you have a list of things you think are important post that list, don't come here and hijack.
**(If you are going to post a list of things you think are important to change please keep it to short bullet points, no novels, but try to make sure you what you mean is clear.)

2. <insert bit about mobs currently doing something stupid here>
  This is precisely the size of the change I am looking at.  I would like to make it so the decisions aren't completely stupid. Making smart decisions would be a much longer and more involved process.

3. Newer mobs doing smart things already.
  Most of you probably know this, but we have a system called sub-specs that can be used by creators to individualize mob (and obj, and room) behavior.  All of these smart things are because of the zone creators doing a lot of work with sub specs to make the mobs smart.  This process is very involved and very specific.  I want to make a set of general changes to the internal code for mobs that raises the bar a little, it would be outside the sub spec system completely.

4.  Legend skills/spells/instincts.
  This would be one thing I would like to address long term, probably not in the first pass of these changes.  It would require some creation changes so that only specific mobs could use these skills/spells and it would not be done soon either way.

5. Chain-bashing
  This would be avoided at all costs, but I would like to see mobs bashing casters more often, rather than bashing the tank.
Title: Re: Are mobs too stupid?
Post by: gulca on September 12, 2013, 12:12:03 AM
Would be great if the AI is based on finite state machines than a series of if/else statements. That way, you can build one complex finite state machines (adding more states as you go) and all the mobs can access them. If it's low int, it stays in the "stupid" state, if it's a "angry" or a "boss" it stays in boss states. So zone creators can have a variety of different behaviors just by giving them different "int" value.

I do prefer mobs to have certain predictable behaviors so it's up to the player to find out the best way to handle these kind of mobs.

Like for example, tracking mobs that bashes (with superb skills and no lag) are annoying when you are alone. You get around it once you realized it doesn't entry bash *if* you aren't standing. I consider this a real life learning on a player's skill. If you turn the mob into a "entry bash" no matter what, then it's quickly become a real drag. Or Galazor who keeps on spec'ing every round he's not disabled when he realized that's the most effective strategy.
Title: Re: Are mobs too stupid?
Post by: Dyl on September 12, 2013, 05:34:51 AM
All mobs should follow even if it isn't 'track.'. You aggro me bapt your face.

Alignment should cause more aggro than it does.  Towns included.  Rent in Neraka if you want to be evil.
Title: Re: Are mobs too stupid?
Post by: Dyl on September 12, 2013, 05:48:02 AM
Intellengent bash/stun/silence skill usage on all group members regardless of individual aggro.  Bash that afk healbot plz.
Title: Re: Are mobs too stupid?
Post by: Aemon on September 12, 2013, 02:18:04 PM
As a player, I haven't encountered a sky scout as a NPC (maybe I've just been doing the wrong zones).

I'd be willing to incorporate my skybot and healbot code into Arctic, both of which have been stress tested in pk. The NPC healbots like Amity and Walcanar are pretty dumb..

If the staff wants my druidbot or barbbot, I can contribute those as well.
Title: Re: Are mobs too stupid?
Post by: Jorquin on September 12, 2013, 04:36:54 PM
i noticed that a lot of dumb scout mobs try and shoot me when i'm rolling around on my thief

they never have bows, so if i fail the evade it doesn't show. but sometimes it's funny to see me evade their shoot skill as they engage
Title: Re: Are mobs too stupid?
Post by: gulca on September 12, 2013, 07:30:06 PM
i noticed that a lot of dumb scout mobs try and shoot me when i'm rolling around on my thief

they never have bows, so if i fail the evade it doesn't show. but sometimes it's funny to see me evade their shoot skill as they engage

I think its a bug of some sort. There are a few mobs that don't seem to do anything (beside melee) if you are using other classes. If you are using thief, they are actually using skills on you through the evade messages. Ghost skills?
Title: Re: Are mobs too stupid?
Post by: Hoss on September 13, 2013, 02:28:19 AM
Quote
5. Chain-bashing
  This would be avoided at all costs, but I would like to see mobs bashing casters more often, rather than bashing the tank.

BRB going to write a mob special so all feral cats chain bash at 100%
Title: Re: Are mobs too stupid?
Post by: Alecto on September 13, 2013, 04:49:44 AM
I distinctly remember a point where mobs starting bashing even when players were sitting (i.e. chain-bashing).  It really sucked.  I am glad that doesn't happen as often anymore.

If there were an improvement in mob AI I would really like to see it done mostly for end-game type mobs.  I don't think anyone wants the undead girl in the old solace magic school to start spamming color spray, or for Tultuk to start casting nightmare...
Title: Re: Are mobs too stupid?
Post by: Brad on September 13, 2013, 08:44:07 AM
Gulca, had a great idea going earlier in this thread.  I put it up to a couple of the University coders and they think this would be a great thing.  These guys code...all day...what a life.  One of them was talking about a Star Wars MUD that has implemented something like that already and it drastically changed the game, for the better. 
Title: Re: Are mobs too stupid?
Post by: Joe on September 18, 2013, 02:47:04 AM
I like it when watchmen enter a room with the corpse of a young boy or a girl and don't give a rats ass.

I know that's not the code you're talking about...but it's still pretty funny :)
Title: Yes and no.
Post by: Terk on September 21, 2013, 12:27:53 AM
As a creator, I'd say I made mobs basically as smart as I wanted them to be.

Some trivial fights do some weird stuff. Druid mobs casting resist heat when fighting a tank.

Mobs are stupid. Making them smarter hurts primarily mid level soloers.

Any mob for high levels considered too stupid can probably be adjusted on a case by case basis.
Title: Re: Are mobs too stupid?
Post by: Chisul on September 21, 2013, 02:46:33 AM
I agree with Terk on this. At first I was intrigued by the idea of mobs that play more like players. I think, so some extent, we have that in a number of mid and high level zones. Especially the new zones. I really enjoy watching a scout or shaman mob doing things that scouts and shaman do. Cleric mobs that animate would be another great example of mobs being "smart".

I'm all for tailoring specific fights the players or staff feel are broken...I know it's labor intensive and if I could code worth a crap I would help out.

Matt
Title: Re: Are mobs too stupid?
Post by: Jarrad on September 21, 2013, 08:21:49 PM
Personally I don't think mobs are too stupid generally. BUT some tweaking could be done, scouts should be using some form of instincts and fencing and riposting and wildfiring and there should be some form of shooting system put in place for those with bows (give them quivers and arrows). Barbarians should use their dances... Thieves should stab after couping... Probably not much need for paladin mobs to be memorizing righteous indignation... I would also suggest giving some mobs legendary status/skills. I think the wondering mobs like cabre fordus raple shyn and newport guildmasters could all be made legend as well as most boss mobs in high level zones... I would personally suggest a case by case approach with some testing after it is added. I thought giving dragons nightmare and blastwave etc was cool, but the 30 minute wear off for blastwave effect was not cool...

By testing, it would be quite cool to have <GOD> chars shouting to form a group to run the zones to test em using the playerbase as guinea pigs...
Title: My thoughts on adjusting the mob AI, very briefly
Post by: Nasredin on September 25, 2013, 05:57:58 PM
1)
Q: Why do we need smarter mobs at all?

A: To make the fights more challenging; in most games (and especially so in Arctic), challenge = fun.
"No more challenges" == "Game completed, move on".

2)
Q: Why not use alternative ways to make the fights more challenging?

A: The alternative way is to use brute force, make Cyan once again += 3000 hp and immune everything.
The downside is that extremely strong and extremely stupid mobs often have some trivial yet fatal weakness. Once the players discover it, the mob becomes easy.
If no such weakness exist, the only way to fight brute force is with even more brute force, which usually means a lot of grinding (run the same well-known zones again and again to gather 100 heal potions etc.)

3)
Q: Is it at all possible to implement smart AI?

A: Of course, yes. Many if not most of the players have lots of triggers and actions in their clients and issue fighting commands semi-automatically or even completely automatically (bots).

I have already suggested an idea to make a tournament of bots (the participants must submit their code for everyone to see). That code is exactly the AI we're looking for.

Unfortunately, that code may be written in a billion of different programming languages and would require porting to Arctic, which is a significant amount of implementation work.

4)
Q: Are there easy ways to implement smarter AI? Preferably in small increments, so that each part of the AI could be implemented and tested independently?

A: Yes. Each trigger or action usually implements some logic (a business rule). The examples could include:
- Bash the opponent only when they're standing (not sitting)
- Do not dispell the opponent when they're held
- If the opponent is a healer and is at low hp (or has a healer in group and the main tank is at low hp), disable (silence/hold/bash, even blind would work) the healer rather than concentrate on maximum pure damage
etc. etc.

A lot of such rules could be implemented independently.

5)
Q: Once we have some rules implemented, what are the easy ways to fine-tune the AI?

A: Some such rules are already implemented and work in the game. Without giving away too much info, I will just say that one of such rules work on mobs with int/wis > a certain threshold and dramatically changes their behaviour. I would even guess that most players consider it a feature of the mob, rather than an AI rule.

Further on, wis is currently an underused stat for the mobs, since there are alternative ways to set spell slots and skill levels. Thus I guess wis could be used as an AI parameter:
- Every AI rule gets a wis value
- Every mob uses only AI rules of their wis level or below

From the roleplaying (i.e. the background story) point of view, a frog may be very stupid and yet (instinctively) very wise, while a powerful renegade mage may be extremely intelligent (high int) and yet completely clueless (low wis). They made the wrong decision of not joining conclave, after all!

Thus, the low level zones may still have weak and primitive mobs, while the high level ones may be wiser, or buffer, or both. And all that is easily adjusted by using just one parameter of the mob. On top of that, whenever a new AI rule is implemented, all sufficiently wise mobs start using it immediately - there is no need to manually update any ob the mobs individually.

6)
Q: More fine-tuning?

A: Why not!

I see 2 very different stances of the AI, let's call them 'assassin' and 'survivalist':
Assassin tries to kill as many players as possible, not matter if they die too in the process;
Survivalist does just that and tries to survive for as long as possible, even if they occasionally miss the opportunity to deliver the timely fatal blow to the opponent.

For maximum challenge, the 'boss' mobs (any mob that loads something nice and shiny, or a key to the chest with treasure) should be survivalists, while the passable mobs should have assassin priorities.

Example:
I'm a healer, both me and my opponent are at awful.
Survivalist: heal myself (I'm Amity, I got infinite heals anyway) and let the opponent also be healed/flee/recall.
Assassin: harm the opponent to death, no matter if their groupmates kill me the next round.

Now, every AI rule may get a rating -100 to 100 on the assassin-survavalist scale (0 is a neutral rule, equally good for any mob). Every mob also gets a rating on that scale as a parameter and when choosing what to do, tries to chose the rules with the rating similar to their own.

Certainly, such fine-tuning would require a lot of implementation work (and will likely never be implemented). I provided it just as an example.

Title: Re: Are mobs too stupid?
Post by: gulca on September 25, 2013, 07:04:42 PM
@ Nasredin

I've said this in one of the "bot" post before, but I'm going to bring it up again.

The AI of the mobs or special mobs in general do not need to be from the Arctic code.

There is nothing to stop a local admin to start a session of tintin++ and connect to Arctic as a "mob" and load the AI codes like a regular player. Here you have a admin controlled "bot" player that loads tintin++ codes for AI.

The advantage of this is there are codes from the players that are available right now, and we can develop any new ones to fit the situation. You don't need to mess with any C code or whatever code Arctic is in.

So a normal reboot requires a main script to load up all the bot/player scripts and set them in the zone once the game has finish rebooting.

Leverage is the key. This allows user/player contents without ever needing to open up Arctic. 
Title: Re: Are mobs too stupid?
Post by: jingo on September 25, 2013, 07:50:02 PM
If mobs are both too stupid and too easy, then sure, an across the board AI buff could be reasonable.  However, if you're happy with the difficulty of mobs but want to boost the AI, then you probably should also reduce them in other ways to make up for the buff.

I've played on some MUDs where mobs fight like players, but they also had the stats of players.  Other MUDs have absolutely no AI and make mobs significantly buffer than players.  Arctic falls somewhere inbetween.  If you shift more towards the former AI-wise you should probably do the same with stats (meaning less stats).  Making mobs both smart and buffer than players makes for an increasingly frustrating game.
Title: Re: Are mobs too stupid?
Post by: Alecto on September 27, 2013, 02:25:55 AM
I misread the thread...I thought it was asking if SOB was too stupid...

the answer is no, they are the perfect amount of stupid as they are!

:)
Title: Re: Are mobs too stupid?
Post by: Nasredin on September 30, 2013, 10:21:28 AM
The AI of the mobs or special mobs in general do not need to be from the Arctic code.

There is nothing to stop a local admin to start a session of tintin++ and connect to Arctic as a "mob" and load the AI codes like a regular player. Here you have a admin controlled "bot" player that loads tintin++ codes for AI.

Well, what you offer would be a brilliant solution for an imm-run quest or any other short-term activity. If we need to create some content with smart AI really fast (and throw it away after the event), a player script that runs out of the box sounds pretty good.

However, every IT admin knows that providing support in a heterogenous environment is a nightmare. All may work fine at the moment of implementing, but any changes - even minor, such as changing the wording of game messages - may break the client scripts. Similarly, a patch or an update to OS may break the client itself.

To give you an example, we both are oldtimers and you must remember the area tomb or Ramir. For whatever reasons (I'm not familiar with every detail of the issue, perhaps Aristox may bring more light on it) the creator of the zone decided to use custom code rather than rely on standard cretion specs. And all worked fine until the changes introduced during one of the wipes proved to be incompatible with the code that ran Ramir. Since the original creator was no longer around (or didn't care to re-write the code, not sure here too), and none of the active coders was willing to debug the mess written by someone else, the area became no longer functional and was deleted.

In fact, it's all about one of the basic rules of engineering: the fewer types of elementary components you use in your design, the more robust and reliable is your construction.