Tag Info

Hot answers tagged

67

There are many points where a bot can inject itself into the game. The screen is one of them, but by far not the most useful. However, I have once seen a very early aimbot for Counter Strike which used color coding. It came with alternative character models with single-colored textures (the game was modding-friendly enough to allow this) and then just ...


44

If people want to bot, I don't think you can really stop them. You can of course implement many measures that make botting more or less of a pain. But you can only do so much before your codebase turns into a gigantic mess that's hell to maintain, error prone, and annoys legitimate users. Meanwhile the botters will always find a way to defeat your ...


24

The best and only effective defense against bots is to design your game in a way that players don't feel the need to automatize in the first place. When your players automatize simple tasks which do not actually require skill, it is a sign that your user interface is lacking and they are substituting an UI feature they are missing. Does your game include ...


22

Don't make your game so vulnerable to johnny-on-the-spot effort First, make sure that players who only play your game for twenty minutes or an hour a day in a single sitting aren't at a huge disadvantage to players who leave it open at work and play 16 hours a day. This may require a change in your game mechanics - for instance a move allotment that fills ...


18

Bots are players. They just read the player's/monster's positions from the server just like every other player does and use those values combined with a simple AI script to perform actions in the game by simulating keyboard strokes and mouse clicks programmatically. If bots actually had an algorithm to detect what monster is on the screen and interact with ...


13

You can't stop them. But you can make their lifes miserable, as they have to spend lots of time writing their bots, and updating them. You have to use whatever you have to verify if user is valid. Check for request headers, and reject requests with invalid values. Either set custom headeror check for existing like user-agent. Sure it's easy to overcome, ...


9

I came across an article a couple weeks ago about a Stanford project to make a Starcraft 2 bot. It uses a DirectX interceptor to capture and decode the graphics. I won't have time to play with it until after the semester ends. In a different project (also waiting for the end of the semester), the creators of Arx Fatalis released the source code. Since the ...


8

In general, distinguishing between bots and humans fully automatically is hard, some form of human-assisted decision process works best. What I would do: define some heuristics that hint the user is probably a bot - doing a lot of actions, doing stuff 24/7, ... Then if these heuristics get over a certain threshold, do an invasive check. You can manually ...


8

Embrace the botter. You've built a restful API, perfect for a coder to experiment with automation of your game. Design your gameplay so that the bot doesn't gain an advantage over a human player due to being automated - eliminate the advantages of speed of execution etc that a machine has; design your game so the bot provides the same revenue as a human ...


8

Yes, there is. It's called Robocode, and you basically program your own bot in Java, and fight with other people. You can battle against other AI bots, or play multiplayer over the Internet. Here's the link to their homepage: http://robocode.sourceforge.net/.


7

Let's assume you have to write something yourself. I don't know of any middleware targeted towards 2D side-scrollers but someone may correct me. I haven't done anything like this before, but it's an interesting intellectual exercise so here's my first thoughts. For simplicity I've talked about only avoiding bullets, not shooting at enemies. Most ...


5

If it's client-side it's vulnerable. A hacked client could always be programmed to just send the server the responses it expects, and it doesn't even need to be limited to the client executable. Hacked video card drivers that let players see through walls are also possible, proxys that intercept and modify net traffic, input drivers that work off info in ...


5

Phillip already gave a great overview of how how most bots operate, but I just wanted to cover things in a little more detail, as I have a bit of personal experience developing on or for all the types of bots he covered. In Runescape, there was a large project (RSBot) that would copy the contents of memory from the Runescape client into its local memory, ...


4

Isn't it possible for the game authors to digitally sign the game executables so that when they run, the server can ensure only the allowed client is sending commands, thus preventing any kind of abuse? I.e. every player command would be signed by a private key, or symmetrically encrypted (not sure which would make more sense). You just copy all that to ...


4

Planet Wars / Galcon Clone AI Ran as a Google AI Challenge Planet Wars is a strategy game set in outer space. The objective is to take over all the planets on the map, or altenatively eliminate all of your opponents ships. Players start with 1-3 home planets and send off ships to conquer other planets around them. The numbers on each planet ...


4

As Tetrad says, on 'Gaming' someone seems to have answered the question: GR1D


3

I don't neccessarily disagree with the soft-science answers but there are technical things you can do to detect botters and some things that just make life harder for them. Grade accounts by how much you suspect they're using a bot. This will feed into several other techniques and protect legitimate users from your wrath. Rotating the session cookie key. ...


3

Brood Wars API is a dll injection type interface which natively is Server/Server design but also has extensions to support Client/Server architectures for additional language support. Extensions support Java, Python, C#, Php, etc. The Brood War Application Programming Interface (BWAPI) is a free and open source C++ framework for creating AI modules ...


3

I see basically two ways you could solve this, but in both cases you'll need to utilize my SharpCraft project, which is a C# powerered way of injecting functionality into Warcraft III made by me, with research from a bunch of other people. Do note that the readme is outdated, but I'll do my best to help you out with the current release. Use JASS This way ...


3

Since recently Heroes of Newerth has the ability to program bots: https://plus.google.com/u/0/112989499300264805049/posts/idAYrvc9Awn


3

So League of Legends and any other AAA company most likely will not release any API to directly control bots in their MOBA game but that doesn't have to stop you! You should try creating an AI bot in the original Defense of the Ancients for Warcraft 3 using their JASS/JASS2 scripting language that the World Editor provides. ...


3

I assume these are AI bots that would be utilizing a game/engine you wrote. If not, then you would need to consult specific material related to the engine you use. I picked up a copy of Game Coding Complete and was able to implement the various systems that are key in having working AI. It did a great job of explaining that the AI used to control computer ...


2

We are a group of students planning on making an open source MOBA game during spring. The game gonna be build on Ogre c++ but the server will run on python. We're not gonna make AI but if you are interested we'd be glad to receive some help :)


2

Have you considered making bots an integral part of the game? It's hard for bots to ruin the game for everyone else if everyone is encouraged to create them. Add support for scripting and all of a sudden the dynamics of the game changes from manual resource management strategies to bot design strategies.


2

Whatever you do, remember to NOT make it more annoying for the real player! A lot of the responses I've seen (slower page results, not allowing multiple pages open to facilitate faster input, etc) would also prevent legitimate players from doing things fast, which will just needlessly frustrate them. imho the easiest approach may be to apply social ...


2

Phillip's answer is great, but just a quick note about the Model/View/Controller pattern, or MVC for short. Your screen is part of the "view", which presents data from the "model", which is the real state of the game if you like. The bots, and your character, all 'exist' (in a sense) within the model. Imagine if you unplugged your screen - the game would ...


1

Create a separate bot only server. Look at the data this generates. Ban users from normal severs whose behaviour profile looks like that of a bot.


1

Artificial Intelligence is a very fuzzy idea without clear boundaries. The Oxford English Dictionary just defines it as: the theory and development of computer systems able to perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages. The definition of ...


1

In my experience, navigation should not be handled explicitly in the behavior tree. BTs are great at stateless reactive behavior, while navigation is inherently stateful: you find your path, than you follow it, check whether you should replan... If you need to handle jumps, elevators etc. thnigs get crazy and are difficult to handle in a BT. In all games I ...


1

There is also the Ai Sandbox, which is by the creators of AiGameDev (http://aigamedev.com/) Here is the link: http://aisandbox.com/ It isn't actually released yet though, but I for one am quite excited about it :)



Only top voted, non community-wiki answers of a minimum length are eligible