Information Technology Reference
In-Depth Information
Implementing Virtual Clients in Quake III Arena
Stig Magnus Halvorsen 1 , 2 , 3 and Kjetil Raaen 1 , 2 , 3
1 The Norwegian School of IT (NITH), Oslo, Norway
{halsti,raakje}@westerdals.no
2 Simula Research Laboratory, Bærum, Norway
3 University of Oslo, Oslo, Norway
Abstract. Performing server and network experiments on video games
can be cumbersome because it usually requires a large number of players
to generate sucient server and network load. A solution is automated
artificial intelligence-controlled virtual clients that behave as real players.
This paper describes an implementation of virtual clients in the open
source video game Quake III Arena , which converts the game into an
open source tool for generating server load with realistic network trac
for investigating game system scalability.
Keywords: Virtual Client, Quake III Arena, Quake 3, Load Generation.
1
Introduction
Network and server load can be generated through the use of live sessions with
real people as test candidates, as it was done in [2]. Alternatively, automated ar-
tificial intelligence (AI)-controlled virtual clients, or simply “virtual clients”, can
be used as demonstrated in [3]. The latter is beneficial as it allows experiments
to be done by a single scientist requiring little time and hardware. We want to
follow the second approach in our research and in [1], we proposed several open
source games as potential tools for scientific work. None are ideal for server and
network experiments because no tools are provided for server load and network
trac generation. This paper documents the addition of virtual clients to Quake
III Arena (Q3A) to solve this lack of tools. Q3A is an open source game already
discussed in [1]. The modified game can be used as a load-generating tool that
scientists may use or alter to test and evaluate their concepts.
2
Implementing Virtual Clients
We were inspired by Q3A's implementation of the single player game mode.
The design solves a similar problem to ours because it requires some server-side
logic within the client to function properly. Single-player mode is started by
first launching a local and “hidden” server with a specified map, followed by
launching the client logic that connects to the local server.
Our solution is designed to launch from a console, using the engine's built-in
console variable (cvar) system. A virtual client can hence be enabled by setting
the proper cvars through program arguments, followed by connecting to a server.
Search WWH ::




Custom Search