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 ...