Scalable virtual world chat client-server system
First Claim
1. In a system for interaction between a plurality of users in a three-dimensional, computer-generated graphical space where the system includes at least one server coupling a plurality of clients where each client addresses a client display, a method of representing interactions among the plurality of clients on a display of a target client comprising the steps of:
- identifying a position of a local avatar of a user of the target client, the position being a position relative to the graphical space;
determining a maximum displayable avatar count for the target client;
determining a total avatar count for the server, wherein the total avatar count indicates the number of clients connected to the server;
when the total avatar count is greater than the maximum displayable avatar count for the target client, limiting the number of avatars processed by the target client to the maximum displayable avatar count, wherein the step of limiting is performed at the target client; and
displaying, on the client display, the avatars processed by the target client.
6 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a highly scalable architecture for a three-dimensional graphical, multi-user, interactive virtual world system. A plurality of users can interact in the three-dimensional, computer-generated graphical space where each user executes a client process to view a virtual world from the perspective of that user. The virtual world shows avatars representing the other users who are neighbors of the user viewing the virtual world. In order that the view can be updated to reflect the motion of the remote user'"'"'s avatars, motion information is transmitted to a central server which provides position updates to client processes for neighbors of the user at that client process. The client process also uses an environment database to determine which background objects to render as well as to limit the movement of the user'"'"'s avatar.
732 Citations
5 Claims
-
1. In a system for interaction between a plurality of users in a three-dimensional, computer-generated graphical space where the system includes at least one server coupling a plurality of clients where each client addresses a client display, a method of representing interactions among the plurality of clients on a display of a target client comprising the steps of:
-
identifying a position of a local avatar of a user of the target client, the position being a position relative to the graphical space;
determining a maximum displayable avatar count for the target client;
determining a total avatar count for the server, wherein the total avatar count indicates the number of clients connected to the server;
when the total avatar count is greater than the maximum displayable avatar count for the target client, limiting the number of avatars processed by the target client to the maximum displayable avatar count, wherein the step of limiting is performed at the target client; and
displaying, on the client display, the avatars processed by the target client. - View Dependent Claims (2, 3, 4)
identifying excluded avatars, wherein an excluded avatar is an avatar to be excluded from interaction with the local avatar regardless of the relative positions of the excluded avatar and the local avatar; and
determining which avatars other than the excluded avatars are closest in the graphical space to the local avatar.
-
-
5. An apparatus for interaction between a plurality of users in a three-dimensional, computer-generated graphical space, comprising:
-
(a) a plurality of client processes, wherein each client process is executed on a digital computer distinct from the digital computers executing others of the plurality of client processes;
(b) a central server comprising at least one process and executed by at least one digital computer, wherein the central server comprises;
(1) a plurality of user objects, wherein a user object is instantiated for each user in the plurality of users;
(2) a plurality of room objects, wherein a room object is instantiated for each occupied room in the virtual environment; and
(3) a plurality of world objects, wherein each world object includes a list of users, a list of rooms and communication connections with the plurality of user objects and the plurality of room objects;
(c) a network coupling the central server to the digital computers which execute the plurality of client processes, thereby coupling the plurality of client processes to the central server;
(d) means for communicating room, position and orientation information relating to a particular user in the graphical space from the particular user'"'"'s client process to the central server;
(e) means for synchronously disseminating from the server to each of the client processes a packet of information updating a list of avatars displayable for that particular client;
(f) means for determining from said list of avatars a set of avatars to be displayed at each client process, wherein said means for determining is located at each client process;
(g) means for routing client communications to a particular server process according to which room the client is currently in; and
(h) means, on the digital computer executing the particular user'"'"'s client process, for rendering a three-dimensional view from a viewpoint of the location of the particular user.
-
Specification