|
Welcome, to the QuakeArena Bot Suggestion list! This is a list of suggestion I've gathered from the QuakeArena BotBoard. I will continue to find suggestions there, and add them to this list. In a month or two, I will forward this list to id software for "reviewing", and it's possible that they like some of the suggestion well enough to add them to the Bot in QuakeArena, the idBot! PS! I do not think all these suggestions and good, but I have decided to post all suggestions that aren't too stupid\impossible. Thanks to all those who have submited suggestions to this list. You know who you are. Updated: July 09, 1998 By: Timm Stokke @ Metropolis Visitor: [an error occurred while processing this directive] since 13th July 1998
In teamplay (mods), make bots communicate by sending messages to team members about where they are, if they need help, etc. General chatting in deathmatch mode would also spice things up - if possible, the chatting in dm should be based on things that had happend in that game. (ie. bot smacks someone with a rocket, then let 'em say something like "yeah, that really WAS my rocket launcher" or something =)
Would it be possible to have bots mimic moves that it saw real players do, and thus actually learn from them? For example, the LMCTF level where the bases are like cereal bowls at the top of the tower...virtually every flag grab is done on that level by grappling to the opposite hallway before the player is even in the room, then simply flying through, grabbing the flag on the way. Could a bot be defending its base, see somebody do that a couple times, and then be able to go the opponents base and try the same thing?
One of the parts of bots that impressed me with Quake II was the ability to use PPM's, alternative player models. With Quake Arena, this could be taken one step further. I am reminded of an old text and ASCII graphics based game called "Code Wars". The basic premise was to design a better virus, for lack of better terms. Through your programming, you could tell your "virus" to replicate, expand, or convert the other "virus". It was played on a grid, and the object was to take over every square in the entire grid.
Something like this could be available in Quake Arena. In addition to the bots that would ship with it, there could be a plugin system that would not only include your own model, but your own code for the movement of your bot. Then you could set it on autoplay and see if your best design could defeat someone elses. Granted, this may not sound as interesting as actually playing the bots yourself, but it would definetly be a plus for those that enjoy dealing with AI and could open up new areas in the field of AI.
That is if it was only based on the premise of autoplay as in "Code Wars" where the user has little interaction after the game has started. But an alternative mode would allow the users themselves to play against these programmed plugin bots. In some cases, bots that were easily defeated by other bots could prove to be the hardest to defeat by human players, and visa versa. The possibilities are endless.
BOT RECORDINGS:
I had the idea of bot skill recordings when I was playing my eraser bots. The bot.cfg can be used to imitate real life opponents that you meet online ect, but not exactly. If you could record a persons stratgies skills ect. it could be used to practice for fighting certain oppnents. Lets say there was a perticular person who grabs the Bfg or Railgun and then camps in some sniper point thats nearly impenatrable. A bot recording could be made of this player and you could practice against the bot until you can sufficently whoop its ###, then go back and get the sniper out of his hole.
Weapon aiming should reflect the nature of the weapon. i.e. Bots in Unreal tend to aim for the floor with the Eightball and for the head when using the Rifle. An example of good weapon aim and strategy. Bots in QA will need to know when and how to use each weapon, or be crushed. It should know how to deal with splash damage and hitscan weapons (like, get the hell away from the wall when dealing with splash damage weapons!). It should also know the relative priorities of the weapons. I.e. if a bot has a shotgun and the player has a RL, the bot should probably take potshots while running and looking for a better weapon.
Weapon aiming should NOT be perfect. This is one of the most frustrating bot flaws. Remember the early Eraser with perfect railgun aim? Wasn't that fun? Ideally, the aiming should be determined by a number of factors, like bot skill, range, damage sustained recently (ya know, polyblends and kickbacks make for crusty aim with humans, why not simulate that in bots?) and a bit of randomness throw in for flavour :)
Bot movement should not be random, but should be appropriate to the current situation. I.e. A bot at far range being attacked with a high accuracy hitscan weapon should exhibit some "jerky" movement patterns like expert human players. A bot at close range should engage in a circle strafe/dogfight occasionally. Again, the Unreal bot excels at most of these movement types.
Reasonable player detection. A bot should be able to use sounds, gun flashes, and good ol' eyesight to determine where the player is. Higher level skill bots would ideally be more successful at determining the players location by using these clues than a lower level bot. What I DON'T want are bots that psychically detect your presence around the corner and shoot a perfect shot right away (Unreal, Eraser), try and fire through walls to get you (Unreal, Eraser) or nail you even though you are hiding in an absolutely dark corner or behind a non-clipping wall (Unreal, DMCurse has two of these walls where you can walk through a "wall" into a hole, and you can see out, but no one can see in). Now, that doesn't mean that the player should be able to camp in a hiding place and kill the bot all the time, eventually the bot should catch on (again, higher skill bots would do this earlier)
Player pursuit. Unreal is horrible for this, bots will follow you all around the level without any regard for the situation they're putting themselves in (i.e. they run blindly around a corner while I'm bouncing flak shards or grenades off the wall from a safe distance/angle). A good bot will know when to stop pursuit, pause for a bit to listen for sounds, or go for an alternate route. Again, some randomness/fuzzy logic would be good here (A couple factors could go a long way here to simulating a human player. i.e. If the bot is decked out, keep going but if it's low on health and/or getting it's arse whipped, break it off)
Is it possible to force a bot to rely on line of site and sound and stuff? That would be really cool. I just figured the only possibilty would be to calculate in mistakes, (ie...they always "know" there are players on the other side of the wall, but they only have a 25% chance of "realizing" it.
Bots should try to keep control over the level and\or particular important items
It would be extremely cool if it would be possible to record demos from the bots point of view!
allow user to configure bots name, skill, color\skin, model, favourite weapon, "type" (camper, maniac..) etc. this could be done in-game, or via a startup frontend.
I would like to see only the basic coding that is mostly the same with most bots. Then everything else can be added by plugins or DLL's or something. I think it would make the most people happy, and would make it easier for Bot makers, which would mean less coding, and could also help Mod makers, who could make a small plugin that would add support for their mod, rather than waiting for a Bot Maker to add support for it, helping out both sides, so I call all Quakers to the cry... OBEN BOT ARCHETECTURE, NOW!
What if bots started off 'dumb' not knowing anything. Bassically they could move forward, backward, and turn. In order to get better they would need to learn based on the player's input and movement patterns. So, as the player tries harder, plays more skillfully, the bots will try to mimic and improve upon the players movement by combining the most efficient of the player's types of movement. This would make for challenging, yet fun gameplay, as the bot would ALWAYS be a little better than the player, but not impossibly so, yet not be a pushover for more skillfull players. (For some people Reaper's and Eraser's 1 on 1 are a shot in the basket). An added bonus would be if you could save these AI routines and distribute them on the internet, imagine being able to download the images of the BEST players on the 'net.
I've heard about this new fighting game being developed which supposedly learns the player's techniques and then counteradjusts its technique accordingly. Eventually the bots should be tailored to your certain fighting style, which should provide continous replay value since they are ever evolving.
Each bot should have unique traits, personalities, skill, model type, strength, speed, stamina, special weapons/attacks, etc. Kinda like Twisted Metal 2 vs. humanoids. The player is thrown into a Running Man style arena with one or more bots. The winner is the last man standing(of course other DM modes should be supported). You then would move up a ladder and then face other opponents. The ladder should have other matches calculated in the background to determine the output of those, to simulate a real tournament going on. After reaching the top of the ladder, the player should face off with the current champion (boss character)1 on 1. After defeating the boss, the player should be allowed to enter another harder tournament, etc. etc.
|