Brand new OrionBots!

Discuss Artificial Intelligence and Bot programming.
Post Reply
Orion
Posts: 476
Joined: Fri Jan 12, 2007 6:32 pm
Location: Brazil

Brand new OrionBots!

Post by Orion »

Hi.

I'm here to announce my fourth release of OrionBots, with improved AI and movement. They now have some sort of client physics emulation, see bot.qc and search for BotAirMove, BotAccelerate, BotFriction, and BotWaterMove.

The file has the source code included and I've added RA support!

Download and enjoy!
http://shub-hub.dreamhosters.com/files/ ... ts4rel.zip
Last edited by Orion on Wed Jul 04, 2007 4:18 pm, edited 1 time in total.
Teiman
Posts: 311
Joined: Sun Jun 03, 2007 9:39 am

Re: Brand new OrionBots!

Post by Teiman »

Congrats!!! :D
Orion
Posts: 476
Joined: Fri Jan 12, 2007 6:32 pm
Location: Brazil

Post by Orion »

Thanks! :)

And wasn't too tricky to emulate client physics...
I've just put the physics functions at BotThink() (bot.qc).
The swimming AI was improved, but the bots act more intelligently when combatting out of water instead of in water, because in water when in combat, they only strafe to the right.
Electro
Posts: 312
Joined: Wed Dec 29, 2004 11:25 pm
Location: Brisbane, Australia
Contact:

Post by Electro »

hehe why only strafe right in water?!

and... do they support waypoints or what? lots of lava deaths and being lots on dm4 :(


is there a way to just spectate the bots too?
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 »

They only strafe right in water because if I use random() to alternate the sides, they'll change the side very fast, because they think every frame.

No. They don't support waypoints, better play in maps without lava or maps with no easy access to lava.

You can spectate'em by typing impulse 14 at the console. But if you type impulse 14 and want to play again, you should restart the server.
Electro
Posts: 312
Joined: Wed Dec 29, 2004 11:25 pm
Location: Brisbane, Australia
Contact:

Post by Electro »

You can still use random and have a random delay as to how often they change strafe direction or something like that if you like.

Make a variable like...

Code: Select all

.float strafe_time;

if (self.strafe_time < time)
{
    self.strafedirection = rint(random()*2); // or whatever you're doing here
    self.strafe_time = time + random()*5; // obviously play with this
}
Then you can control how often he changes strafe direction and what direction independantly pretty easily.


Will give spectating a try :)
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/
Post Reply