User panel stuff on forum
  5 posts on 1 page  1
General Discussion
2017-11-16, 12:51
Member
28 posts

Registered:
Apr 2017
So I've been pondering over creating a bot for Quakeworld, one that behaves more human than the bots that are currently out there. Initially I thought I'd just use the frogbot as a framework but then I got to wondering - why not just use a regular QW client as a framework so then the bot can connect to any QW server. I could then release the source so then the community could create their own bots. Now the question is - would all this be welcome?.

Are you okay with the idea of QW servers being occupied by players that are actually AI bots?. My version of the bot would be open about being a bot and would happily leave a server if asked. But I obviously have no control over the bots made by other people using my source code. Yet I do love the idea of other people creating their own bots with their own tactics and then watching how they perform against bots made by other coders.

Using a QW client to make a bot is gonna take more effort and so I figured I'd ask you guys if the idea of the bot sounds appealing. Because if you don't like the idea then I can save myself the effort.
2017-11-16, 21:36
Administrator
171 posts

Registered:
Sep 2015
Okay, honest answer: That's a really interesting idea, and having some kind of bot competition (where two competing bots play games against each other on a server, something like https://sscaitournament.com/) would be great, but I don't think it's a good direction to go in for bots vs players.

You're right that your bot could connect to any server, but where from? At that point your logic is going to have to take lag into account as well, with all the prediction errors that entails. Most current Quake bots are server-side mods and have full knowledge of the gamestate, having the logic deal with grey-areas about where the opponent is, where grenades are bouncing or when items respawn will make it much more complicated.

Not that it's not an interesting project (potentially far more so than modifying frogbots or frikbot) but I think it would be a massive effort and possibly result in something not as satisfying for a human to play against. So definitely go for it if you're doing it for your own curiosity and a challenge you'd enjoy, but probably not if it's to provide opponents on public servers. Though I'd love to be proved wrong
2017-11-17, 12:15
Member
28 posts

Registered:
Apr 2017
meag wrote:

You're right that your bot could connect to any server, but where from?


From that old laptop that's under everybody's bed!

meag wrote:

At that point your logic is going to have to take lag into account as well, with all the prediction errors that entails.


target=enemyPosition+(enemyVelocity*latency)


meag wrote:

Most current Quake bots are server-side mods and have full knowledge of the gamestate, having the logic deal with grey-areas about where the opponent is, where grenades are bouncing or when items respawn will make it much more complicated.


Yeah and that's the thing that's driving me to want to create my own bot. Most bots will cheat and take shortcuts to figuring out what do do next. They always know where their opponent is, where their opponent is looking and what their opponent's health status is. This kills the fun for me because I sometimes like to use Ninja tactics and try to ambush my opponent. Like humans a bot should have to guess their opponent's status and position from sound events etc. This is what allows us to misdirect our opponent. And that's where the fun is!.
2017-11-17, 14:29
Administrator
171 posts

Registered:
Sep 2015
lemonjuiced wrote:
target=enemyPosition+(enemyVelocity*latency)


Bit more to it than that, but I admire your optimism.

lemonjuiced wrote:
Yeah and that's the thing that's driving me to want to create my own bot. Most bots will cheat and take shortcuts to figuring out what do do next. They always know where their opponent is, where their opponent is looking and what their opponent's health status is.


There's nothing about server-side bots that stops you from excluding that data from your decision-making.

I don't want to be down on the project or put you off (certainly if we had a framework for bot vs bot simulations, that might attract people to programming Quake for first time and be a very good thing) but if you're looking to write a bot that people will find a challenge and fun to play, then I think you're going at it a very difficult way.
2017-11-17, 15:06
Member
28 posts

Registered:
Apr 2017
meag wrote:

I don't want to be down on the project or put you off (certainly if we had a framework for bot vs bot simulations, that might attract people to programming Quake for first time and be a very good thing) but if you're looking to write a bot that people will find a challenge and fun to play, then I think you're going at it a very difficult way.


Oh yeah it's definitely gonna be much more difficult . It's why I started this post because I wanted to see if it's even something that the community wants . I don't want to bust my balls creating a client side bot then have people complaining that the bots are clogging up the public servers.
  5 posts on 1 page  1