02 Mar, 2012, Rarva.Riendf wrote in the 21st comment:
Votes: 0
Deimos said:
@KaVir: Surely you recognize that the gap in capability between a skilled and unskilled player is infinitely smaller than the gap between a script-assisted player and a normal player.

I think it only depends on your game. Scripts are mostly good to automatize boring stuff. And it does not mean you can do it faster, only means you can do it a lot longer than a regular player would. Makes so grinding give only a marginal advantage that you can takeover by wit, and then you render the advantage nil.
(Grinding on my game gives some points you can use on an item, but this item can be looted in pk, and the extra power is not high enough to make you untouchable even at the max)
03 Mar, 2012, KaVir wrote in the 22nd comment:
Votes: 0
Deimos said:
@KaVir: Surely you recognize that the gap in capability between a skilled and unskilled player is infinitely smaller than the gap between a script-assisted player and a normal player.

As Rarva mentioned, it depends on the game. There's also a big difference between a "bot" and a "script-assisted player".

Scripts and triggers are great for speed-critical things, so if you have to respond quickly then they can give you a big advantage - there are even some muds where scripts are literally required in order to play competitively.

But humans are less predictable, and better at planning and adapting. If the mud plays to those strengths while minimising the use of speed-critical features, then you can create an environment where humans are more effective than bots.
03 Mar, 2012, Deimos wrote in the 23rd comment:
Votes: 0
Even in non-speed-critical scenarios, scripts/bots/whatever have a huge advantage. The only case this is not true is with features where reasoning is king (which is why you can't really bot things like dungeon exploration very effectively, if at all).

Look at the case of level grinding. Even if you ignore that a bot is going to be faster and more efficient than a player, you're still left with the fact that bots don't get bored, tired, don't take breaks, socialize, etc. so they are going to vastly outperform a player just via staying power, if nothing else. And how do you design a game such that leveling is non-trivial for a botter without making it crazy annoying or hard for a non-botter?

As you pointed out, the same problem exists for "good" vs. "not-so-good" players, but it's a much smaller gap, IMO. Small enough to be ignored.
03 Mar, 2012, Lyanic wrote in the 24th comment:
Votes: 0
It always amazes me how game admins cling to the philosophy that botting is an inherently bad thing. I agree wholeheartedly with KaVir on all accounts. I, too, have had players write some rather inventive and unorthodox bots: newbie helping, magical services, combinatoric puzzle/recipe checking, etc. That's one of many reasons that I openly allow botting.

If you're extremely worried about botters gaining a large advantage over non-botters, one simple trick for narrowing the power gap is through use of something akin to "level caps", with a greater emphasis on horizontal advancement than vertical. For instance, crafters who begin by specializing in woodworking may bot the whole process of chopping down trees, trimming the branches, sawing the logs into usable blocks, carving various items from the blocks and selling the finished goods, but they will eventually reach a proficiency cap. Those players can then choose to start over in another crafting trade - let's say blacksmithing. Is such a thing absolutely necessary to be "the best"? No. Plenty of players will pick a craft (likely related to class), max it out and be done with that aspect of the game. Others, let's call them "power players", will want to max out every craft, even if there's no vertical character growth. These are also the same type of players who are most likely to bot.

Even if you're talking about the typical "level grinding" that's present in almost every game, there are steps you can take to make botting dangerous. I accomplish that by creating a world that mostly lacks easily farmable NPCs. I make NPCs wander about and sometimes do unpredictable things. I make NPCs intelligent. I add extremely difficult NPCs into even low level areas. These NPCs are designed such that they will rarely be a hindrance to, or even be noticed by, low level players who are at their keyboards playing the game manually. They will, however, cause grief for botters who leave a program running overnight, doing essentially the same things repeatedly in the same general area. The safer places end up being those that are less efficient to bot in, creating a risk/reward mechanism for the botters. It's a meta-game for a lot of the players. They seem to enjoy it, so why should I tell them they can't enjoy playing the game their way?

Ultimately it just comes down to game design as to whether botting gives a player a much of an advantage.
03 Mar, 2012, Cratylus wrote in the 25th comment:
Votes: 0
Deimos said:
I don't view botting as acceptable in any form


I used to bot, then I took an arrow in the knee.
03 Mar, 2012, David Haley wrote in the 26th comment:
Votes: 0
Deimos said:
The only case this is not true is with features where reasoning is king (which is why you can't really bot things like dungeon exploration very effectively, if at all).

Eh, I wouldn't underestimate reasoning abilities. Computers tend to be pretty good at a lot of reasoning. :wink: Things get tripped up when you need to involve natural language processing: understanding the semantics of data that is only freeform text.
03 Mar, 2012, KaVir wrote in the 27th comment:
Votes: 0
Deimos said:
Even in non-speed-critical scenarios, scripts/bots/whatever have a huge advantage.

In the context of comparing playing skill, no, not really.

I mean you can argue that a bot can play 24/7, that you can run dozens of them at once, etc. But put them through a series one-on-one fights against a comparable character run by a skilled human player, in a mud with minimal speed-critical features, and the human is going to win most of the fights.

Deimos said:
The only case this is not true is with features where reasoning is king (which is why you can't really bot things like dungeon exploration very effectively, if at all).

Actually bots can do a pretty good job of solving puzzles (such as dungeon exploration), but unless it's a race to see who can explore the dungeon first, or there's a per-completion reward, it's unlikely to have much impact on competitive gameplay.

A comparable example from my mud would be maps (a puzzle minigame). A few players have written scripts that can solve a map in a matter of seconds, while even a skilled human player usually requires a few minutes. However as each player can only actually benefit from 1-2 maps per real life day, the impact is negligible.

Deimos said:
Look at the case of level grinding. Even if you ignore that a bot is going to be faster and more efficient than a player, you're still left with the fact that bots don't get bored, tired, don't take breaks, socialize, etc. so they are going to vastly outperform a player just via staying power, if nothing else.

But time isn't skill, and even if they are able to advance faster, the advantage will only last until they hit the top level and the human player catches up.

Deimos said:
And how do you design a game such that leveling is non-trivial for a botter without making it crazy annoying or hard for a non-botter?

There are various techniques, but generally speaking you design the rewards to be inversely proportional to the frequency they can be earned. So grinding rats all day would give the smallest rewards, while completing non-repeatable quests would give the biggest rewards.

Deimos said:
As you pointed out, the same problem exists for "good" vs. "not-so-good" players, but it's a much smaller gap, IMO. Small enough to be ignored.

That's certainly not been my experience. The most successful bots I've seen are the ones that run away as soon as they see a player.

But of course it depends on the mud. If combat means typing "kill" and spamming "disarm", then the fastest typer will usually win, and (barring a poor internet connection) the bot will beat the human.
03 Mar, 2012, quixadhal wrote in the 28th comment:
Votes: 0
It doesn't do you any good to get your panties twisted over botting. You will never stop people from doing it. The best you can hope for is to attract people who don't feel the need to do so, and try to design your game to make it less useful to do.

Even if you went the route of writing your own custom client that you required they use to play, people can and will still use external programs to inject keystrokes or mouse clicks or even network packets. My keyboard even has macro keys that I can use to record and playback timed sequences of events.

So, rather than spending your energy trying to defeat the bots, why not spend it trying to make them less desireable? Don't reward players for doing the same thing 20,000 times. Don't force them to type overly long sequences of commands letter-perfect to do stuff. Don't make the player have to remember stuff the character should.
03 Mar, 2012, David Haley wrote in the 29th comment:
Votes: 0
KaVir said:
But time isn't skill, and even if they are able to advance faster, the advantage will only last until they hit the top level and the human player catches up.

Time isn't skill, but "time is money", and if one can easily create new characters and skip the grind to get catapulted to the end-game, that's really valuable for some people. (Some people enjoy the leveling process, of course.)
03 Mar, 2012, Deimos wrote in the 30th comment:
Votes: 0
@KaVir: It seems like you give humans quite a bit of credit. ;-)

In my experiences (and maybe it depends wholly on the game in question), a player is highly unlikely to outperform a bot at anything short of the already conceded scenarios which require advanced reasoning, creativity, and so forth.

Speaking as someone who created horribly advanced bots in my early days as a player (I was one of those people who did it because I found it fun, like you mentioned earlier), I can tell you also that speed isn't the only benefit. Accuracy is another big one. A combat bot, for example, is much better at keeping track of state than a human (e.g. "have I already poisoned my opponent?", "is my opponent still blind/maimed/whatever?"). This can be a huge advantage when you have 100% accurate state information. They are also superior at being able to make the "best" decisions based on somewhat complex criteria (e.g. "my opponent is blind, webbed, and bleeding profusely, so the spell with the highest utility right now is xxxxxxxx"). Humans tend to be very inaccurate at this, because we A) don't have as good recall ability as a machine and B) tend to be much slower arriving at the correct decision even when we do know it. This is where the "speed-critical" aspect comes into play. In general, I haven't ever played a game where speed wasn't at least a small factor in most bottable activities, though.

As David pointed out, time is not skill, but that doesn't make it unimportant. Maybe I wanted to design a reward for players who could protect a castle for a whole day straight. For a human, the staying power required to do this is pretty significant. For a bot, it's trivial.
03 Mar, 2012, Rarva.Riendf wrote in the 31st comment:
Votes: 0
In my experience a Bot will perform very very lousely in any pk situation when enough randomness in the fight system occur.
Just because he lacks something called balls.
The best statistical computed answer will more than often not be the best answer. (it will only be a good one)

Quote
"my opponent is blind, webbed, and bleeding profusely, so the spell with the highest utility right now is xxxxxxxx"

But the spell prevents you for any flee action for xxx rounds, and ouch a friend of the one you fight with just appeared in the room…
Bot dead…(yep it was a trap)

Not to mention that to maintain states, bots need inputs, a human can take a decision without those input.
Should I deathstrike an opponent that is way bigger than me that jsut appears while fighting some of its lower friends ?
Bot:no too dangerous and I dont know his state.
Me:yep, this one is a dummy that probably think he is safe and jumped into the fight unprepared.

Result
Me:epic win I can brag about for mud history! Bot:just a nobody that will stay a nobody…

Again:everything is in your game design.
03 Mar, 2012, KaVir wrote in the 32nd comment:
Votes: 0
Deimos said:
In my experiences (and maybe it depends wholly on the game in question), a player is highly unlikely to outperform a bot at anything short of the already conceded scenarios which require advanced reasoning, creativity, and so forth.

As I've said already, it very much depends on the game. The typical DikuMUD places very little emphasis on player skill (you usually just type "kill" then spam "kick" until the enemy is dead), nor is there much possibility to adapt your tactics (skills are class-locked and can't be rearranged, and there's rarely any value in switching equipment during combat). On the other hand, attacking first can provide a significant advantage, failing to recover quickly from a disarm can provide a significant disadvantage, and so on - and these are all things that a script can do better than a human.

Of course there's no reason why the human can't also use scripts to automate the speed-critical things, and that's often what happens in such muds.

However anything that can be scripted can also be built into the game. If you don't want the attacker to have the advantage, change combat so that when one character attacks another the mud calculates initiative, and the character with the highest initiative goes first. If you don't want the fastest typer to recover more quickly from being disarmed, then make the recovery automatic, but base it on the speed of the character. If you don't want people spamming "kick", then change the kick to be balanced against a regular attack, and have command replace your next attack with a kick.

You can apply the same reasoning elsewhere, and this is the sort of thing you should consider if you want to reduce the value of scripting (which includes player-assisted scripts as well as bots).

Deimos said:
In general, I haven't ever played a game where speed wasn't at least a small factor in most bottable activities, though

It's technically possible, but probably not necessary. As I said before, all you really need to do is minimise the use of speed-critical features.

Deimos said:
Maybe I wanted to design a reward for players who could protect a castle for a whole day straight. For a human, the staying power required to do this is pretty significant. For a bot, it's trivial.

Just as you can add features that reduce the value of botting, so you can also add features that increase the value of botting. Requiring the player to protect a castle all day is a clear example of the latter, and would come under the "poor design" category if your goal is to discourage bots.

A more feasible solution might be to require the player to protect a castle for an hour, or to make it clan-based and only allow one character from the clan to defend the castle at a time (so the players can take turns).
03 Mar, 2012, Deimos wrote in the 33rd comment:
Votes: 0
@KaVir: I'd have to see an actual implementation to believe that the utility of scripting or botting can be negated (or minimized significantly enough to discourage it). I don't tend to like standard Dikurivitives, and still haven't come across a combat, leveling, questing, or crafting system where this was the case.

@Rarva: You're talking about taking risks. That person that showed up that you deathstriked could just as easily be prepared and wipe the floor with you. And the outcome of that is:

You: Dead and humiliated for thinking you were hot stuff.
Bot: Not dead and not humiliated.

:-)
04 Mar, 2012, Rarva.Riendf wrote in the 34th comment:
Votes: 0
Deimos said:
@Rarva: You're talking about taking risks. That person that showed up that you deathstriked could just as easily be prepared and wipe the floor with you. And the outcome of that is:

