System and method for enabling users to interact in a virtual space
Abstract
The present invention provides a highly scalable architecture for a three-dimensional graphical, multi-user, interactive virtual world system. In a preferred embodiment a plurality of users 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 word. 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 process which provides positions 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.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A client computing device configured to enable a first user controlling a first avatar in a virtual space to perform actions in the virtual space, the virtual space comprising a plurality of avatars of a plurality of other users, each user of the plurality of other users being associated with an avatar representing said each user in the virtual space, the first user being associated with the first avatar, the client computing device comprising:
an input device; a display; data storage storing:
instructions, and
a rooms database defining constraints on movements of the first avatar in the virtual space, the rooms database comprising data defining appearances of a plurality of objects in the virtual space, the plurality of objects comprising a first object;
and
at least one processor programmed using the instructions to:
cause the first avatar to move in the virtual world in response to first avatar positioning data from the first user,
cause the head of the first avatar to rotate independent from movement of the first avatar, in response to first avatar head direction data from the first user;
monitor viewpoint of the first avatar;
determine one or more avatars of the other users to be displayed on the display based at least in part on the viewpoint; and
render on the display the first object and the one or more avatars of the other users to be displayed;
receive a selection of the first object through the input device;
cause an action to be performed in response to the selection of the first object, wherein the first object comprises a portion having an appearance conveying a message.
2 . A client computing device according to claim 1 , wherein the message is at least partially textual, the at least one processor is further programmed using the instructions to display the portion having the appearance conveying the message, and the message refers to the action.
3 . A client computing device according to claim 2 , wherein the at least one processor is further programmed using the instructions to cause the action in response to the selection being made by performing a selection action through a computer pointing device on the portion having the appearance conveying the message.
4 . A client computing device according to claim 2 , wherein the first object has at least two dimensions.
5 . A client computing device according to claim 2 , wherein the first object is three-dimensional.
6 . A client computing device according to claim 5 , wherein the data storage further stores an avatar image database comprising entries for rendering at least some avatars of the plurality of other users.
7 . A client computing device according to claim 5 , wherein the first avatar and the plurality of other avatars are multi-dimensional avatars.
8 . A client computing device according to claim 1 , wherein the action comprises displaying additional information on the display.
9 . A client computing device according to claim 1 , wherein the action comprises rendering additional information for the first user.
10 . A client computing device according to claim 1 , wherein the rooms database comprises data obtained from a central server.
11 . A client computing device according to claim 1 , wherein the at least one processor is further programmed using the instructions to determine the one or more avatars of the other users to be displayed on the display based on available computing resources of the client computing device.
12 . A method for a first user at a client computing device controlling a first avatar of a virtual space to act in the virtual space, the virtual space comprising a plurality of avatars of a plurality of other users, each user of the plurality of other users being associated with an avatar of the plurality of avatars representing said each user in the virtual space, the first user being associated with the first avatar, the virtual space further comprising the first avatar, the method comprising steps of:
storing in the client computing device a rooms database defining constraints on movements of the first avatar in the virtual space, the rooms database further comprising data defining appearances of a plurality of objects in the virtual space, the plurality of objects comprising a first object; executing instructions on the client computing device to move the first avatar in the virtual world in response to first avatar positioning data received through an input device of the client computing device; executing instructions on the client computing device to rotate head of the first avatar in the virtual world in response to first avatar head direction data received through an input device of the client computing device, wherein the head of the first avatar is rotatable independent from positional movement of the first avatar; executing instructions on the client computing device to determine one or more avatars of the other users to be displayed on a display device of the client computing device; executing instructions on the client computing device to monitor viewpoint of the first avatar; executing instructions on the client computing device to determine one or more avatars of the other users to be displayed on the display based at least in part on the viewpoint; executing instructions on the client computing device to receive through the input device a selection of the first object; and executing instructions on the client computing device causing an action to be performed in response to the selection, wherein the first object comprises a portion having appearance conveying a message.
13 . A method according to claim 12 , wherein the message refers to the action.
14 . A method according to claim 13 , wherein the first object is three-dimensional.
15 . A method according to claim 14 , the method further comprising:
storing at the client device an avatar image database comprising entries for rendering at least some avatars of the plurality of other users.
16 . A method according to claim 14 , wherein the first avatar and the plurality of other avatars are multi-dimensional avatars.
17 . A method according to claim 12 , wherein the action comprises displaying additional information on the display device.
18 . A method according to claim 12 , wherein the step of executing instructions on the client computing device to determine the one or more avatars of the other users to be displayed on the display device of the client computing device comprises executing instructions to determine the one or more avatars of the other users displayable on the display device based at least in part on networking resources of the client computing device.
19 . A method according to claim 12 , further comprising executing instructions on the client computing device to receive at the client computing device the rooms database from a central server over a computer network.
20 . An article of manufacture comprising a machine readable memory device storing computer-readable information for performing a method for a first user at a client computing device controlling a first avatar of a virtual space to act in the virtual space, the virtual space comprising a plurality of avatars of a plurality of other users, each user of the plurality of other users being associated with an avatar of the plurality of avatars representing said each user in the virtual space, the first user being associated with the first avatar, the virtual space further comprising the first avatar, the computer-readable information comprising:
a rooms database defining constraints on movements of the first avatar in the virtual space, the rooms database further comprising data defining appearances of a plurality of objects in the virtual space, the plurality of objects comprising a first object; machine-executable instructions to move the first avatar in the virtual world in response to first avatar positioning data received through an input device of the client computing device; machine-executable instructions to rotate head of the first avatar in the virtual world in response to first avatar head direction data received through an input device of the client computing device, wherein the head of the first avatar is rotatable independent from position movement of the first avatar in the virtual space; machine-executable instructions to determine one or more avatars of the other users to be displayed on a display device of the client computing device; machine-executable instructions to monitor viewpoint of the first avatar; machine-executable instructions to determine one or more avatars of the other users to be displayed on the display based at least in part on the viewpoint; machine-executable instructions to receive through the input device a selection of the first object; and machine-executable instructions causing an action to be performed in response to the selection; wherein the first object comprises a portion having appearance conveying a message.
21 . 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) disseminating in real-time 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.
22 . 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) disseminating in real-time 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.
23 . A system for displaying interactions in a virtual world among a local user avatar of a local user and a plurality of remote user avatars of remote users, comprising:
a database storing information associated with one or more avatars, each user being associated with a three dimensional avatar; a memory storing instructions; and a first processor programmed using the instructions to:
receive position information associated with less than all of the remote user avatars in one or more interaction rooms of the virtual world, wherein the processor does not receive position information associated with at least some of the remote user avatars in the virtual world, each avatar of the at least some of the remote user avatars failing to satisfy a condition,
receive orientation information associated with less than all of the remote user avatars, wherein the processor does not receive orientation information associated with at least some of the remote user avatars in the virtual world,
generate on a graphic display a rendering showing the position and orientation of at least one remote user avatar, and
switch between a rendering on the graphic display that shows the virtual world to the local user from a perspective of the local user avatar and a rendering that allows the local user to view the local user avatar in the virtual world from a perspective of a remote user avatar from the plurality of remote user avatars.
19 . A system for displaying interactions in a virtual world among a local user and a plurality of remote users, the system comprising:
a database storing information associated with one or more avatars, each user being associated with a three dimensional avatar; a memory storing instructions; and a processor programmed using the instructions to:
receive position information associated with less than all of the remote user avatars in one or more rooms of the virtual world where user interactions take place, wherein the processor does not receive position information associated with at least some of the remote user avatars in the virtual world,
receive orientation information associated with less than all of the remote user avatars in the one or more rooms of the virtual world where user interactions take place, wherein the processor does not receive orientation information associated with at least some of the remote user avatars in the virtual world,
generate on a graphic display a rendering showing the position and orientation of at least one remote user avatar, and
switch between a rendering in which a first perspective view of a local user avatar of the local user is displayed and a rendering in which a second perspective view of the local user avatar of the local user is displayed.Join the waitlist — get patent alerts
Track US2015309696A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.