Page 2 of 3

Re: Bots and Macros!

Posted: 14 Jun 2008, 18:35
by Vink
Superkoop wrote:This is how they enjoy the game, by botting and gaining levels. I personally don't find that enjoying, I prefer to interact with players. They will never really get into the game probably, just bot until they reach a level where bats won't help them level, and then will stop playing.
I'm afraid that's not always the case. I've seen some players botting in other, far more challenging places.

I think people are upset about this because it's cheating.

Re: Bots and Macros!

Posted: 14 Jun 2008, 19:14
by fate
Hi,

It is impossible to stop botting/macroing. There are ways to make the game harder for `people who are doing things that people with ordinary clients cannot do', but all of these thing either require intense human interaction or can be subverted.

The problem with botting/macroing is that it is technically the `right thing to do': levelling up at some point devolves in to spending considerable amounts of time going through a rather boring repetitive routine (which is one of the reasons for why most of the higher-level players team up with other players to make the experience more enjoyable, or otherwise challenge themselves by visiting particularly tricky dungeons). Now, humans find repetition boring. However, machines (and programs) excel at repetition, which is why people are taught to automate repetitive tasks.

So, how can we solve the problem that the way in which power is gained in the game depends on a task that machines are (largely) better at than humans?

I can think of only two solutions (some variant of the first of which someone else-- Crush or Peavey, I believe-- mentioned in some other thread earlier):
  • Don't give out power (experience points) for repetitive tasks: Killing monsters should not give any experience points, period. Experience points in that scenario would only be awarded by solving quests that require some amount of intelligence, for role-playing (if anyone can think of a way to actually measure that automatically, that is), or for solving mini-games (such as boss enemies or puzzles). Or:
  • Give everyone the ability to `bot', and limit the amount of power that can be gained in such a way that people with dedicated machines don't have an advantage over people who can only run the game for half an hour in the evenings.
Both of these have certain inherent problems, of course...

Any other ideas/suggestions?

-- fate

Re: Bots and Macros!

Posted: 14 Jun 2008, 19:42
by Crush
I remember an MMORPG (I just don't remember its name) where botting was in fact a part of the game. In the game you control not one character but a party of three and you can tell the two indirectly controlled characters to go hunting on their own while you are AFK.

But that's nothing I would endorse for TMW.

Our current plan is to make the combat system on TMWServ more action oriented so that a) it is much more difficult than in other MMOs to create an efficient bot and b) so that the combat system feels much less repetive so that the desire to automate it will be lower than in other MMOs.

Re: Bots and Macros!

Posted: 14 Jun 2008, 19:53
by Vink
fate wrote: levelling up at some point devolves in to spending considerable amounts of time going through a rather boring repetitive routine
I don't think it's boring. I like not having to concentrate too much, since I play for fun and relaxation rather than for thrills. Besides, I would probably not be able to hunt monsters if doing so required me to pay attention all the time, since paying attention to what is happening outside the game is usually more important, and in my home, such things can happen at any time (if you have pets or kids, you probably know what I mean).

Of course, other people's situations can be very different, and it's probably true that botting is related to that. I just wanted to say that not everyone considers the "repetitive routine" a bad thing (and that I don't think everyone will consider the more "action oriented" combat system on TMWServ an improvement).

Re: Bots and Macros!

Posted: 14 Jun 2008, 22:02
by Superkoop
Well Vink won't like my idea. ;)

But I was in the hot sun for the past hour or so, and I had an idea for the combat system. Right now, like Fate said, the combat system is rather boring, repetitive, and easily botable. So I was thinking about how to remedy those things. I thought about other combat systems in other games I have played, and why they were good or bad. So what better type of game to look for inspiration, than a game where all you do is fight.
FPS: In these games, all a player ever does really, is run around and fight bad guys. There are a TON of these types of games, so obviously, the combat system is good. In this system you must run around, be paying attention, and most often use some sort of strategy tactics.
Key features:
[*]Action
[*]Strategy

When I look at most top down, 2D, RPGs, I see a game with a generally poor combat system. The AI is always very simple, and it's terribly repetitive. You can generally fight just by holding down a couple buttons.
But in the single most popular finished 2D Open Source game, I see the game has solved this boring combat system. What did they do? They gave the game strategy.

So my vision for the combat system in TMW is as follows:
Rather than have the baddies, simply walk about, or chase you down. How about they have a more complex AI. Where for instance, certain monsters won't simply go purposefully near a human player. Like one type of monster will carry very rare items, that are hard to obtain otherwise, but, they always are cautious of player, and they usually run away. While other monsters are dumb, and they will walk right up to players because they are curious, they don't attack, but they want to see what is going on. Others will be aggressive, like we have now. And yet others will be neutral, also like we have now.
Added on to this, the monsters won't simply stay next to the player when the monster is about to die. It will flee away from the player, and will go towards others of it's kind. Perhaps these monsters could even have the ability to heal each other, so when they are in a group, they get healed and there health comes back (unless they are fighting a player, they can't heal each other if they are fighting).
Also, give the characters a much more random health, where sometimes they will be a 1 hit kill, but other times they are a 3 hit kill.
Another thing, I hope that the current system of restricting fighting certain monsters by the players dexterity, will go. This seems quite poor. I would prefer a system where the monsters defense/attack, and the players defense/attack is what determines if you can fight a higher level monster. Where the damage a player does, and how much the monster hits the player, is what determines whether a player will fight it or not. Dexterity should still be used, just not quite as heavily.

What this will accomplish:
[*]No more botting, because the monster will run away from the player.
[*]More exciting combat system, encouraging players to want to actually fight more.
[*]Team work, because alone it will be more difficult to kill a monster before it gets back to a group and heals.
[*]Strategy.

Another MMORPG I played a while back, (it was 3D, but the concept works here too), is having random worldwide events. Like, some examples: one day the player will gain extra exp; one day the player won't have a death penalty (going to the death place); one day every monster will always drop some item; one day monsters will have no drops; one day the player won't regenerate health without health items; etc etc etc. These events could happen very seldom, but often enough so that the game has something different happen at least once a week.
More random things, mean less repetition, and more of a reason to play to see what will happen.

---

And Vink, fear not because I remember reading that this old eathena server will be up for playing until no players are left to play on it. =)

Re: Bots and Macros!

Posted: 14 Jun 2008, 22:32
by feline monstrosity
I like Superkoop's ideas, though having no knowledge of programming I can't tell exactly how easy/difficult it would be to implement. However I think that in addition to Superkoop's ideas you could have a system where a monster attacks in a particular direction (possibly by moving in that direction) and the player, by watching it's sprite's movement, can anticipate it's attacks and move out of the way. Perhaps that's too complicated and also renders Dexterity a little pointless, but I'm just thinking aloud.

Oh, and monsters stats should vary, including attack, defense, dexterity and health, but should stay within a certain range so you can still tell roughly which monsters are in your range.

Re: Bots and Macros!

Posted: 14 Jun 2008, 22:38
by Vink
I like strategy. :) So if it would be possible to add strategy without requiring more attention (it's very important to be able to turn around for a second to see where a certain sound came from without risk of dying, for example, and since it's not possible to pause a multi player online game, it's even more important in these games), I would probably like that.

Re: Bots and Macros!

Posted: 14 Jun 2008, 23:18
by fate
Hi,

more advanced monster AI is a good idea, but note that bot heuristics may be able to get around that (though this will be noticeably harder). The `best' way to do this is to allow supervised learning on the server side (I don't really know what models computer games tend to use, but some of the standard solutions from Russell & Norvig should do fine here); thereby the monsters will adapt to the players/bots and improve their strategies.

