Title:
System And Method Of Deterministic Teleportation Within A Virtual World
Kind Code:
A1


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, US)
Cox, Jason A. (Raleigh, NC, US)
Nesbitt, Pamela A. (Tampa, FL, US)
Seaman, James W. (Falls Church, VA, US)
Application Number:
12/122337
Publication Date:
11/19/2009
Filing Date:
05/16/2008
Assignee:
INTERNATIONAL BUSINESS MACHINES CORPORATION (Armonk, NY, US)
Primary Class:
International Classes:
A63F9/24
View Patent Images:



Primary Examiner:
DEODHAR, OMKAR A
Attorney, Agent or Firm:
Weitzman Law Offices LLC (425 Eagle Rock Avenue, Suite 102, Roseland, NJ, 07068, US)
Claims:
What is claimed is:

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

1. Field of the Invention

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.

2. Description of Related Art

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.

“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.

“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.

“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.

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.

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.

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.

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

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.

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

This disclosure is further described in the detailed description that follows, with reference to the drawings, in which:

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

FIG. 2 is a flow chart illustrating a preferred sequence of steps to implement deterministic teleporters within a virtual environment.

DETAILED DESCRIPTION

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.

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.

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.

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.

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.

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.

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.

CaseTeleporter User Condition SetTeleporter Exit Destination
1Shirt & CardCooking School
2Shirt OnlyHappy Paradise
3Card OnlyHell's Kitchen
4No Shirt & No CardHarsh Reality

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.

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.

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.

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.”

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.

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.

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.

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.

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.