home/news epidemic news archive bot/ai reviews bot guides interviews about epidemic send in bot news

UGO         

 - Home/News
 - News Archive
 - What Is A Bot?
 - Reviews
 - Guides
 - Interviews
 - BotBoard
 - FTP Server
 - Hosting
 - FAQ
 - About
 - Links
 - Console Games
 - Daikatana
 - Doom
 - Duke Nukem 3D
 - Grand Theft Auto
 - Half-Life
 - Hexen II
 - Jedi Knight
 - Kingpin
 - Quake
 - Quake II
 - Quake 3: Arena
 - Sin
 - Soldier Of Fortune
 - TeamFortress II
 - Tribes
 - Tribes II
 - Unreal
 - Unreal Tournament
 - BlitzBot
 - BoC-Bot
 - Bot AID
 - CGF
 - ClockBot
 - CGF: Resource
 - CS-BotPack
 - Fist Fight
 - FMODS
 - FreedomBot
 - FrikBot
 - FWD
 - Gladiator Bot
 - Hellfire Arena
 - JoeBot
 - Neuralbot
 - Oni Bot
 - Parabot
 - PLBot
 - PODBot
 - Project 414n
 - Q2RFD
 - Rocket CrowBot
 Telenation

 Action
 - DoomWorld
 - Duke4.com
 - Jedi Nights
 - Ritualistic
 - Rust
 - TeleFragged
 - Unrealism
 - Volition Watch

 Alternative
 - LinuxGames
 - QERadiant.com

 Console
 - PS2Faction
 - RetroFaction
 - XBoxFaction

 Role-Playing
 - AOForge
 - DiabloForge

 Services
 - 3D Cheaters
 - 3D Downloads
 - 3D Finger
 - 3D Forums
 - 3D Shots

 Sports
 - Sports Gaming

 Strategy
 - Relic News
 - Strategy Gaming

Interview with Grin

Grin is the author of the Grinbots for Heretic 2.

celtic88: Where are you from and how did you get started in working with AI?

Grin: I'm a research scientist from Plymouth, England, and by day I play with my big chemistry set at the University. In the evenings I like to tinker with games. In the past I've done a few skins and maps for Doom, Heretic and Quake, none of which ever went public due to a lack of net access. For the last year and a half I've been playing and butchering Heretic2. Recently I started to code, and wrote a few simple gameplay mods. Then I decided to try and write a bot. At this point my AI experience was zero, and my c++ skills were pretty raw. So I started doing some research. After cruising Bot Epidemic, I downloaded all the source code I could find for Quake2 bots, looked at the various tutorials that are around, and went looking at general bot-related AI stuff. There is loads of information out there if you look in the right place. I liked the look of the ACEBot base source code by Steve Yeager, as this was pretty much the bare bones framework for a Q2 bot. Most of the code was not applicable to Heretic2, but the basic framework was ideal to use as a foundation. The node based level navigation system used by the GrinBots is based heavily on ACE's navigation routines.

celtic88: How long ago did you start work on the Grinbots?

Grin: I started to think about writing a bot sometime in May of this year, and had the first working bot ready by the middle of July. The first release was pretty buggy, and compared to the current release the bots were really dumb, but it was a start. Since then, they've gone through a number of revisions and re-writes, and I'm now pretty happy with the outcome of this.

celtic88: What were some of the challenges in creating the first (and only) bot for Heretic 2?

Grin: Being pretty much a newbie coder, the whole project has been a big challenge. I think the biggest obstacle that I had to overcome is the incredible mobility of the H2 player character. In most of the FPS games out there, the player is pretty much fixed to the ground. They can jump, but not very high, and so the movement code for bots for these games is geared towards movement in the horizontal plane. In H2, the player is very acrobatic. They can reach jumps over 128 units high, shimmy up ledges, swing off ropes and pull off huge horizontal jumps. The bots navigate using a traditional node-based navigation system. The problem I had with this system is that the nodes need to be spaced close enough together to give a good representation of the map. However, a simple jump by the bot can put them off course by 3 or more nodes, which means a re-calculation of their position and route, and this is pretty CPU intensive. Also, due to the distance covered by the bots during a jump, they had to be given a fairly good awareness about their surroundings to let them make good choices about when to jump and when not to jump. This was a problem that caused me a lot of headaches, and they still enjoy lava-baths more than I would like.

Another big hurdle was melee combat. A big aspect of H2 gameplay is melee combat with the blade staff. There are a variety of offensive moves and defensive tactics at the players disposal. To deal with this I had to develop a separate combat AI to deal specifically with this, which is very different to combat with projectile weapons. As far as I know, there are no other bots that deal with this problem on such a scale, so there was no reference material at all for me to work from. After a lot of trial and error, I managed to come up with a system that worked. The bots will move close to their opponent, and circle-strafe just outside the range of their opponents blade. They study their opponent, and react to the opponents actions. If the enemy does something that makes them vulnerable, like rolling on the ground or turning away, the bot will launch an attack. If the opponent is on the offensive, the bot will back off and try to avoid or block the attack. Occasionally, they will launch a random attack just for some variety. I was really surprised at just how well this worked out, as the basic idea behind it is quite simple, but the results are very convincing.