Simply put, this would log all combat and train monster AI with the results of that. It's a bit unfair because the monsters will learn from the mistakes of other monsters who died, but then again, players are unfair, too, by refusing to stay dead.

The only downside to this that I can see is that it forcefully tries to make all monsters as smart as possible, which is weird. Why should a pack of maggots suddenly develop advanced strategies to ambush players? It would be more sensible to parameterise cunningness by the intelligence of the monsters in question, but that diminishes the value of your proposed solution: if bats remain stupid, bots won't have to adjust.

To extend upon your proposal, then, I suggest the following:
  • XP is largely derived from monster intelligence
  • XP is reduced for higher-level players, so that at level 50 (or so) you must fight intelligent monsters to get anything out of it
  • Exceptions may apply to dumb but rare monsters (certain types of `bosses')
(Replace XP by `skill advancement' for tmwserv).
If you want to give some small amount of benefit for killing `dumb' monsters, then this might be tied to killing intelligent monsters: after killing sufficiently many intelligent monsters, you can get something out of killing dumb monsters again, and the appropriate ratio for that is tied to experience level.

(Does tmwserv still have experience levels? Otherwise just use the sum of all basic attribute points.)


Is there anyone in the development team who is planning on taking an AI class next semester? This might make for a very nice course project :-)

-- fate

Re: Bots and Macros!

Posted: 14 Jun 2008, 23:39
by Crush
feline monstrosity wrote:you could have a system where a monster attacks in a particular direction (possibly by moving in that direction) and the player, by watching it's sprite's movement, can anticipate it's attacks and move out of the way.
[...]
Oh, and monsters stats should vary, including attack, defense, dexterity and health, but should stay within a certain range so you can still tell roughly which monsters are in your range.
Maybe you should take a closer look at TMWServ before making suggestions which are already implemented.

Re: Bots and Macros!

Posted: 15 Jun 2008, 00:02
by Crush
fate wrote: The `best' way to do this is to allow supervised learning on the server side (I don't really know what models computer games tend to use, but some of the standard solutions from Russell & Norvig should do fine here); thereby the monsters will adapt to the players/bots and improve their strategies.
There are games which use neural networks to implement a learning opponent AI? The only game I could think of which uses "real" AI is Creatures, but that's more a sandbox and not a real game. The goal of an opponent AI in a computer game is not win but to entertain. An AI which would optimize itself for beating the player as efficient as possible would thus be counter-productive.