You: Dead and humiliated for thinking you were hot stuff.
Bot: Not dead and not humiliated.

Taking risk does not mean 'death for sure', just mean putting yourself in more difficulty than you were in.
I knew the player was a doofus, so even prepared he was a lousy one anyway. Thing is: it stuck me for a few round there, while I already had others (better) player on my tail. Will your bot put himself in jeopardy ? Unless you actually program an IA, teach him how other player fight, their behaviour, their allegiance, (and yours, you do not play alone in a mud, some friends maybe logged, other not etc)
Nah really a bot in pk fight will most likely always be either trounced or fleeing all the time. Not to mention that to maintain state you actually have to know them first. And while a human can just ask a friend (have you seen xxx sanced restore etc) your bot is in the blue. fixing his state will take more time than to type useful commands.
Because DPS is by far more than just optimizing the fight skills, but more about controlling the social environment.
04 Mar, 2012, Runter wrote in the 35th comment:
Votes: 0
For the most part effective bots don't have to be skilled at fighting other players to be effective as per their purpose. Some bots are most effective when designed to lose. Especially when intentionally boosting another player/bot, or dragging down a team event. Or gaining some arbitrary statistic, or earning points towards something that's gained just from participating. In those situations it's just enough that you seem like a bad player. Not that you actually win anything.
04 Mar, 2012, KaVir wrote in the 36th comment:
Votes: 0
Deimos said:
@KaVir: I'd have to see an actual implementation to believe that the utility of scripting or botting can be negated (or minimized significantly enough to discourage it). I don't tend to like standard Dikurivitives, and still haven't come across a combat, leveling, questing, or crafting system where this was the case.

