Virtual environments provide a rich and varied domain for intelligent agents, but questions of design and development in this
context are still to be answered. An agent with multiple requirements and limited or constrained resources must be able to
make decisions as to how to divide those resources in order to satisfy its requirements. It may not be possible to satisfy
all of them at once, so some may have to be sacrificed for the sake of those that are more important; in other cases a compromise
may be possible in which all requirements are partially satisfied. This paper examines the kinds of requirements we may expect
to have of an agent in virtual environments, and describes how we can measure an agent’s preformance in this light. Such an
analysis can be used as a conceptual design tool and as the basis of an agent specification. An agent architecture based on
the BDI model is proposed in which design and implementation is decomposed in terms of requirements, and which allows the
intuitive development of sophisticated agents with multiple requirements in a dynamic virtual environment.