Instead of a deadly-efficient monster AI I would rather prefer when each monster got a human-programmed behavior which gives it its own personality traits. Some monsters might attack recklessly, some might flee cowardly, some might lay traps and some might just behave completely erratic. All that not because it is the most efficient way for them to kill player characters but because it is the behavior which suits the personality and appearance of the monster.

Re: Bots and Macros!

Posted: 15 Jun 2008, 00:35
by fate
Crush wrote:
fate wrote: The `best' way to do this is to allow supervised learning on the server side (I don't really know what models computer games tend to use, but some of the standard solutions from Russell & Norvig should do fine here); thereby the monsters will adapt to the players/bots and improve their strategies.
There are games which use neural networks to implement a learning opponent AI?
Hmm, maybe. NNs are not very good in practice, from what I remember, though. (I still remember a talk I attended where McCarthy ranted against them as if they were his mortal enemy. ;-)
Crush wrote: The only game I could think of which uses "real" AI is Creatures, but that's more a sandbox and not a real game. The goal of an opponent AI in a computer game is not win but to entertain. An AI which would optimize itself for beating the player as efficient as possible would thus be counter-productive.
Agreed. But part of the discussion we were having here was how to make AIs effective and to make it harder for bots to outsmart them-- and part of that is to have them adapt their behaviour. This doesn't have to make them deadly, but it has to make them change their strategies frequently.
Crush wrote: Instead of a deadly-efficient monster AI I would rather prefer when each monster got a human-programmed behavior which gives it its own personality traits. Some monsters might attack recklessly, some might flee cowardly, some might lay traps and some might just behave completely erratic. All that not because it is the most efficient way for them to kill player characters but because it is the behavior which suits the personality and appearance of the monster.
That's a good starting point, but fixed pre-defined human-mandated strategies are (a) limited in the excitement they can provide in the medium term, unless you keep updating them (which the above would handle automatically), and (b) often contain strategic weaknesses that bot writers can exploit.

The most interesting approach would be to use human-defined heuristics together with textbook ML algorithms (HMMs to model behaviour or SVNs to make tactical decisions or maybe just plain old decision lists), at least for those monsters that are meant to be not entirely stupid. So I don't completely disagree with your point, but I don't think that it works stand-alone to (a) excite players and (b) solve the problem we were discussing :-)

-- fate

Re: Bots and Macros!

Posted: 15 Jun 2008, 00:53
by Superkoop
fate wrote:Hi,

more advanced monster AI is a good idea, but note that bot heuristics may be able to get around that (though this will be noticeably harder). The `best' way to do this is to allow supervised learning on the server side (I don't really know what models computer games tend to use, but some of the standard solutions from Russell & Norvig should do fine here); thereby the monsters will adapt to the players/bots and improve their strategies.

Simply put, this would log all combat and train monster AI with the results of that. It's a bit unfair because the monsters will learn from the mistakes of other monsters who died, but then again, players are unfair, too, by refusing to stay dead.

The only downside to this that I can see is that it forcefully tries to make all monsters as smart as possible, which is weird. Why should a pack of maggots suddenly develop advanced strategies to ambush players? It would be more sensible to parameterise cunningness by the intelligence of the monsters in question, but that diminishes the value of your proposed solution: if bats remain stupid, bots won't have to adjust.