Well an extreme example would be my original Gladiator Pits codebase. Combat is fully automated, so there would be nothing for the bot to do during the fight. There's no character advancement, so the bot couldn't improve you if left running overnight. And fights are always one vs one, so there'd be no benefit in running multiple bots.

My Last City mud (long since shut down) had primarily automated combat, with each player having their own dice pool. Your dice pool would gradually refill, and you could configure where the dice were allocated (attack, parry or dodge) and customise other things (such as replacing your parry with an off-hand attack). Once you had enough dice to attack (and you could configure that amount as well) you'd attack. You still had interactive commands like "kick", but they would spend your available attack dice, so it wasn't an extra attack, it leeched off your normal attack.

Other speed-critical things in Last City were also configurable. For example Celerity (supernatural speed) allowed you to configure dodge (if someone tried to attack you, you'd automatically dodge aside, and combat wouldn't be initiated) or attack (if someone tried to attack you, you'd hit them first). In terms of character advancement, you only earned 1 exp for each of the first 100 mobs you killed, after that killing gave you no further exp - you only earned it for logging on and playing for an hour, and even that dimished over time.

In God Wars II the combat is manual, but each command uses action points and takes time to execute, and multiple commands can be queued in advance, so there's no benefit in spamming commands as fast as you can type. Most reactive things (like defences) are also automated, so very few things require a fast response. Using aliases for preconfigured combos can make life easier, but aliases are already built into the game. A bot won't fight any better than a skilled human.

However a big part of the game lies in configuring your character - selecting your stats, powers and talents. And you can reconfigure your character whenever you like. So (to give an oversimplified example) if a bot is a red dragon using fire attacks, you can go away and redesign your character to be resistant to fire and specialising in cold attacks, then try again.

Character advancement mainly comes from tasks (quests) and killing. Tasks give huge amounts of primal (exp), but you only get the reward the first time you complete each task, so there's nothing to bot. Killing is primarily based on boost points, and the more you kill the fewer you earn the next day. Generally speaking, in one day you can earn one of the following (you can mix and match, but most people don't):

