1. A method of providing an interactive virtual environment, the method comprising: with a computer system, receiving registration information and establishing an account for a user; the computer system associating a virtual character with the account and transmitting character content over a communication network for moving the virtual character in the virtual environment in response to control commands input by the user; transmitting NPC content over the communication network for providing a non-player character in the virtual world, where said non player character is controlled by said computer system and not by the user in the virtual world; receiving a request over the communication network to interact the virtual character with the non-player character in the virtual world; in response to an interaction between the virtual character and the non-player character, serving task information over the communication network for presenting the user controlling the virtual character with a request from the non-player character to perform a task, and transmitting content to present the user with an invitation tool that is selectable by the user after being presented with the task to extend an invitation to an additional virtual character controlled by another user to participate in performance of the task presented to the user; receiving the invitation over the communication network inviting the additional virtual character to participate in performing the task presented to the user controlling the virtual character; in response to receiving an acceptance of said invitation to participate in the performance of the task on behalf of said additional virtual character, serving task content over the communication network to allow both the virtual character and the additional virtual character to take actions to perform the task included in the request; and establishing a value for a variable parameter of the task after receiving said acceptance of the invitation, said value being specific to a number of virtual characters controlled by different users that have accepted an invitation to participate in performance of the task and where said value is established by selecting one of multiple different values available to be selected as the variable parameter for the task presented to the user.