Shockbot - taking its first steps

Discuss Artificial Intelligence and Bot programming.
FrikaC
Site Admin
Posts: 1026
Joined: Fri Oct 08, 2004 11:19 pm

Post by FrikaC »

Thank god for FrikBot's utter stupidity.
scar3crow
InsideQC Staff
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Post by scar3crow »

Frikbot only ever feels inhuman with its aim a little bit, and its movement in spots, which can be due to how the waypointing was done.

But they never do things that are just ridiculous, like consistently landing exactly where they need to using absurd amounts of air control. It feels like they have limitations akin to the player.
Electro
Posts: 312
Joined: Wed Dec 29, 2004 11:25 pm
Location: Brisbane, Australia
Contact:

Post by Electro »

It really depends who you're playing against... human opponents are capable of such things (timing/anticipating the respawn of key items) as well as guiding themselves in the air. It's all possible with the player physics, there's nothing that the bot is doing (with shockbot anyway) that isn't physically impossible for humans.

That being said, shockbot's skills will vary between skill values (set before the bot spawns, like every other bot out there) as well as that bots individual abilities.

Having all this stuff in there is for the best skill the bot can do, scaling it back from that after it's all implemented is trivial. ;)
Benjamin Darling
http://www.bendarling.net/

Reflex - In development competitive arena fps combining modern tech with the speed, precision and freedom of 90's shooters.
http://www.reflexfps.net/
scar3crow
InsideQC Staff
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Post by scar3crow »

Generally though human opponents do not have consistently perfect aim when under heavy fire and are rapidly losing health... Aim with their weapons or of their own bodies. Of course there are those who have exceptional aim and perform great under fire (especially if they disable the pain flash...), but seeing a bot perform that well CONSTANTLY just jolts you out.

I am more intrigued with the idea of building up skills... Not to detract from what you are doing, it can work as well. I just like the idea of giving a bot full capabilities, and then thinking of the ultimate noob to first person shooters and Quake, and then going from there... Bad aim, no shot leading, no rocketjumping, not aware of secrets, always run is off, slow turning, miscalculates jumps often... and building it up from there, with better jump calculation, discovering always run, getting better aim, and then the next step of discovering rudimentary rocket jumping, using the secrets... eventually getting one with basic knowledge of air control, knowing all secrets, leading well, juggling, circlestrafing, defensively spamming, timing items...

I think I'm just more interested in the evolution of things =)
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Post by frag.machine »

You know, reading all this bot talking makes me wonder how fun can we get if we transplant a FrikBot's brain into a regular Quake monster, like an ogre... Cafe wrote a lot about mobots and how it would be challenging to make monsters more smart using bot's code. Perhaps I should try to do something like this when I got some spare time in a rainy weekend :)
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
scar3crow
InsideQC Staff
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Post by scar3crow »

You have no idea how many times I have dreamed of such... and talked at length about such...
Electro
Posts: 312
Joined: Wed Dec 29, 2004 11:25 pm
Location: Brisbane, Australia
Contact:

Post by Electro »

scar3crow: hehe the evolution you're talking about is merely bot development... more and more things get added as it goes obviously ;)

depending on the skill will depend what it has access to, and how well it does it (if at all in some cases)

Shockbot also won't be perfectly aiming on lower skills, and yes they'll crack under pressure and have a harder time tracking you if they're getting smacked about.

There's so much i've thought about and broke down regarding how humans play, it's just a matter of having the time to implement them all.

I'm slowly chipping away at it :P
Shockbot will be capable of all of that.... it's very customisable... you can make the bot as smart... or as dumb... as you like
The idea is that it caters for ALL skill levels, like humans.

You can make presets (bot personality files) - bots on different difficulty levels still take their own personality into account, it's just scaled based on the skill set.
Benjamin Darling
http://www.bendarling.net/

Reflex - In development competitive arena fps combining modern tech with the speed, precision and freedom of 90's shooters.
http://www.reflexfps.net/
Orion
Posts: 476
Joined: Fri Jan 12, 2007 6:32 pm
Location: Brazil

Post by Orion »

Electro, your bots don't need waypoints, right?

As I love TF, all TF bots I played are too dumb, with the exception of Coffee's TF bot, but they need waypoints.

I think 90% of the human players while playing TF they bunnyhop around the map to get more speed (only in QW).
So, is there to you make a QW TF bot without waypoint navigation and make they bunnyhop like real players around the map?
If you want you can do it with your standart QW bots.
Lightning Hunter
Posts: 169
Joined: Wed Nov 28, 2007 6:15 am

Post by Lightning Hunter »

Hey Electro, someone sent me a link to this thread, and being a huge fan of Quake bots, I just had to register and ask you a question... Maybe you already answered this (I might have missed it), but will these bots be able to use lifts, press buttons, and do advanced tricks without waypoints? Or will there have to be waypoints for every map? Up to this point, I think the Reaperbots still have the best navigation without waypoints. I hope your bots will surpass them! :D
Electro
Posts: 312
Joined: Wed Dec 29, 2004 11:25 pm
Location: Brisbane, Australia
Contact:

