Kate
Bots 2 Beta Released!
Moderator: Moderators
not to sound funny but use better tactics for example playing axis run with no weapon straight to the 1st house doorway oposite the lane the allies run down crouch down and with an smg/mg you can pick every bot off as they run along the road without a return shot being fired. you will probably run out of ammo before they kill you. Of course it is a much harder prospect for allies take it slow and make good use of your nades sacrifice some of your bots to get an easy kill and work your way through to the flak. If your axis Don't get onto the church roof the allies will pick you off before you know it
Kate
Kate
Did you miss me? ..... Well get a better sight on your gun hehehe
I think you can change their tactics by changing the paths that the bots follow, put sniper/camp nodes and whatever is available. We'll be able to do this when jv puts out the final release and hopefully some tutorials on how to do so. There are tutorials on how to do this for the previous version of the bots if your interested.
Check out this thread too
viewtopic.php?t=7957
the above script will make the job much easier once it's released.
So Jv, is there a chance you can add a wait command somewhere so that the bots don't shoot instantly?
Many times they shoot me before i even fire a single bullet.
And they seem to have a problem shooting at me when I'm on a higher ground (like the upper floor of a house). Do I have to lower the
local.pitch += (randomfloat 2.0 - 1) * self.inaccuracyfact
in the aimat thread or is it sth else?
good luck with your exams people
Check out this thread too
viewtopic.php?t=7957
the above script will make the job much easier once it's released.
So Jv, is there a chance you can add a wait command somewhere so that the bots don't shoot instantly?
Many times they shoot me before i even fire a single bullet.
And they seem to have a problem shooting at me when I'm on a higher ground (like the upper floor of a house). Do I have to lower the
local.pitch += (randomfloat 2.0 - 1) * self.inaccuracyfact
in the aimat thread or is it sth else?
good luck with your exams people
Yes that is a good idea
The problem with shooting upwards for the bots is that they shoot straight ahead, so to make em shoot up I need to tilt them backwards a bit. For great pitch values that looks stupid, so I capped it.
Regular AI and players can bend their torso to shoot up and down, but I have been unable so far to make the bots do that
The problem with shooting upwards for the bots is that they shoot straight ahead, so to make em shoot up I need to tilt them backwards a bit. For great pitch values that looks stupid, so I capped it.
Regular AI and players can bend their torso to shoot up and down, but I have been unable so far to make the bots do that
I was trying to figure out where to put the wait command...
So i checked in the popup.scr
the "attack" and "pop_attack" threads. I assumed that the
self.attack_primary = 1
gave the OK to start shooting, so i inserted a wait 5.0 just before it. Didn't work, the bots started shooting at me instantly.
Then i tried messing with the aimat thread from ai.scr.
Inserted a "wait 0.008" where the thread begins. Now they wait a bit before they shoot me but they're terribly inaccurate at long range.
I assume they find it difficult to "lock on a target" although this is not exactly what i expected. Since they
1) wait for a small interval
2) proceed with their shot
why do they miss so terribly? I'd expect this to happen if i had put the wait command at the end of the thread, so that the bots would be shooting at a point that you no longer are.
I have trouble figuring out the chain of events... from "find an enemy" to actually killing him. I can't figure which are the threads that are called once and which are constantly looping till the enemy is finally dead...
So i checked in the popup.scr
the "attack" and "pop_attack" threads. I assumed that the
self.attack_primary = 1
gave the OK to start shooting, so i inserted a wait 5.0 just before it. Didn't work, the bots started shooting at me instantly.
Then i tried messing with the aimat thread from ai.scr.
Inserted a "wait 0.008" where the thread begins. Now they wait a bit before they shoot me but they're terribly inaccurate at long range.
I assume they find it difficult to "lock on a target" although this is not exactly what i expected. Since they
1) wait for a small interval
2) proceed with their shot
why do they miss so terribly? I'd expect this to happen if i had put the wait command at the end of the thread, so that the bots would be shooting at a point that you no longer are.
I have trouble figuring out the chain of events... from "find an enemy" to actually killing him. I can't figure which are the threads that are called once and which are constantly looping till the enemy is finally dead...
Ok I'll try to explain then
but I'm in a bit of a hurry 
Basically the global/bots2/ai.scr forms the 'core' of the bots... it performs an enemy search every frame and makes that data available for all other threads via the self.botenemy, self.botenemy_isvisible and self.botenemy_sqdist (square distance) variables.
Apart from that the bots use a state machine, which is activated by calling the states/rally.scr script. This simply makes the bot run to its 'rallying point', in case of an allied bot this is the bomb and for axis it is near the camper house at the allied part of the map.
It is this rally script that actually calls the attack threads when an enemy is found via the local.newstate variable. The state transitions themselves are governed by aism/default.aism.
Well I hope that explains it somehow... I wouldn't know a reason off the top of my head why bot accuracy would be so off...
Basically the global/bots2/ai.scr forms the 'core' of the bots... it performs an enemy search every frame and makes that data available for all other threads via the self.botenemy, self.botenemy_isvisible and self.botenemy_sqdist (square distance) variables.
Apart from that the bots use a state machine, which is activated by calling the states/rally.scr script. This simply makes the bot run to its 'rallying point', in case of an allied bot this is the bomb and for axis it is near the camper house at the allied part of the map.
It is this rally script that actually calls the attack threads when an enemy is found via the local.newstate variable. The state transitions themselves are governed by aism/default.aism.
Well I hope that explains it somehow... I wouldn't know a reason off the top of my head why bot accuracy would be so off...
Now that you've explained how aiming works, I came to understand that it was a bad idea to mess with the aimat thread in the first place.
Because when I put that 0.20 secs waiting in the aimat thread, the bots aim at my position 0.20 secs after i leave it. It's like they're playing with 200 ping. That's why they can't shoot me down when i'm moving.
How about the "cansee self.botenemy" thread? Maybe if the bots actually "see" you some milliseconds later than you see them?
Because when I put that 0.20 secs waiting in the aimat thread, the bots aim at my position 0.20 secs after i leave it. It's like they're playing with 200 ping. That's why they can't shoot me down when i'm moving.
How about the "cansee self.botenemy" thread? Maybe if the bots actually "see" you some milliseconds later than you see them?