celtic88: Have you received a lot of positive feedback on the bot so far?

Grin: Yeah, I have. The response to them has been great. The H2 community have been gagging for a bot since the game was released almost 2 yrs ago. Right from the first release, I've been getting positive feedback, and some really good suggestions for improvements which I've tried hard to incorporate into the latter releases. The H2 community has been pretty patient, accepting the bots flaws and understanding some of the problems I was up against.

celtic88: What kind of features or improvements can we expect in later versions?

Grin: There are still lots of things that could be done to improve the bots, but these things are mostly minor tweaks and enhancements. I've got them to a stage where they are fully playable, fairly intelligent and pretty good opponents. Currently, I am working on combining the bots with other mods. I recently combined them with the Skull-Hunters mod, which is similar to head-hunters for Q2. This was really a test to see how easily this could be done, and worked out really well. Writing the new AI to deal with the mod-specific issues was not as difficult as I thought it would be, and I managed to get it all working smoothly in less than a day. At the moment, I'm working them into the insta-gib mod that I wrote, and that should be ready very soon.

Another thing I would like to do is to make them understand how to duel. This is an 'unofficial' gameplay mode that a lot of people enjoy. It is a fight to the death between 2 players using only the blade staff, where neither opponent is allowed to obtain health or power-ups during the battle. The winner stays on, and other players wait their turn in a queue. Sounds simple, but getting the bots to abide by these rules is proving difficult.

celtic88: Heretic 2 is a fairly old game, do you think a lot of people still play it?

Grin: No. Not a lot of people still play it, but there is a 'hardcore' group of maybe a couple of hundred people (that may be a bit optimistic) who love the game. It is a shame, as the game never really took off. I think it was ahead of it's time in terms of animation and stuff, but I don't think the gaming public was ready to accept a 3rd person game. It's only now that this type of game is gaining acceptance, look at FAKK2 and the forthcoming Rune.

celtic88: Do you think you'll continue working on the Grinbots in the months to come?

Grin: Yeah, definitely. I get a real buzz watching the little ones running around a map causing havoc. This is one of those projects that will never be finished, and there will always be something to tweak or improve. I guess I'll get fed up with them one day, but not yet.

celtic88: Any plans to write a bot for another game?

Grin: Possibly. There is a project that I'm involved with that is going to require bots. Things are still in their early stages with this, and nothing really concrete has been laid down, but the idea is to have AI characters playing alongside the human in a variation on co-op play, similar I guess to the gameplay in Voyager Elite Force, but with more of an RPG element. If that comes off it's going to present some pretty big challenges.

I've got no plans for writing a bot for any existing games. I did consider starting something for FAKK2, but I found the game to be pretty un-inspiring and so gave up on that idea. Alice by EA looks promising, but the lack of multiplayer support rules that one out. I'm looking forward to Rune by Human-Head. I've yet to find out if they intend to include bots with it, but if they don't, then that's something I might have a go at.

celtic88: What is the best bot you have ever played?

Grin: I am in awe of the UT bots. These, IMO are a masterpiece.

celtic88: Was this your inspiration to write a Heretic 2 bot?

Grin: No, not really. I wrote the GrinBots mainly for selfish reasons. Here in England, access to the net is expensive and slow. I never had the opportunity to experience H2 deathmatch with acceptable net performance, and don't know anyone close by who plays the game, so I wrote the bots.

celtic88: What do you think is in store for the future of bots/AI, are they getting bigger and better, or is the game industry drifting towards a multiplayer-only audience?

Grin: I think they are getting bigger and better. The game industry is drifting towards a multiplayer-only audience, but this is a good thing. It's the multiplayer aspect of a game that allows the development of gaming communities and keeps it alive. I've never completed the single player side of Quake, Quake2, Unreal or Heretic2, but love the multiplayer aspect. Where you have multiplayer, there will always be a need for bots. There are plenty of people like me who cannot get a good enough connection to play over the net, and so bots are essential. They also offer the opportunity to practice offline without other people seeing just how bad you are. What I am not sure about is whether the inclusion of bots with games such as UT and Q3 is a good thing. I know that it instantly allows the user to play multiplayer games off-line, but I think that it slows down bot-development in general. I don't think that there's been a single bot written for UT other than the ones shipped with the game, and that is a real shame.

celtic88: Anything else you'd like to add?

Grin: Yeah, I'd like to say thanks to Steve Yeager, the author of the ACEBot for writing some sweet pathfinding code and releasing it for others to use. That was a real help. Also, big thanks to anyone who has sent me comments/ideas and helped me with the testing.

Finally - Bot Epidemic Rocks !


ze0 - Webmaster
theFragile - News / Content
Def - Content
celtic88 - News
Send in News

All content © Copyright Bot Epidemic 1999. All Rights Reserved. Site design by Dominic Rutter. Hosted by TeleFragged.