Xonotic Forums
[SUGGESTION] Bot suggestions - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10)
+--- Forum: Xonotic - Suggestion Box (https://forums.xonotic.org/forumdisplay.php?fid=20)
+--- Thread: [SUGGESTION] Bot suggestions (/showthread.php?tid=2451)

Pages: 1 2


Bot suggestions - rocknroll237 - 12-17-2011

Hi guys,

Here are some of my suggestions relating to Bots:

1. We should be able to order bots around by placing markers on the map and telling them to attack, defend, drop the flag, etc. (this would work best if it was only available in a single player match)
2. The Bots should move more fluidly (they seem to crash into things and change direction rapidly)
3. Finally, the Bots shouldn't reduce the framerate as much as they do (don't want to make a debate but Red Eclipse seems to cope with this extremely well)

Thanks,

Cam Big Grin

UPDATE:

Spoken to Divverent on the forums. See this pastebin file for the details regarding bots:

http://pastebin.com/UuFY1h9A



RE: Bot suggestions - Harmata - 12-18-2011

Yes, i also would like to know why bots have such influence on framerate. Don't think that we should waste time on command system for them tho, better work on their overall AI.


RE: Bot suggestions - Lee_Stricklin - 12-18-2011

Right now I think the most important thing to do with the bots is actually get them to fight lol seriously, even on their hardest difficulty they're laughable at best and have a tendency to run into walls and get snagged on stuff. They also don't know how to move very well as they seem to pick the worst time to try to bunny hop and don't really jump out of the way of stuff flying at them like bots in other games or especially humans do. Getting them to do all of that though, sounds like a pain to do and bots aren't really a high priority at the moment if I'm correct.


RE: Bot suggestions - rocknroll237 - 12-18-2011

It would be a pain, but I think it's something that could be accomplished in the future (maybe sometime late next year).
The most important thing, imo, would be to lessen the impact they have on the framerate. Maybe the bots reduce the FPS more when they are enabled on a PC and not on a server...


RE: Bot suggestions - mand1nga - 12-18-2011

Unfortunately current code for aiming is very dependent on physics, and still the relevant cvars haven't been adjusted to match current/default physics. However, current code is about to be thrown away, tZork has coded a replacement for it which still has to be adapted/merged/tested/configured.

As for movement problems please do take your time and post at least about the more annoying cases to http://dev.xonotic.org


RE: Bot suggestions - rocknroll237 - 12-23-2011

I won't post a ticket on the dev tracker because I don't think it's that important at the moment. I have made a video showcasing one of the common bot-related bugs, however: http://www.youtube.com/watch?v=QAZui23FzMA&feature=youtu.be

As you can see, the bot's arms move around a lot. This might have something to do with the CSQC animations, though.


RE: Bot suggestions - Mepper - 12-23-2011

No, I don't think it is.

The bot is probably just looking arount for enemies Tongue


RE: Bot suggestions - Lee_Stricklin - 12-23-2011

That looks like me on waaay too much caffeine. I was doing that all over Killing Floor earlier today actually while looking at multiple enemies, people accused me of botting because I kept one hit killing while my movement was spazzing out like that Tongue what they failed to realize though is my weapon almost always kills in a single shot and I was firing into groups lol


RE: Bot suggestions - noobermin - 12-24-2011

The bot AI has always been bad although it's somewhat better now. I think it never really bothered anyone because Nexuiz never really was a 1-person game anyway.


RE: Bot suggestions - nifrek - 12-24-2011

The arms thing is party because of animations, that model uses old anims from 0.1. What happens is that the bot is probably changing direction very quickly from one side to another, which also makes animation switch and restart each time. Also, those old anims have the whole player rotated left/right for strafeleft/right and the bone used for weapon position ends up very badly aligned (it does not point at all where player is aiming), which makes it a lot worse, the weapon points left on one animation and right on another.

Unfortunately I can't really fix this, the rig on this model is too different from the one I made the new animations with (megaerebus), so I cannot import the animations to it like I did for some other models (which required tweaking, but was easier than redoing animations from scratch). Basically, this model needs a new rig and new animations. Same for a few other models also (basically most of the very thin ones).

But, even with new animations, it doesn't fix the "shake" totally, it still starts a new animation every time the bot changes direction, if 1st frame has the left leg up, it'll look like he's moving around with his left leg up constantly and with a weird shake. Hopefully csqc could help there, by "remembering" frame number of playing animation and start the next animation at the correct frame of the run cycle (assuming the looped animations have the same number of frames), that would allow much better blending between animations. I have however no idea if it's actually possible and/or if somebody would be willing to code this. I know that divVerent has plans for animation blending but I don't know if this is one of those things, for all I know he might have a better solution or different features in mind.


