Visiting guest. Why not sign in? |
News, knowledge and discussion for the AI enthusiast.
FEATURES |  | COMMUNITY |  | KNOWLEDGE |  | SEARCH |
Godel, Escher, Bach: An Eternal Golden Braid Besides being a profound and entertaining meditation on thought and creativity, prospects for computers and artificial intelligence for mimicking human thought are also discussed. More information at Amazon US UK |

First Steps in Game AI: Your Own Bot Mixing Artificial Intelligence and First Person Shooters
• First Steps in Game AI: Your Own Bot In tackling practical issues involved in creating game AI, this article demonstrates how First Person Shooters are ideal for developing Artificial Intelligence. Not only is this framework an ideal platform for modern technology, but it's also great fun! Find the tutorial right here: http://ai-depot.com/GameAI/Bot-Introduction.html | Alex J. Champandard 935 posts. Wednesday 24 October, 06:59 Reply
• More info ? Hi Great Article. I am primarily interested in the Half life area as I am a Counter-strike junkie :-). What bugged me was that you never described what the inputs BotThink function has, what information is provided to the Bot. One last question: If you were to approach this using GAs, would you go for a GP approach, or a GA around internal rules? I am aware that the latter allows continuous learning, but possibly isnt as flexible as it is constraint by the flexibility of the rule system. | Chaos 11 posts. Thursday 25 October, 08:46 Reply
• Technical Details True, the article only covered the theory behind the information provided (entities and level structure), without going into the technical details. It was intended that way as any more information would have pushed the tutorial beyond its scope. Since you're intereted in HL, you should take a look at the source code provided with the HPB Bot. You'll notice the level structure is acquired by a trace function. This is basically a 3D search, that tells you what it found. Also, the entities are stored as global variables, which you can access freely. The entities include clients (other players and bots), and items. It's been a while since I looked into HL in detail so I can't be anymore specific... Q2 does the job for me! The source is well documented though, and skimming through that will give you a great insight (search for trace and entity for example). As for Genetic Programming, stay away. It's a lot of hassle (grammar checking being the worst), and doesn't work all that well. The search spaces are huge, and you'll have trouble doing anything of reasonable size. Genetic Algorithms on the other hand are well suited to this. But beware, you need to think of a good way of representing your bot's parameters (controlling the AI) before you decide to optimise them with genetic algorithms! Anyway, good luck! | Alex J. Champandard 935 posts. Thursday 25 October, 10:19 Reply
• re Q2BotCore Hi Alex I'm having difficulty compiling the q2botcore source. Do you have a working project for MSVC++ 6.0 you could send me? I'd really appreciate it as I was getting all excited about having a go at coding a bot and all my dreams have been dashed! thanks | uncle_biscuit 8 posts. Thursday 21 February, 20:30 Reply
• Compiling the Q2 Bot Core I don't have a working project anymore. I tested it out before writing the tutorial, and it worked fine so I removed it. My work is based on a server side approach, so I don't need it. If you let us know more specifically what the problem is, someone may be able to help you. | Alex J. Champandard 935 posts. Friday 22 February, 03:37 Reply
• bots So how did you learn how to interface with the code running a server side bot? Do you have a link to any useful resources(I've never been able to find any) or any pointers? thanks ps. I managed to compile q2botcore in the end | uncle_biscuit 8 posts. Friday 22 February, 03:41 Reply
• Learning by Example I downloaded some source code, learnt from it by modifying it. I ended up reimplementing everything to make sure I understood everything that was going on, but don't do that at first! There's a site with a list of most Q2 Bots right here -- Bot Epidemic. | Alex J. Champandard 935 posts. Friday 22 February, 03:55 Reply
• source code So how come you chose to spend the hours going server side Alex? I'm curious because this is a project I'd like to spend some time on but I don't want to waste effort with the q2botcore if it's going to be limiting my possibilities. I tried bot epidemic a while ago but I couldn't find any help on how to interface with the ID code at all. In fact there seems to be little information about this topic at all (for programmers) and I received no help whatsoever from the half dozen or so bot authors I wrote to(all q2). All I can assume is that the authors keep their knowledge close to their chests! | uncle_biscuit 8 posts. Friday 22 February, 04:06 Reply
• Justifications I went server side because I needed the ability to speed up the game for fast learning, for the ability to get a bot playing in single player, for random things I wanted to reimplement (like a good camera) and I wanted to modify other little settings parameters. A client side bot is a good option, but doing the distance sensors in the same way I did can be a problem; you don't have access to the physics of the engine. As for the code, people are generally quite open. Eraser bot, Gladiator bot are mostly fully public (only the navigation bit is a library -- for commercial reasons). You should have no trouble finding code from Bot Epidemic. | Alex J. Champandard 935 posts. Friday 22 February, 04:21 Reply