5000 primal for a few minutes of no real effort (using skill boosts).
12500 primal for completing 1-2 maps (requires boosts and perhaps half an hour of effort).
15000 primal for killing 50 mobs (using casual boost points).
20000 primal for killing 100 mobs (using hardcore boost points).
25000 primal for killing 250 mobs (not using boost points).

A farming bot will be using the last option, because they'll be killing so many mobs that they don't earn any boost. This does give them more primal, but it's not proportional to the amount of time spent online - a hardcore player might only earn 80% of what a bot earns, by he'd only have to kill 40% as many mobs. A casual player can earn 60% of the primal for killing 20% as many mobs. This doesn't stop botting, but it does reduce the value of it.

Furthermore, killing without boost also introduces other drawbacks - people can sense you over increasingly longer distances, you become worth more primal for killing, etc. This (in combination with the way players can respec themselves for specific opponents) meant that for a long time, the most successful bots were the ones that ran away when they saw another player, and/or waited until their attacker had left before going back into action.

More recently I've had another problem though - gangs of bots working together. Still working on a solution for this one, but their advantage lies in their numbers, not in the fact that they're bots.
04 Mar, 2012, Deimos wrote in the 37th comment:
Votes: 0
@KaVir: Having never played the games mentioned, I'm not sure exactly what "automated" combat consists of, but for a bot to be completely useless, you would have to be talking about literal automation. And, that would be really, really boring IMO. As long as their are inputs involved, I don't think you can negate the advantages of a bot. You'd need a horribly complex system to make it impractical to even create a bot, I think. Most systems I've run across are so easy to bot, it's ridiculous. They're just simple state machines.