Post by Electro »

Orion & Lightning Hunter: shockbot currently requires manually placed waypoints.

Orion: bunnyhopping is something i have planned to do later, but there's lots of things that are higher priority first ;)

Lightning Hunter: hi and welcome to i3d forums :D
My bot will be able to use anything a player can (lifts/buttons/wind tunnels etc)

Every map will need nodes (or waypoints or whatever you want to call them).
Currently they can only be created manually (made in-game, and then it saves them out to an external file, which is loaded next time the map is loaded).
I have plans to automatically generate nodes for levels that don't have them present, although I don't foresee the quality being as good as manually made ones. It will however allow for any map to be played without the fuss of having to make nodes for them.

It'll most likely take a few seconds to calculate when the map loads, and then cache them out to a file which can be loaded in the future. The files for these caches will be different to the manually made node files so that they don't get confused, and so a WARNING can be printed when the level is loading to say it's using dynamically generated nodes.

It's been quite some time since I've taken a look at reaperbot, but I thought Omicron did pretty good with dynamic level learning stuff? :)

I'm not sure how any other bot is doing things, I usually try and just tackle one problem at a time myself and think of the best solution I can and how it can be applied best to fit in to work with all the other AI.
Benjamin Darling
http://www.bendarling.net/

Reflex - In development competitive arena fps combining modern tech with the speed, precision and freedom of 90's shooters.
http://www.reflexfps.net/
LordHavoc
Posts: 322
Joined: Fri Nov 05, 2004 3:12 am
Location: western Oregon, USA
Contact:

Havocbot

Post by LordHavoc »

I recently upgraded the havocbot aiming code, and it IMMENSELY improved their believability, it may be worth a look.

Basically I used to have them kind of interpolate between old and new aiming angles.

But now I made them calculate the delta between the old and new, multiply by 1/frametime to get a rate of change (avelocity), and then blend a bit of that onto a new avelocity-like vector field, so they're basically just adapting their motion tracking to better match what the opponent is doing, and obviously this takes every form of relative motion into account simply by how it works (if they're getting juggled, they'll have a hard time aiming because their motion vectoring is getting hosed).

And I made them fire whenever their motion vectoring is getting close to correct (where "close enough" varies by weapon and bot skill), rather than when the enemy is in a cone of fire, this also immensely improved their believability - the lower skill modes often have them doing strafing attacks with nailguns or lightning, looks very convincingly human.

At higher skills they adapt faster to the motion vectoring, and become uncanny in their aim, and tend to use shorter burst attacks with the nailguns/lightning since their tolerance gets tighter - this is still rather convincingly human, just feels more like you're up against a skilled show-off rather than a newbie or average player.

http://svn.icculus.org/twilight/trunk/d ... iew=markup - search for w_aimdir.
scar3crow
InsideQC Staff
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Post by scar3crow »

Bunnyhopping in QWTF is the main reason I don't play anymore, it just broke it down into a race in my opinion, less class or team oriented... Just... going fast... Basically a capture race.

Electro - I've always been fond of Tutorbot for nodeless navigation, simply because it makes sense... the bots are fundamentally blind to many things without waypoints, and so the next best way is feeling what is near - because in most cases, a room has an exit, and it is connected to the walls... I always found that to be charmingly simple and effective.

LordHavoc - I love that. New version of DPmod with them intact uploaded?
Orion
Posts: 476
Joined: Fri Jan 12, 2007 6:32 pm
Location: Brazil

Post by Orion »

For me the main objective in TF is capture the enemy flag.
As TF was made to capture a flag, you should go for it as fast as possible, ignoring, concing and throwing caltrops in the enemies if possible (that's my play style).

Too bad that in the QWTF server I play it doesn't allow snipers in the game because of the aimbots, and it's the only brazilian server that have players online. The international servers I get a very high ping, because my connection is via radio, 1 mbps speed, but the signal is too unstable, causing me to get high ping on international servers.

A few time ago I was playing CustomTF (way better than normal TF), it was a great server because even if it is far away I got a nice ping, BUT the bunnyhop was limited to 500 speed, when a player passes from 500 speed he loses all speed causing an UGLY disadvantage. I hated that, but I try to don't pass from 500.

Too bad the server isn't online anymore.
Do someone know any other CustomTF servers?
Up2nOgOoD[ROCK]
Posts: 18
Joined: Mon Jul 31, 2006 9:57 pm

Post by Up2nOgOoD[ROCK] »

-up2
Orion
Posts: 476
Joined: Fri Jan 12, 2007 6:32 pm
Location: Brazil

Post by Orion »

I already got an active customtf server before you post up2.
But thanks anyway. :)
Post Reply