What is claimed is:
1. A method for enabling a first user to interact with other users in a virtual space, wherein the first user and the other users each have an avatar and a client process associated therewith, and wherein each client process is in communication with a server process, wherein the method comprises:
- (a) receiving a position of less than all of the other users' avatars from the server process; and
- (b) determining, from the received positions, a set of the other users' avatars that are to be displayed to the first user,
- wherein steps (a) and (b) are performed by the client process associated with the first user.
2. The method of claim 1, further comprising the steps of
- (c) monitoring an orientation of the first user's avatar; and
- (d) displaying the set of the other users' avatars from based on the orientation of the first user's avatar as monitored is step (c),
- wherein steps (c) and (d) are performed by the client process associated with the first user.
3. The method of claim 1, wherein step (a) further comprises
- (a)(1) receiving an orientation of less than all of the other users' avatars from the server process.
4. The method of claim 1, wherein step (1b) comprises
- (b)(1) determining from the received positions an actual number of the other users' avatars;
- (b)(2) determining a maximum number of the other users' avatars to be displayed; and
- (b)(3) comparing the actual number to the maximum number to determine which of the other users' avatars are to be displayed wherein steps (b)(1)–(b)(3) are performed by the client process associated with the first user.
5. The method of claim 1, wherein step (b) comprises determining, from the received positions, the set of the other users' avatars that are to be displayed to the first user, wherein the number in the set is less than the number of avatars corresponding to the received positions.
6. A method for enabling a plurality of users to interact in a virtual space, wherein each user has a computer associated therewith, wherein each computer has a client process associated therewith, wherein each client process has an avatar associated therewith, and wherein each client process is in communication with a server process, comprising:
- (a) monitoring, by each client process, a position of the avatar associated with the client process;
- (b) transmitting, by each client process to the server process, the position of the avatar associated with the client process;
- (c) transmitting, by the server process to each client process, the positions of less than all of the avatars that are not associated with the client process; and
- (d) determining from the positions transmitted in step (c), by each client process, a set of the avatars that are to be displayed.
7. The method of claim 6, wherein the step (c) comprises the step of automatically transmitting, by the server process to each client process, the positions of the less than all of the avatars that are not associated with the client process.
8. The method of claim 6, wherein step (d) comprises
- (d)(1) determining an actual number of avatars that are not associated with the client process based on the positions transmitted by the server process;
- (d)(2) determining a maximum number of avatars that can be displayed; and
- (d)(3) comparing the actual number to the maximum number to determine which of the avatars are to be displayed.
9. A method for operating a server to enable a plurality of users to interact in a virtual space, wherein each user has a computer associated therewith, wherein each computer has a client process associated therewith, wherein each client process has an avatar associated therewith, wherein the server has a process associated therewith, and wherein each client process is in communication with the server process, comprising:
- (a) receiving, from each client process by the server process, data indicating a position of the avatar associated with the client process; and
- (b) synchronously disseminating less than all of the positions of the avatars not associated with a particular client process to each of the other client processes so that the particular client process can determine from the positions a set of avatars that are to be displayed.
10. A system for enabling a first user to interact with other users in a virtual space, wherein the first user and the other users each have an avatar associated therewith, and wherein the system comprises a first process associated with the first user, other client processes associated with the other users, and a server process in communication with the first client process and the other client processes, wherein
- (a) each of the other client processes is operable to
- 1. monitor a position of the avatar associated with the other user;
- 2. transmit the position of the avatar to the server process;
- (b) the server process is operable to
- 1. receive the positions of the avatars associated with the other users;
- 2. transmit the positions of the avatars associated with less than all of the other users to the first client process; and
- (c) the first client process is operable to
- 1. receive the positions of the avatars associated with less than all of the other users; and
- 2. determine from the received positions a set of the other users' avatars that are to be displayed.
11. A software program recorded on a machine-readable medium for enabling a first user interact with other users in a virtual space, wherein the first user and the other users each have an avatar a client process associated therewith, and wherein each client process is in communication with a server process,
- wherein the software program comprises instructions for causing the client process associated with the first user to perform the following steps:
- (a) receiving a position of at less than all of the other users' avatar from the server process; and
- (b) determining, from the received positions, a set of the other users' avatars that are to be displayed to the first user.
12. The software program of claim 11, wherein the software program further comprises instructions for causing the client process associated with the first user to perform the following steps:
- (c) monitoring an orientation of the first user's avatar; and
- (d) displaying the set of the other users' avatars from based on the orientation of the first user's avatar as monitored is step (c).
13. The software program of claim 11, wherein step (b) comprises instructions for
- (b)(1) determining from the received positions an actual number of the other users' avatars;
- (b)(2) determining a maximum number of the other users' avatars to be displayed; and
- (b)(3) comparing the actual number to the maximum number to determine which of the other users' avatars are to be displayed.
14. The software program of claim 11, wherein the instruction for step (b) comprises determining, from the received positions, the set of the other users' avatars that are to be displayed to the first user, wherein the number in the set is less than the number of avatars corresponding to the received positions.
15. A software program recorded on a machine-readable medium for enabling a plurality of users to interact in a virtual space, wherein each user has a computer associated therewith, wherein each computer has a client process associated therewith, wherein each client process has an avatar associated therewith, and wherein each client process is in communication with a server process, wherein the software program includes instructions for:
- (a) monitoring, by each client process, a position of the avatar associated with the client process;
- (b) transmitting, by each client process to the server process, the position of the avatar associated with the client process;
- (d) transmitting, by the server process to each client process, the positions of less than all of the avatars that are not associated with the client process; and
- (d) determining from the positions transmitted in step (c), by each client process, a set of the avatars that are to be displayed.
16. The software program of claim 15, wherein step (d) comprises
- (d)(1) determining an actual number of avatars that are not associated with the client process based on the positions transmitted by the server process;
- (d)(2) determining a maximum number of avatars that can be displayed; and
- (d)(3) comparing the actual number to the maximum number to determine which of the avatars are to be displayed.
17. A computer readable medium including the software program of claim 15.
18. A software program recorded on a machine-readable medium for operating a server to enable a plurality of users to interact in a virtual space, wherein each user has a computer associated therewith, wherein each computer has a client process associated therewith, wherein each client process has an avatar associated therewith, wherein the server has a process associated therewith, and wherein each client process is in communication with the server process, wherein the software program comprises instructions for:
- (a) receiving from each client process by the server process, data indicating a position of the avatar associated with the client process; and
- (b) synchronously disseminating the positions of less than all of the avatars not associated with a particular client process to each of the other client processes so that the particular client process can determine from the positions a set of avatars that are to be displayed.
19. A computer readable medium including the software program of claim 11.
20. A computer readable medium including the software program of claim 18.