Thank you for that generous response.
Unfortunately, I am working on Windows, so I don't have gprof. But, I found VSP
for Visual Studio. I will test it soon enough.
--
> 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?
No (not impossible) and yes. It's not without some difficulties
because that 64 client limit is hard-coded in a lot of places.
--
Under what term in code should I look for if I would like to increase it.
Furthermore, I would like to implement a blind session, where the human never
enters the arena. I want the Game to run without needing to render anything
onscreen. Somewhat of a simulation. Is that possible?
________________________________
From: Ben Noordhuis <[email protected]>
To: Primary ioquake3 Discussion/Development list <[email protected]>
Sent: Sunday, June 5, 2011 6:22 AM
Subject: Re: [ioquake3] Several Bot Questions, but mainly Why does the Game
become Choppy in a 63 bots match?
On Fri, Jun 3, 2011 at 08:09, Yasir I. Al-Dosary - zgzg2020™
<[email protected]> wrote:
> Question One: how come the frame rate drops so badly when the number of bots
> are increased?
What monk said. Most likely candidate is the (lack of) fill rate.
`gprof` will help you profile that.
> Question Two: since the frame rate drops drastically, who is consuming the
> most out of the processing power instead?
See above.
> 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?
No (not impossible) and yes. It's not without some difficulties
because that 64 client limit is hard-coded in a lot of places.
> 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!
HL2's AI is way more advanced than Q3A's.
> 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?
The *Think functions are single-shot or repeating timer callbacks.
Rockets for example have a single-shot callback that blows up the
missile 15 seconds after it's fired.
> 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?
BotAIStartFrame is the starting point but a fair amount is done inside
the engine. Search for trap_BotLib* functions in the SDK and their
counterparts in the engine.
> 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?
I think it depends on both the value of sv_fps and com_dedicated and
the counters in BotAIStartFrame (thinktime?).
_______________________________________________
ioquake3 mailing list
[email protected]
http://lists.ioquake.org/listinfo.cgi/ioquake3-ioquake.org
By sending this message I agree to love ioquake3 and libsdl.
_______________________________________________
ioquake3 mailing list
[email protected]
http://lists.ioquake.org/listinfo.cgi/ioquake3-ioquake.org
By sending this message I agree to love ioquake3 and libsdl.