RE: Bot suggestions - rocknroll237 - 12-27-2011

That's interesting. Animations are a bit rusty at the moment, but I really like the new Overkill roly-poly animations (while pressing shift and forward at the same time) and the new gib and blood effects are pretty cool. While we're on the subject of animations, has anyone considered putting hands and legs into the 1st person view?

Also, relating to my earlier question, does anyone know why the Bots reduce the framerate so much? I think it's probably something to do with amount of particles and gibs, because there isn't much of a change in fps when I reduce the player model detail. Red Eclipse seems to cope with bots well. Could Xonotic learn a thing or two from RE? (Gasp).


RE: Bot suggestions - theShadow - 02-06-2012

it's probably more to do with the calculations the bots have to consonantly make. about the only thing that can gbe done about it is code optimization.

in a lot of games, the AI is one of the biggest performance hogs.


RE: Bot suggestions - rafallus - 02-06-2012

Biggest thing is that bots should bunnyhop furiously, especially on higher difficulty levels.

It's pretty ridiculous, how easily they can be outrun on maps like courtfun.

Of course, even while bunnyhopping, their accuracy should not drop at all. IMO bots don't need to be fair in that regard, because they still have to follow preprogrammed paths, so they need to have some tricks up their sleeve to actually be competitive.

Other thing is in goal oriented modes, they should aggressively pursue goals. I've seen several times that bots had their own flag to return next to them, but they ignored it and went the other way. Same happens in domination, I've just played one game for test, and there were at least two occasions observed, where bot just went by a dom point without capturing it. Similar stuff was happening in 2.5.2 too. IMO bots need to be much more pressuring than that.

PS.

Quote:3. Finally, the Bots shouldn't reduce the framerate as much as they do (don't want to make a debate but Red Eclipse seems to cope with this extremely well)

I found "decals on models" option to be extreme performance killer, along with relief mapping.


RE: Bot suggestions - tZork - 02-06-2012

Bot usually arent *that* performance taxing. however they have a nasty tendency to get stuck on things and just trying to keep on going. This proly taxes the collision code a good bit. IMO, the bots need to be re-written from scratch. That code does all sorts of funkey things - like simulating network lag and trying to emulate distanced between keyboard keys to realistically delay movement. While that may sound cool in theory, i think the thing noone here would accuse Xonotic's bot's of is realistic behavior Wink

As usual its a question of priorities. Since Xonotic is 99% a multiplayer game, bot stuff gets low prio as long as long as they "sorta work" and there's more pressing (and interesting, in many cases) things to deal with. Likely we need to make some engine changes too, if we want to have real good bots - another area where we have few devs capable/interested.

I have had thoughts abt rewriting the bot code a few times, but frankly i just don't have the time or motivation for it now. So if there's a coder with some free time and a interest in this subject reading this - that's a open job! Wink


RE: Bot suggestions - rocknroll237 - 02-07-2012

I agree that bots aren't high up on the list and improvements should be made in the future.

That said, I have to disagree with you when you say that Xonotic is 99% a multiplayer game.

Here's why:

1. There are only a few people online at a time atm. A lot of game modes aren't featured online, so you have to resort to fighting with bots (when was the last time you saw a Freezetag match going on?)
2. A full SP campaign (potentially with a story) is in the pipeline and this requires realistic bots,
3. Bots are just plain fun and you can create awesome matches with them.


RE: Bot suggestions - Mepper - 02-07-2012

I don't really think Xonotic can ever get a singleplayer campaign like most games have these days. That just doesn't really fit, and above all is just not realistic. You will need A LOT of developers, who are willing to spend A LOT of time, and still I would doubt if it really maked the game better.

Xonotic is just an arena shooter, and IMO it is 99% multyplayer. And you need a ridiculous amount of skills to be really good at this game (which I really like) but I would assume that learning bots to play this game really well is just impossible. Other games like CoD only require you to walk arount a bit and shoot, do a bit of hiding, that all is pretty easy to learn a bot.
But how would you ever want to learn a bot when to laserjump, or how to use good weaponcombos.

Bots now at least shoot back, and should be able to give new players a bit of a challenge, and it is perfectly fine for me this way.


RE: Bot suggestions - rafallus - 02-07-2012

Not quite. Bots don't need to use combos effectively, even laserjumping isn't really that necessary. For example, coding map control so bots can effectively camp big armors/healths/powerups is hard task I imagine. But IMO All bots need to do is to be able to consistently kill a player in short timeframe, which is the whole point really.

You may take a look at Q3 Nightmare bots. They have little to no fancy tricks up their sleeves other than inhuman accuracy and reaction time, which compensate for a fact that they are still just bots.

