I've said I'd not come back on the topic but since I've received other personal attacks , I found time and decided to write hopefully a resonable enough explanation ( for you ) of why quite almost Rooster's video content is resonable enough suspicious ; all by using logic since I can't have access to Rooster's installation and/or to the set of demos used for producing the video.
A human reaction is driven by events ( vision, sounds, position prediction driven by estimation and/or map knowledge - items, teleports ... ) while a bot reaction is almost driven by data ( actually brainworks bot have also a support for giving reactions driven by sounds and vision (*) ) even if it tries to simulate human reaction.
Every event is interpreted by players as a ring bell for paying much more attention at what will happen immediately after. As an example you can read this old post on how usually players start to pay much more attention at entities spawn :
http://openarena.ws/board/index.php?topic=1834Now I will give you an example of reaction driven by events through the analysis of some parts of this video (
http://www.quakeunity.com/file=2579 ) made and edited by the uscpmpickup guys , which are "certified" PROs. Most of the content is based on duels where things are very different than CTF , but it's anyway a good example.
- the first example is a railshot at 1m and 29s ( more or less ) : the map is cpm3a which is one of the most used in duels ; there's a spawn point and a teleport where the opponent is fragged and if you pay the right attention you can hear the teleport/spawn sound : a classic reaction guided by events and knowledge of the map ( he knows well there's a teleport/spawn point ; the teleport is the exit of the one in front of Red armor : it's quite common running the risk of shoting enemy there because he could come after taking ra or he could spawn there and go to take the RL and/or the LG and/or the YA and/or the corridor to the MH room. )
- the second example is another railshot at 1m 35s ( more or less ) : the same map cpm3a ; again there's a teleport there and u can hear the sound of it ( it's the exit of the portal placed in that little room where the player was fragged in the previous action at 1m 29s ) but the human reaction is driven also by the rocket that the enemy has shoted revealing his posistion.
- at 3m 36s there's a nice rocket shot driven by a teleport event.
- at 3m 41s there are 4 close and consecutive frags : the first is a railshot guided by a teleport event ( the map is cpm22 ) , then the player takes the teleport to have a visibility from a higher position waiting for the spawn event ; he suddenly fragged his opponent after spwaning with a single rocket ( in CPMA the player spawns with 100hp and rockets' speed is 1000 ups ) , then the opponent spawned again in a zone controlled by the killer and again the player spawnfragged him and finally the opponent spawned in a relatively hidden zone , but again he was spawn fragged simply because after hearing the spawn sound , the player predicted that his opponent would go to get a rocket and the enemy was enough inexpert to go there instead of taking teleport to RG .
- at 4m 51s there's a railshot driven by the combination of the knowledge of where the enemy would be after he took the MH teleport and the jumper sound.
Now let's analyze some parts of the Rooster video. I will (or at least try to) explain why many of the shots in the Rooster's Just Killing Time video seems to be mostly data driven instead :
- 0m 36s : spawnfragging of the opponent exactly at spawn ( he didn't frag the opponent because players spawn with 125 hp ) ; he could not have any knowledge of the imminent spawning of the opponent , while a bot can know that event before is drawn on the screen.
- 0m 45s : UnnamedPlayer is on his visual , but he fragged him only after he disappeared by its visual ( like he had a bind like "/bind MOUSE1 +aim; +shot" or the autoaim is synchronized to shot when the enemy is at a certain distance or the autoaim simply shots at the closest enemy )
- 0m 57s : He fired a rocket that exactly hit the player coming out of the teleport ( the bot can know a player is taking a teleport before the event is drawn on the screen )
- 1m 25s : same as at 0m 45s
- 1m 31s : same as at 0m 45s
- 2m 10s : same as at 0m 45s but he didn't have the enemy on his visual.
- 2m 45s : it seems the bot had a wallhack but also that the shot is fired only when the enemy is on free visual. If he instead heard for the enemy , it's higly improbable that he followed the footsteps without knowing that it's the flag carrier and its position while running.
- 3m 15s : same as at 0m 45s
- 3m 24s : what's the logic on shoting at enemy while falling in the void ? ( once the target is locked , the bot continues to aim on it until is get fragged )
- 3m 42s : same as 3m 24s
- 3m 44s : Think about it : he took the jumper and while going to the enemy base he shoted a perfect airocket after the enemy took the opposite jumper too. ( the bot knows rocket speed - constantly 900 ups , even if the player is running at 2000 ups - and the jumper speed taken by enemy and adjust aiming angle a little bit before shooting rocket )
- 4m 21s : same as at 2m 10s
- 4m 24s : same as at 2m 10s ( the enemy was on his back )
- 4m 59s : perfect airocket while enemy is falling over the jumper under the enemy base on oa_ctf2
- 5m 03s : another perfect airocket after the enemy took the jumper; pay attention at the "presumed MOUSE movement" : it continues to remain fixed on the same position after shoting the rocket even if it was very quick ( again , the bot adjust aiming angle because of the exact knowledge of the rocket speed and the jumper speed )
- 5m 06s : another perfect airocket while he enemy is falling over the jumper under the enemy base on oa_ctf2 : he didn't even tried to shot him while he was still over the platform ... the enemy is fragged in quite the same identical position as seen at 4m 59s
- 5m 18s : same as at 4m 24s
- 5m 36s : same as at 2m 10s ( the enemy was covered by the ramp )
- 5m 40s : it appears as a lucky shot ... a too lucky shot ... a very too lucky shot ... maybe not exactly a lucky shot
- 5m 43s : same as at 0m 45s
- 6m 05s : another under water lucky shot ? or did the bot wallhack help him ?
- 6m 28s : same as at 2m 10s
- 6m 30s : same as at 2m 10s
- 6m 32s : same as at 0m 45s
- 6m 34s : same as at 0m 45s
- 6m 36s : same as at 0m 45s
- 6m 38s : same as at 0m 45s
...
By summarizing all the "strange" or "supposed lucky" events , it's highly improbable to be driven all by luck and they look like too much serial to be done by human estimations, also because the demos were produced in a relative short time ( months ).
I think the video is a spot for the presumed Rooster skill/superiority and/or presumed attitude ( killing time ? ) , not a good spot for OA.
(*) - quoted from
http://code.google.com/p/quake3-brainworks/Brainworks is a Quake 3 mod designed to give Quake 3 Arena bots working brains. It is a complete rewrite of all the Artificial Intelligence used by the bots. Brainworks includes:
* Sound and visual awareness system
* Randomized dodging in battles
* Avoidance of incoming missiles
* Strafejumping
* Improved enemy aiming
* Goal and score-based selection of item pickups
* Timing of item respawns
* Dynamic weapon selection (based on weapon accuracy)
* Redesigned internal goal selection
* Redesigned internal aim selection
* Redesigned Teamplay logic
* Rewritten chat code
* Redesigned internal logic infrastructure
The goal of Brainworks is to make Quake 3 Arena bots as human-like as possible. With that in mind, the following human equivalents were set as the "goal for realism" for each bot.
* Skill 1: Someone who has played Q3A for less than 2 weeks
* Skill 2: Someone who has played Q3A for less than 3 months
* Skill 3: Average player on a public server
* Skill 4: The best player on a public server
* Skill 5: A clan player who plays in professional tournaments
Obviously it's harder to make realistic skill 5 bots than skill 1 bots, but we've done everything we can in a reasonable amount of time to reach these five goals for realistic bots.