@Rarva: For a player to make decisions based on state, they have to know it first as well. You seem to be under the mistaken impression thatt humans have some kind of innate valuable intuition that can't easily be replicated in a bot…
04 Mar, 2012, Rarva.Riendf wrote in the 38th comment:
Votes: 0
Deimos said:
@Rarva: For a player to make decisions based on state, they have to know it first as well. You seem to be under the mistaken impression thatt humans have some kind of innate valuable intuition that can't easily be replicated in a bot…

Huhu yeah right we have masterized IA….not. You keep ignoring the state a bot cannot have from the game, being social behaviour.
04 Mar, 2012, Scandum wrote in the 39th comment:
Votes: 0
A tactical interface is the best example of assisted scripting, which is why MUDs offering tactical interfaces will see a rapid switch by the player base, not because they love it, but because they need it in order to compete.

The IRE games are good examples of games that require a script in order to be playable, turning the combat system from a complex system into full automatic combat as provided by DikuMUD. While meaningful combat options are important, too many irrelevant ones are obviously pointless and have no added value.


Deimos said:
@Rarva: For a player to make decisions based on state, they have to know it first as well. You seem to be under the mistaken impression thatt humans have some kind of innate valuable intuition that can't easily be replicated in a bot…

They do, or that is, the top 15% of intuitive players do, which is why games requiring true player skill are fundamentally unfair, and subsequently won't have large player bases. The combat system would be modeled after chess and other skill based games.
04 Mar, 2012, KaVir wrote in the 40th comment:
Votes: 0
Deimos said:
@KaVir: Having never played the games mentioned, I'm not sure exactly what "automated" combat consists of, but for a bot to be completely useless, you would have to be talking about literal automation. And, that would be really, really boring IMO. As long as their are inputs involved, I don't think you can negate the advantages of a bot.

Automated combat is the approach used by the vast majority of muds with coded combat systems, where you type "kill fido" and the game takes over. You can often type additional commands as well, but even if you don't your character will still fight.

I don't know why you're now talking about making bots "completely useless", that's certainly not a goal I would suggest. Instead, what I've been talking about is reducing the value of botting, so that human players can compete with bots. And that is certainly achievable, as I explained in the above three examples.

Deimos said:
You'd need a horribly complex system to make it impractical to even create a bot, I think.

No, that won't work, that'll just make scripts even more valuable. See the IRE example Scandum provided - their combat system includes lots of complexity and speed-critical decisions, so as a result everyone has to use scripts in order to compete. Players even pay real-life money for decent scripts. The result is effectively an automated combat system with a steep learning curve.

Deimos said:
Most systems I've run across are so easy to bot, it's ridiculous. They're just simple state machines.

You cannot stop people botting, you can only reduce the value of botting. Or lay the smack down on those you think are botting, if you'd rather take the rules route.
20.0/72