Lack of agility shows clearly in team oriented game types, as by bunnyhopping you'll outrun most bots with huge ease, which breaks eg. CTF mode, though in DM I guess it isn't the end of the world.

Also, there was quite a bit put into SP recently. In one of the recent autobuilds, campaign got somewhat revamped, with more varied matches and selectable difficulty. If AI gets improved, I believe such SP will be quite enough on its own.

PS. maps where bots currently do well, are either very open maps with no obstacles like succer_socks/eggandbacon, or tight maps like darkzone.


RE: Bot suggestions - rocknroll237 - 02-07-2012

I suppose you have a point there tZork. I'd still like to see better bots in the future, though. Tongue


RE: Bot suggestions - tZork - 02-07-2012

Noone is arguing against better bots, id love it too - but with everything else factored in, it will "be a while" before that happens. As far as story mode go - i would say that part of that task is to improve bots. When i say Xonotic is 99% a MP game I mean the way its intended to play. If you factor in everything else around it.. its proly 75% a "development game", 15% on-line games etc.

Quote:You may take a look at Q3 Nightmare bots.
Q3 bots have a advantage tough, they have navigation data compiled at map compile stage. This mean they dont have to spend alot of cpu cycles figuring out where to go and where not to go (among things). Currently the Qc VM cant even "describe" the map well enough tough pre-compiled data to do that. This is one of those engine changes i mentioned above likely necessary for high(er) quality bots AI


RE: Bot suggestions - jaykay - 02-08-2012

tZork, what happened with your simplebot-branch? apparently it "only" simplifies the aiming code, but still Smile


RE: Bot suggestions - tZork - 02-08-2012

Iirc mand1nga where going to integrate it properly with the code, but i think real life kidnapped him =/


RE: Bot suggestions - nifrek - 02-11-2012

Anyone ever looked at the many existing old Quake bots? Maybe they could be used to get ideas from.

I can't recall the name of all of them, but I know frogbot is possibly the best and most realistic bot I've ever played. It's the best thing ever for training, you could easily be tricked into thinking they're real players, they can have some control over items (even camp or stay close to armor when it's about to spawn), they spam around corners to ambush you when they hear you, at tele exits in case you follow them, they are defensive and retreat when they don't have armor or weapons and aggressive when stacked, they rocketjump, etc. By QW standard, skill-wise they suck but for anyone new they're quite good, especially for training and learning the maps. However you can't spectate them so I assume they don't act as "clients", but more like "monsters". It's available in ezquake repo here: https://github.com/ezQuake/fbca/tree/master/src

Doubt it's code could be used, it's probably very specific to quake, but might offer some ideas on how to make bots act more human, up to a certain skill level.

There is also Frikbot, which is very realistic even when watching their pov's and act like real clients. I can't remember if they're any good as players, it's been many many years since I've played them. There is a lot of info on the author's website (click the FBX Readme link then MODS), there are instructions on how to add it to existing quake mods. Of course, that stuff like probably more than 10 years old.. but, who knows: http://www.inside3d.com/frikbot/fbxbot


RE: Bot suggestions - rocknroll237 - 02-13-2012

Nifrek, thanks for that post. If someone could port the Frogbot code into Xonotic, then the bots might be awesome! The last link is broken.
Instead of going direct to that url, just click the first link on this search page. Quake 3 also has some cool AI mods. Look at this one for instance.


RE: Bot suggestions - .Danny. - 06-28-2012

Hmm I'm a english colombian player living in colombia where the lowest ping I can get is 150 and that's for about 5 servers in the southern USA.

As a result, I practise with bots offline to improve my aim and to help compensate for the delay whilst playing online games and I have to say that what I notice is the inconsistency of quality of waypoints placed in levels. I don't recall the name of the map( has a pond, everything is futuristic blue with some grass) where the bots would constantly get stuck in certain areas like the underground pipes or just be immobile when nothing is obstructing them.

This, to me at least, makes the existence of so many bot skill levels highly arbitrary the level s dependent on level and the level-designer's skill with making botwaypoints. I'm suggesting to have modes like "godlike" and "inhuman" removed entirely and for the number of skill levels to be cut down to simply "easy", "medium" and "hard" and also that bot waypoints are revised for levels released in 0.6.

The least we can do for people playing xonotic for the first time is not alienate anyone through inanimate bots.


RE: Bot suggestions - rafallus - 06-28-2012

Waypoint placement can be improved by hand.

g_waypointeditor 1 - opens editor
impulse 103 and 104 put and remove waypoints in your position. While placing waypoints, make sure all waypoints connect as intended. May not happen, if you place them too far away or with a small obstacle in the way.
g_waypointeditor_saveall - saves
g_waypointeditor 0 - closes editor