Advertisement

AI in MMORPGs

Started by May 17, 2005 05:51 PM
15 comments, last by Vanquish 19 years, 5 months ago
Group dynamics are one thing I meant to mention.
Having mobs not only attack in groups but give each other support. Trying to outflank, healing and buffing each other, causing diversions etc. I think this would enourmously improve the resusabilty of mobs and allow for some neat additional complexity.
I´ll take that Turing test anyday!
Quote: Original post by Froztwolf
Group dynamics are one thing I meant to mention.
Having mobs not only attack in groups but give each other support. Trying to outflank, healing and buffing each other, causing diversions etc. I think this would enourmously improve the resusabilty of mobs and allow for some neat additional complexity.


Come to think of it, the latest expansion for Final Fantasy XI added that where you had golbins that travelled in packs. They are nasty to take on because they will heal each other, buff each other up, debuff and enfeeble you and just basically try to swarm your mages if nearby. Taking them on by yourself is near suicide even if your level is much higher.... So, it turns out that everyone just end up leaving the packs alone because its just not worth the time to defeat them.
Advertisement
If you want to see a simple version of how NPCs are run in MMOs, go download the code for a MUD (developer.circlemud.org). These are very similar to how NPCs are handled in commerical MMOs, and you can expand it to allow your critters to do a crap load of interesting stuff aswell. Some things I've coded into this system:
team working (healing other npcs, or rescuing weaker ones)
summoning attackers
ranged aggression
ranged assistances (charging in, and assisting with ranged weapons)
racial assistance based on opponent strength
siegers (attacking cities)
over 30 types of aggressive flags

So much you can do with this kind of system (linked list), the only problem I have is finding time to add stuff :)
Quote: Original post by Froztwolf
I have been pondering the role of AI in MMORPG games.
From simple reactive-based enemies to complex dungeon generators, Artificial intellingence plays a lead role in all mmorpgs.
However it is all very simple and predictable and could use a good upgrade imo. The most powerful enemies should learn over time, forcing people to adjust their tactics instead of reading about their weaknesses on thottbot. In some games, agent embodied behaviour could be embedded into npcs to make them more beliveble. Emergent behaviour could be seeded with planning algorithms and more advanced model based agents.
I´d love to hear ideas, opinions and perhaps any plans you might have to increase AI in MMORPGs, where you would like to see more advanced behaviour and where not.



An object lesson in the reality of AI in MMORPG:

Game was Ultima Online, it took them 3 or 4 years of the game being in operation before they added a decent pathfinder for monsters attacking a player (pretty much the sum of monster 'behavior'). Before that, they used a basic straight line movement and stop when run into wall mechanism (very easy for players to take advantage of).

The probable reason was that using something like A* (or equivalent) would have been a big drain on their already overloaded servers. More machines (to do NPC AI) would cost more to run and would eat into the profits. It took UO several years to finally get past this problem as hardware got better.

Now the type of AI you are proposing (which I have done alot of research on) will eat magnitudes more CPU (and memory) resources. Even with Moores Law, the
amount needed is still higher than will be economicly practical for quite a while.

One of the books I read recently talked about a new(er) idea of using 'Grid' computing to handle this resource load. Players machines would get AI tasks farmed out to them (with encryption and constant task reassignment to thwart hacking/cheating attempts). This kind of system could help for certain types of AI tasks, but may not work well in high data flow or high reaction speed
problem types.

Another problem to be faced is the sheer complexity and size of the programming needed to inpliment this kind of AI (the behavior scripts will be > 10X as much code as the engine). No doubt a templates scheme to maximize reuse of common patterns can decrease the amount of work, but it still adds up to a project that
the money people (investors) might not see the need for.







The reason you don't see much is as has been said, the resources and how exponential any AI changes can affect hardware performance or costs.

While few if any MMOs have one machine per server, you still have to look at the overall picture of what any one machine has to deal with. Hundreds if not thousands of enemies visible to players at any given time (assuming you only run AI on things that are near players), all the network overhead of dealing with players including verification etc.

UO is an example where they started off with a slightly more advanced AI, but the servers just couldn't deal with it all, so they basically made everything basically straight line.
This might be an interesting resource:

http://www.cs.unimaas.nl/p.spronck/GameAIPage.htm

One of my profs created this learning AI (coined Online Adaptation) for Neverwinter Nights. It's not exactly an MMORPG, but it's close. The AI is equipped with various talents it can use in various ways to win a battle. A talent and the way it is employed (a tactic) is evaluated at the end of a battle, depending on the outcome (win/lose, HP left etc). This yields a table of weights indicating the usefulness of each tactic. Tactics with higher weights a more likely to be chosen during a subsequent battle.

This approach yields a completely self learning AI, which may be trained by pitting two team with the same AI against eachother. At first there was little distinction between teams with and without the learning AI, but after a few battles the learning AI started to gain a distinct advantage. By pre-setting the weights of certain tactis based on common sense, the learning AI can be made quite smart to begin with and because of the evaluation after each battle it was able to adopt to various attacks over time.
Rim van Wersch [ MDXInfo ] [ XNAInfo ] [ YouTube ] - Do yourself a favor and bookmark this excellent free online D3D/shader book!
Advertisement
While I agree that "cannon-fodder" spawns are necessary for MMOs, they arent all that's necessary. Even with these, the AI in lots of single-player console games has better tactics than mobs in MMOs. At the very least, this should be upgraded.

The unreleased MMO "Dragon Empires" promised no static spawns. What does this mean in terms of AI...well, that if a group of orcs was killed in Dark River Glade, they wouldnt respawn there, but in turn move to SureStep Mountains.
This would have made the world semi-dynamic.

I want to take that process further and link that migration to objects and resources in the world that those beings need - e.g. water, food, power source (our game is post-apocalyptic). Not only would these creatures then be dynamic, they would be linked to the world/ecosystem, as well as creating gameplay by attempting to take over resources that players need as well. Instant dynamic conflict.

In another thread we were talking about NPC schedules. I brought up the idea of NPCs with dynamic goals based on constant needs assessment. This would take a lot of processing power, however you wouldnt use this setup for all NPCs just 100 say, out of all the ones on the whole server. Constantly fulfilling needs (from basic survival to actions based on philosophical beliefs (joining a resistance movement)) and reacting to the changing actions of players.

Its always been a /boggle to me that more MMOs dont have civilization sims running in the background. It just seems so elemental. EQ2 is starting to do this, but it's still not on a realistic time schedule.

I think its going to be crucial to come up with an engine (such an overused word - esp by me) for coordinating dynamic npc AI with player content to create much more responsive worlds.
Alfred Norris, VoodooFusion StudiosTeam Lead - CONFLICT: Omega A Post-Apocalyptic MMO ProjectJoin our team! Positions still available.CONFLICT:Omega

This topic is closed to new replies.

Advertisement