To extend upon your proposal, then, I suggest the following:
  • XP is largely derived from monster intelligence
  • XP is reduced for higher-level players, so that at level 50 (or so) you must fight intelligent monsters to get anything out of it
  • Exceptions may apply to dumb but rare monsters (certain types of `bosses')
I'm sure it will still be possible to bot, I have seen some really advanced bots in other games, that actually are able to fight monsters that run away, pick up items, sell the items, and mostly do what I human can do, aside from talk (I have even seen some that say a generic reply when their name is mentioned in the chat window). But, at least players won't be able to set just a simple macro. So botters will actually have to work hard to make a bot, which could be possibly harder than just fighting. Meaning, if there are still botters, they would probably deserve to bot after their hard work. :P

With really dumb monsters, like the maggots, I think we could just not give them an advanced AI. And maybe is dumb like it is now and just sits and would get killed. Since the maggots are worth botting, it wouldn't be a big deal.
With the bats though, they could be a bit smarter, where they run away when hurt enough, or just plain don't go near players. This would get rid of the macros, because the bats won't fly where the bot is walking. But would rather need a bot that has a more complex `seek and destroy' type of fighting. After all, bats are a bit smarter than a bug I think. ;)

And I do like the idea of having a actual difficulty based experience system. Where you gain "experience" most from the intelligent monsters, which is actually quite realistic to life too.

I am assuming this would be very difficult to code, but I feel the combat system will be one of the most important aspects of the game, since players spend the most time doing this. So the work it would require would be well worth the effort.

[edit] And concerning the difficulty of the AI, I am assuming that the most it would go is to make them move around more effectively, and at least not get killed as easily as they do now. Right now they would continue fighting even when death is one hit away.
I think the AI would go only so far as to make it much more difficult for bots, but for a player who is sitting there, and has a brain, it would be easy enough.
Now, if we were going to have monsters with an AI like the perfect dark bots, in Perfect Dark...I would say no way. (for those of you who have not played that game, those bad guys were literally perfect - 100% accuracy, head shots everytime, and they are super fast) But simply to have an AI that is intelligent enough to change it's strategy enough to vary the game, I think would be good.
Just because it's an intelligent AI, doesn't mean it's going to be super hard for a human, just hard enough to program a bot for.

Re: Bots and Macros!

Posted: 15 Jun 2008, 01:59
by Booty
Crush wrote:
feline monstrosity wrote:you could have a system where a monster attacks in a particular direction (possibly by moving in that direction) and the player, by watching it's sprite's movement, can anticipate it's attacks and move out of the way.
[...]
Oh, and monsters stats should vary, including attack, defense, dexterity and health, but should stay within a certain range so you can still tell roughly which monsters are in your range.
Maybe you should take a closer look at TMWServ before making suggestions which are already implemented.
Crush I thought this was a suggestion area. We are making suggestions based on the game we actually play. If TMWServ already has implemented suggestions then the developers should be happy.

Re: Bots and Macros!

Posted: 15 Jun 2008, 02:44
by Crush
fate wrote:Agreed. But part of the discussion we were having here was how to make AIs effective and to make it harder for bots to outsmart them
You can't discuss anti-bot measures and forget about the legit players.
Booty wrote:Crush I thought this was a suggestion area. We are making suggestions based on the game we actually play. If TMWServ already has implemented suggestions then the developers should be happy.
You are wasting your time with making suggestions based on the eAthena gameplay, because we won't make any ambitious changes to the eAthena gameplay and the TMWServ gameplay has absolutely nothing to do with it.

When you really want to contribute with useful suggestions regarding game mechanics you have to download the nightly build of the new client and server and read the game concept articles on the wiki. Otherwise you won't be able to give any useful input. Any gameplay conclusions based on eAthena are as useful to us developers as fashion advice from someone who was born blind.

Re: Bots and Macros!

Posted: 15 Jun 2008, 09:36
by feline monstrosity
Crush wrote:Maybe you should take a closer look at TMWServ before making suggestions which are already implemented.
Good idea! *opens up wiki*
Booty wrote:Crush I thought this was a suggestion area. We are making suggestions based on the game we actually play. If TMWServ already has implemented suggestions then the developers should be happy.
Actually this is the Abuse Report area. :)

I prefer the idea of AI based on personality than an AI that learns. You've just been reading too much Ender's Game :)
I don't think that this will seriously limit the amount of fun because there should be enough different kinds of monster that this doesn't happen.