Despite being the king of online multiplayer shooters for years now, Valve Software's Half-Life mod (and later retail game) Counter-Strike has never had an official way to play through the game offline via bot (although a number of third party bots have been released). That situation will soon change as Valve plans to release an update to Counter-Strike that will include official support for offline bot play. HomeLAN is the first web site to reveal this upcoming new feature via a chat with the bot's programmer Michael Booth (with a cameo from Valve's Erik Johnson).
HomeLAN - Why did Valve decide to finally release an offline bot for Counter-Strike?
Erik Johnson - We've wanted to do a bot since we first released Team Fortress Classic, but for one reason or another something else just always kept us from attacking the job. We met Michael Booth a year or so ago and knew we wanted to work with him. After kicking around a few ideas, the bot just presented itself as the best thing to start with.
HomeLAN - Michael, how did you hook up with Valve for this assignment?
Michael Booth - While I was at Westwood/EA creating Nox and working on the Command & Conquer game series, some friends introduced me to Counter-Strike, and I became completely addicted to it. When I decided to leave EA Pacific and start my own studio (
http://www.turtlerockstudios.com), Valve was the first place I contacted. I had heard great things about them from colleagues, and was impressed with Half-Life, their support of their MOD community, and their ambitious new Steam technology. It turned out to be a win-win situation, where I was given the freedom to do some innovative work that added a new dimension to a game I really enjoy - Counter-Strike.
HomeLAN - What were the main goals in creating a bot that can realistically play Counter-Strike offline?
Michael Booth - The primary goal was to allow people to enjoy the Counter-Strike experience by themselves, without requiring other players or a network connection. This allows players who are new to Counter-Strike, or who don't enjoy the ultra-competitive nature of the online community, the ability to play this addictive game on their own terms. During testing, I have seen people who have never played Counter-Strike have a lot of genuine fun with the bots. Encouragingly, experienced players also enjoy playing the bots - albeit on an increased difficulty setting. Several of my friends are eagerly awaiting the Counter-Strike Bot release, so we can have a "humans vs. bots" LAN party.
HomeLAN - There are a number of third party bots for CS already out; did Valve take any lessons from these creations?
Michael Booth - I was impressed with the Counter-Strike bot community, and there are several solid community-created bots out there. However, my goals for this bot were slightly different, and I had some new AI tricks up my sleeve, so I decided to start from scratch. The result has been a bot that is quite unique, even if you have played other bots before.
HomeLAN - How hard was it to create a CS bot since the mod was first designed to solely be played by humans?
Michael Booth - It was quite challenging, but that was one of the things that made this project so much fun. For example, the large number of maps that exist for Counter-Strike were not created with bots in mind. Many things are non-standard among different maps, such as ladder placement, doorway widths, obstacle geometry, and so on. This required flexible and robust navigation algorithms.
In addition, since there are so many custom maps, requiring a human to build map-specific data for the bots (such as waypoints and other hints) would be a logistical nightmare and would hinder the bots usefulness. Therefore, I programmed the bots such that when they encounter an unknown map, they spend a few minutes "learning" it, automatically creating all of the data they need to play that map. This only happens once, as they store the data in a file which can be distributed to other players along with the map.
Another challenge was the fact that Counter-Strike players (usually) function as a team. This required the bots to communicate with each other via the radio, as well as any human players in the game.
HomeLAN - Can you go into some of the programming that was used to make the CS bot?
Michael Booth - There where many challenges, but the first order of business was to program a way for the bots to "understand" a map, and move around in it.
This was done by sampling the map during the learning phase, and collecting those samples into rectangular "navigation areas" that blanket the map like a quilt. Each of these areas is connected to the adjacent areas next to it. So, once a bot knows which area it is in, it therefore knows which adjacent areas it can move into. Using a form of A* search, the bots can then plan routes through a map.
Once the bot knows the path it wants to take, I had to create an algorithm that would walk or run smoothly along that route, and not get stuck on odd corners, crates, or other obstructions. This included knowing when to jump and crouch, as well as going up and down ladders.
And, as any Counter-Strike player knows, as you run you also have to look around and check places where enemies could be hiding, or you'll get a bullet in your back. I call these hiding places "encounter spots," and have developed an algorithm to determine where and when to check for those.
HomeLAN - What will the bot be able to do when a player puts them into a CS offline game?
Michael Booth - For the most part, the Counter-Strike bots act just as real human players do. In fact, they have reached a level of behavioral complexity where even I have fun playing a game with them, as I'm not quite sure what they will do next.
Here are a few interesting examples of things I've seen the bots do:
In a firefight, a bot might retreat a bit and hide, waiting to ambush you when you move up or out.
When fighting a group of bots, one might split off and sneak around behind you.
In maps like de_dust, bots might jump down and ambush you if you are running under the bridge.
HomeLAN - How many bots can be supported at one time for offline games?
Michael Booth - Bots take up normal player slots in-game. We routinely play with 10-20 bots.
HomeLAN - How will players be able to alter the bot to suit their playing levels and techniques?
Michael Booth - Players can choose an overall difficulty setting for the bots, as well as how many bots to use. More advanced users can customize the weapons bots are allowed to use, as well as and a few behavior parameters.
HomeLAN - Will there be support for the official CS bot in multiplayer and if so how will server operators be able to monitor bots on the server?
Michael Booth - The Counter-Strike Bot can be used in multiplayer games. Server operators can adjust the number of bots in the game, their difficulty level, and add or remove specific bots.
HomeLAN - When can we expect the CS bot to be released and in what format?
Michael Booth - We are in the final stages of internal testing and polishing the Counter-Strike Bot now, and plan to beta-test it over Steam before the end of April.
HomeLAN - What features will be added to the CS bot for future released?
Michael Booth - This first release of the Counter-Strike Bot is just the beginning. I have many more ideas, and plan to continue working with Valve for the foreseeable future.
HomeLAN - Finally is there anything else you wish to say about the official CS bot?
Michael Booth - Many thanks to Valve for providing the support and creative freedom that has allowed me the time to innovate and create this next-generation bot.
Источник:
www.homelanfed.com
в комментах опубликую машинный перевод
я подумал, почитал и решил, что
машинный перевод даже публиковать не стоит, хватит с него ссылки, уж больно коряво, читайте в оригинале
отредактировано: 22-04-2003 11:21 - SoulSaver
CS 1.6
[Print]
3 CaHuTaPa