Is the fps drop when all bots are onscreen or when you're in a corner of a map not looking at them? At even 1000 tris per bot, that's quite a bit of geometry when the Q3 renderer starts choking, fps-wise, at like 45k tris.
> 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. _______________________________________________ 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.