OrionBots - 1st release
Yes, the entire bot code in in bot.qc, but have a rankings.qc for displaying on scoreboard, and see StartFrame() at world.qc, it will update the bot's "model" position, because the bot isn't a client entity, see create_bot()/start_bot() at bot.qc, have a float that gets a client entity for the bot.decoy, that is the "model", because the bot has a null model "progs/null.mdl", if I set the bot's model to string_null, the bots won't glow, won't muzzleflash, won't have any light effects, this is why I created a very small pyramid to represent the null.mdl, and if I set the bot's model to null.spr, will have a lot of messages ingame something like this: SV_DrawSprite: no such frame #. At some client.qc/player.qc/weapons.qc/etc functions, have some tweaks because of the bot's model, his aim, etc. But the entire AI is all in bot.qc.
Urre: Did you get the second release?
http://shub-hub.quaddicted.com/files/mo ... ots_v2.zip
http://shub-hub.quaddicted.com/files/mo ... ots_v2.zip
I blame A.I. Qaeda.Urre wrote:Hm, I've always thought I follow the community, but I've never heard of the shub hub. I've just tried using Quake Archives on QuakeDev, but it's been suffering from bad management.
Last edited by FrikaC on Thu Apr 05, 2007 3:37 am, edited 1 time in total.
Checked out the second release, quite cool stuff. Their strafing was cool and smooth, cool combat movement, okay navigation. I must agree on other people's complaints though, that they seem to move and react too fast. The fact that they don't accelerate or decelerate at all gives them a serious advantage over real players, and their reaction times are insane. Not only do they seem to see with eyes in their neck, they shoot instantly. They also for some reason seemed to act more intelligently when in combat, than when navigating just by themselves. I looked at one of the bots after I died, and it was pretty much running around in circles in the RL area on dm6. Still way better than my bots, so I give it an official Urre thumbs up. Keep at it mate!
I was once a Quake modder
Well, here's an improvement for third release, accelerating/decelerating speed, here's a moving forward example:
Code: Select all
howfar = 320*frametime;
movetogoal (howfar);
if (self.flags & FL_ONGROUND)
{
makevectors (self.angles);
self.flags = self.flags - FL_ONGROUND;
self.velocity = self.velocity + v_forward * 10; // this will add velocity
if (vlen(self.velocity) > 320) // this will limit it
self.velocity = v_forward * 320; // this too
}