Hi,
To simplify my email here, I will write the background of what I've been trying 
to do, and what my goal(s) are.
Because the frame rate becomes quite choppy at 63 bots, I've been trying to see 
how much does AI consume from the overall processing power.

At first, I thought that the AI main entry point function was BotAIStartFrame() 
found in vmMain(). So, I measured how much time is spent at the 
BotAIStartFrame() function by simply placing a time stamp right before that 
function and one right after it and taking the difference, under the following 
condition:
63 Bots, map q3dm1, measurement time frame 5 seconds. I start measurement when 
sv.state == SS_GAME (Game has started)
I am using QueryPerformanceCounter() for time measurement.

After measuring, it turned out that BotAIStartFrame() only needs 0.156 seconds!
However, what I was wondering is that if the AI only needs less than %5 of the 
overall processing time.
Question One: how come the frame rate drops so badly when the number of bots 
are increased?
Question Two: since the frame rate drops drastically, who is consuming the most 
out of the processing power instead?
Question(s) Three: I keep reading everywhere that the Engine is limited to 64 
clients. Is it impossible to increase that number? If not, has anyone ever 
tried increasing it before?

I have done a similar test with Half-Life2's SourceSDK, and found that the AI 
uses %67 from the overall processing power in a 100+ bot scenario!

So, I continued my search through out the code thinking that I might have 
picked the wrong location to measure in. As I was doing that, I found a 
function that I wasn't sure what it did, ClientThink()(ClientThink_real()). In 
Half-Life2-SourceSDK, "Think" means AI.
I felt that I had to read The Quake III Arena Bot by Mr. van Waveren 
thoroughly, so I can understand how things work better. It answered many 
questions I had. But still, I couldn't find any reference to the term 
"Think", hence, nor where does "Think" fall within the layers of the Bot's 
AI.
Question Four: What does "Think" mean in Quake?

I have one more issue that I still can't fully understand. Based on the 
Documentation, AAS is the Bot's input. And, Basic Actions are the Bot's output. 
And, Basic Actions are something close to a State Machine.
Question Five(s): When do the Bot's "Actions" get executed- or where? I am 
guessing that they aren't done inside BotAIStartFrame(), no?

In Mr. van Waveren Bot Documentation there is a reference to the Bot's AI runs 
at a 10Hz. 
I wanted to increase that frequency. But, I couldn't find it.
* Does anyone know where is that frequency allocated?

Thank you for reading through this long email, and, I appreciate any help 
offered! I welcome even keywords! ;)
Best regards,
Yasir
_______________________________________________
ioquake3 mailing list
ioquake3@lists.ioquake.org
http://lists.ioquake.org/listinfo.cgi/ioquake3-ioquake.org
By sending this message I agree to love ioquake3 and libsdl.

Reply via email to