U.S. patent application number 12/122337 was filed with the patent office on 2009-11-19 for system and method of deterministic teleportation within a virtual world.
This patent application is currently assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION. Invention is credited to Jason A. Cox, Lydia M. Do, Pamela A. Nesbitt, James W. Seaman.
Application Number | 20090286598 12/122337 |
Document ID | / |
Family ID | 41316674 |
Filed Date | 2009-11-19 |
United States Patent
Application |
20090286598 |
Kind Code |
A1 |
Do; Lydia M. ; et
al. |
November 19, 2009 |
System And Method Of Deterministic Teleportation Within A Virtual
World
Abstract
A method for deterministic teleportation within a virtual world,
comprising creating and storing an association between a set of
user conditions and a set of teleporter exit destinations. When a
user engages the teleporter entrance, a user condition set is
retrieved from the incoming user. The set of retrieved incoming
user conditions is stored and compared to the association. A
correct teleporter exit destination is selected from the set of
teleporter exit destinations corresponding to a data match between
the set of retrieved incoming user conditions and the set of user
conditions associated with the exit destination.
Inventors: |
Do; Lydia M.; (Raleigh,
NC) ; Cox; Jason A.; (Raleigh, NC) ; Nesbitt;
Pamela A.; (Tampa, FL) ; Seaman; James W.;
(Falls Church, VA) |
Correspondence
Address: |
Weitzman Law Offices LLC
425 Eagle Rock Avenue, Suite 102
Roseland
NJ
07068
US
|
Assignee: |
INTERNATIONAL BUSINESS MACHINES
CORPORATION
Armonk
NY
|
Family ID: |
41316674 |
Appl. No.: |
12/122337 |
Filed: |
May 16, 2008 |
Current U.S.
Class: |
463/31 |
Current CPC
Class: |
A63F 2300/5533 20130101;
A63F 13/57 20140902; A63F 13/12 20130101; A63F 2300/64 20130101;
A63F 2300/807 20130101 |
Class at
Publication: |
463/31 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A computer implemented method for enabling deterministic
teleportation within a virtual world, comprising: creating an
association between a set of user conditions and a set of
teleporter exit destinations; storing the association; retrieving a
set of incoming user conditions when the incoming user's virtual
avatar engages a teleporter entrance; storing the set of retrieved
incoming user conditions; comparing the set of retrieved incoming
user conditions to the association; and selecting a correct
teleporter exit destination from the set of teleporter exit
destinations corresponding to a data match between the set of
retrieved incoming user conditions and the set of user conditions
in the association.
Description
BACKGROUND
[0001] 1. Field of the Invention
[0002] This disclosure relates to virtual worlds, and more
particularly, to virtual teleporters, especially those used for
computer and video gaming, online communities, and interactive
computing.
[0003] 2. Description of Related Art
[0004] Teleporters serve as virtual transportation inside virtual
worlds. Virtual world developers and users of the virtual world may
use teleporters to link two areas that are not physically connected
in virtual space. Teleporters also have secondary functions in
virtual worlds. Their uses include, but are not limited to, serving
as plot devices, blocking and redirecting user traffic, helping
with virtual world security, increasing the interactiveness of the
virtual world, creating strategic advantages for users, and
engaging a user in a different or unexpected way. Teleporters have
been implemented in several different ways.
[0005] "Static destination" teleporters allow user transportation
to a single preprogrammed destination. The computer game
"Starcraft" includes two examples of this type of teleporter. Users
may build a "nydus canal," which enables instantaneous
teleportation between an entrance and exit of the nydus canal. An
"arbiter" unit allows users to teleport troops from any in-world
location to the arbiter's physical location.
[0006] "User's choice" teleporters implement a user selection
mechanism enabling or requiring users to select one of several
preprogrammed exit destinations before teleporting. In Super Mario
Bros., for example, a user in a "warp zone," is presented with a
choice of destinations. The user selects the destination by
"ducking" into the desired pipe, which then teleports him to the
selected destination.
[0007] "Random destination" teleporters consist of a single
entrance point with multiple destinations. The actual destination
is selected by a process invisible to the user. The "Counterstrike
Source" fan community has developed the methodology implementing a
teleporter capable of sending a user to a random destination
selected from a predefined list of possible destinations.
[0008] Many other teleporter variations exist. For instance, the
game "Portal" utilizes a "portal gun" that enables a user wielding
the gun to create a teleporter with an entrance and exit portal
anywhere in the game world within the user's line of sight. The
user exploits this system to solve puzzles and defeat enemies. The
game "Prey" utilizes teleporters to create physically impossible
environments. For instance, the interior space of a small room may
comprise a vast underground cavern.
[0009] Another feature common to virtual environments is the "user
condition." A user condition is any real or virtual information
that attaches to the user or the user's virtual avatar. Conditions
take many forms including, but not limited to, user association
with virtual objects, virtual access levels, virtual locations,
virtual associations, social networks, user authentication, real
world user account information, flags or notifiers attached to the
user account or avatar, or virtual keys related to user history or
preference. There are conceptually an infinite number of user
condition types. User conditions are useful in that they enable the
virtual world to respond to user action, behavior, or preference.
They function by triggering events, methods, routines or any other
virtual world function when the presence or absence of the desired
user condition is detected.
[0010] In all previous implementations of virtual world
teleporters, the teleporter has but a single exit destination, the
destination is actively selected by the user, or the end
destination is randomly selected. A deterministic teleporter, or a
teleporter that can meaningfully select specific destinations
absent user control, has not yet been implemented.
[0011] It is desirable to implement a deterministic teleporter that
can send a user's virtual avatar to a variety of destinations based
on any combination of user conditions. This would allow developers
and users greater creative freedom in virtual world design and
interactability.
BRIEF SUMMARY
[0012] In one aspect of this disclosure, a computer-implement
method is provided for deterministic teleportation within a virtual
world. The method comprises creating and storing an association
between a set of user conditions and a set of teleporter exit
destinations. When a user engages the teleporter entrance, a user
condition set is retrieved from the incoming user. The set of
retrieved incoming user conditions is stored and is compared to the
association. A correct teleporter exit destination is selected from
the set of teleporter exit destinations corresponding to a data
match between the set of retrieved incoming user conditions and the
set of user conditions associated with the exit destination.
[0013] The foregoing has outlined rather generally the features and
technical advantages of one or more embodiments of this disclosure
in order that the following detailed description may be better
understood. Additional features and advantages of this disclosure
will be described hereinafter, which may form the subject of the
claims of this application.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] This disclosure is further described in the detailed
description that follows, with reference to the drawings, in
which:
[0015] FIG. 1 is an exemplary high level diagram of multiple
computer systems running both the client-side software and the host
virtual world software; and
[0016] FIG. 2 is a flow chart illustrating a preferred sequence of
steps to implement deterministic teleporters within a virtual
environment.
DETAILED DESCRIPTION
[0017] This disclosure is directed to a preferred method of
implementing deterministic teleporters within a virtual
environment. The preferred method may be implemented as a series of
instructions executing on a computer. Such computers executing
programs are well known in the art and may be implemented, for
example, using a well-known computer processor, memory units,
storage devices, computer software, and other components. For
example, the deterministic teleporter method may be a Windows
application or part of a Windows application executing on a desktop
or laptop computer.
[0018] A high-level block diagram of four exemplary computers,
labeled 101, 111, 121, and 141, is shown in FIG. 1. Computer 101
contains a processor 107 that controls the overall operation of
computer 101 by executing computer program instructions defining
such operation. The computer program instructions may be stored in
a storage device 108 (e.g., magnetic disk) or any other
computer-readable medium, and loaded into memory 109 when execution
of the computer program instructions is desired. Thus, in one
embodiment, the deterministic teleporter comprises computer program
instructions stored in memory 109 and/or storage device 108, and
executed by processor 107. Computer 101 also includes one or more
network interfaces 105 for communicating with other devices via a
network. Computer 101 may also include input/output devices 106,
which represent devices allowing for user interaction with computer
101 (e.g., display, keyboard, mouse, speakers, buttons, etc.).
Computers 111, 121 and 141 function in the substantially same way
as computer 101. One skilled in the art will recognize that an
implementation of an actual computer may contain additional
components and that FIG. 1 contains a high level representation of
some of the components of such a computer for illustrative
purposes.
[0019] In accordance with this disclosure, the preferred method
enables implementation of deterministic teleportation in virtual
worlds by utilizing user conditions. A user condition is any
indicia of information that has attached to the user or the user's
virtual avatar and is retrievable. The implementation that allows
users to edit virtual world deterministic teleporters may be part
of the client-side software for the virtual world. For instance,
User A runs virtual world client software 150 on computer 141 and
owns virtual space in the virtual world created by the virtual
world host software 110, which is hosted on server computer 101.
User A desires automatic transportation of users engaging his
teleporter to four different destinations depending on whether they
possess none, one of, or both of two specific virtual objects. User
A therefore decides to implement a deterministic teleporter.
[0020] FIG. 2 illustrates a preferred sequence of steps for
implementing a deterministic teleporter in a virtual world. In step
201, the teleporter manager (e.g., programmer, user, etc.) selects
the user condition set for the teleporter. The ability to enter the
user condition data would preferably be included in client software
150 through an intuitive graphic user interface that allows the
user to select a logical function (e.g., possession) and associate
it with an item (e.g., a "Nice People Rock" virtual shirt). The
user condition data set could be temporarily stored in random
access memory 149.
[0021] User A selects the possession of a "Nice People Rock"
virtual shirt and a "Foods Network" virtual cooking card as the
basis for the teleporter user condition set. User A permutates the
possible combinations of these two items and creates the teleporter
user condition set, which comprises four cases: (1) possession of
the shirt and the cooking card; (2) the shirt but not the cooking
card; (3) the cooking card but not the shirt; and (4) neither the
shirt nor the cooking card.
[0022] In step 202, the teleporter manager may then select a set of
teleporter destinations. The ability to enter the teleporter
destination data would preferably be included in client software
150 through the same intuitive graphic user interface utilized to
enter the user condition data. The teleporter destination data set
could be temporarily stored in random access memory 149. User A
selects "Harsh Reality," "Hell's Kitchen," "Happy Paradise" and
"Cooking School" as the set of possible destinations.
[0023] In step 203, the teleporter manager may associate the
entries in the user condition set with the teleporter destinations.
The ability to associate the user condition data set with the
teleporter exit destinations would preferably be included in client
software 150 through the same intuitive graphic user interface User
A utilized to enter the user condition data and the teleporter exit
destinations, and the associations may be represented by a table
such as the one depicted below.
TABLE-US-00001 Case Teleporter User Condition Set Teleporter Exit
Destination 1 Shirt & Card Cooking School 2 Shirt Only Happy
Paradise 3 Card Only Hell's Kitchen 4 No Shirt & No Card Harsh
Reality
[0024] In step 204, the user association table would preferably be
stored on the computer 101 that is hosting the virtual world. When
User A is finished, she may indicate to client software 150 that
the modifications are complete and are ready to be implemented.
Client software 150 would preferably then instruct CPU 147 to
encapsulate the association table into an information packet and
send it through network device 145 and network 199 to server
computer 101. Server computer 101 would preferably receive the
packet through network device 105 and store the packet in random
access memory 109. Virtual world host software 110 would then apply
the association table using the stored packet information to User
A's teleporter in the virtual world, and the settings would be
saved in permanent storage 108 and random access memory 109.
[0025] In step 205, User B and User C both engage User A's
teleporter inside the virtual world via computers 111 and 121,
respectively. In step 206, the incoming user condition data set of
the user who engages the teleporter is retrieved. Preferably,
virtual world server computer 101 manages all aspects of users'
virtual inventory information. Virtual world host software 110 may
therefore obtain the user condition information relating to User B
and User C's virtual inventories from storage device 108 and, in
step 207, store both user condition information sets in random
access memory 109 for computing.
[0026] In step 208, virtual world host software 110 may instruct
CPU 107 to compare the user condition information sets of User B
and User C to the teleporter association table, which is stored in
random access memory 109. In the example illustrated in the above
association table, CPU 107 would determine that User B's user
condition set matches Case 2 of the teleporter user condition set
contained in the association table, and User C's user condition set
matches Case 3 of the teleporter user condition set contained in
the association table.
[0027] In step 209, the teleporter exit destination may be
selected. Host virtual world software 110 preferably instructs CPU
107 to determine what exit corresponds to Case 2 and Case 3 on the
teleporter association table. CPU 107 would identify that Case 2 is
associated with "Happy Paradise" and Case 3 is associated with
"Hell's Kitchen." In step 210, the host virtual world software 110
may implement teleportation by updating the virtual position of
User B and User C's virtual avatars, placing User B's virtual
avatar in "Happy Paradise" and User C's virtual avatar in "Hell's
Kitchen."
[0028] This information is preferably encapsulated and sent through
network 199 to computers 111 and 121. User B's client software 120
receives the location update and instructs CPU 117 to render the
new location on the output device 116. User B would see his virtual
avatar transported to "Happy Paradise." User C's client software
130 receives the location update and instructs CPU 127 to render
the new location on the output device 126. User C would see her
virtual avatar transported to "Hell's Kitchen." The deterministic
teleporter disclosed herein therefore teleports virtual avatars to
separate locations based on the logic in the association table
created by the teleporter manager.
[0029] This disclosure is not limited to the client software being
executed on the client's computers 111, 121, or 141, or the storage
being located on the server computer 101. Other configurations are
also applicable to this disclosure. The storage device may be
external, or even remotely connected to the client's computer, or
connected to the host computer. This disclosure relates to all
virtual worlds including those with multiple users or a single
user, regardless of whether the user is human or simulated. The
role of teleporter manager is not limited to users. The manager may
be a developer, a computer or some other third party.
[0030] No limitations on implementation are to be inferred from the
preferred embodiment. The scope of the disclosure is as broad as
the claims permit. There is no limitation on the appropriate time
to implement the deterministic teleporter. It may be implemented
during operation of the virtual world, or it can be created during
software development and therefore pre-included in the virtual
world. The comparison step may be altered as needed to account for
an infinite variety of outcomes, such as incomplete user condition
sets, or other logical problems. The association data set does not
need to be stored in a table. Any structure with the ability to
encapsulate the data may be used.
[0031] The deterministic teleporter has important secondary
functions as well, as it can be adapted to multitude of other uses,
including flagging virtual avatars, logging user traffic through an
area, serving as a virtual world census, or triggering virtual
world moderator attention to an issue. The selection of an exit
teleporter location based on a comparison of user conditions by the
teleporter is highly applicable to other functions. Virtual avatars
may be flagged based on predefined conditions detected by the
teleporter as they pass through the teleporter. Such a flagging
function would be highly useful in detecting abuse or cheating in
virtual worlds (e.g., the presence of a item obtained through
hacking could be detected upon avatar engagement with a
teleporter). The response is not limited to flagging. Any desired
response may be adopted as long as it is logically expressible. The
teleporter itself does not need to be visible in the virtual world.
Users may interact with a virtual teleporter regardless of whether
they are actively aware of the interaction. Therefore,
deterministic teleporters are highly relevant to the problem of
implementing virtual world security schema.
[0032] Having described and illustrated the principles of this
application by reference to one or more preferred embodiments, it
should be apparent that the preferred embodiment(s) may be modified
in arrangement and detail without departing from the principles
disclosed herein and that it is intended that the application be
construed as including all such modifications and variations
insofar as they come within the spirit and scope of the subject
matter disclosed herein.
* * * * *