1. Field of the Invention
The present invention relates to virtual reality and more particularly to virtual world management over a computer communications network.
2. Description of the Related Art
As the progenitor to the modern virtual world, the multi-user dungeon provided a revolutionary experience for its first participants more than three decades ago. The multi-user dungeon was and continues to be a multi-player computer game that combines elements of role-playing, first person shooter and social chat. The multi-user dungeon generally executes in a central server configured for simultaneous access by participants over a global computer communications network like the Internet. The multi-user dungeon historically has been text-driven where the immediate environment is presented to participants in text form, and participants engage in actions in the environment through textual directives mimicking the postings of an instant messenger. Non-player characters in the multi-user dungeon can be automated and the actions of the non-player characters can be broadcast to the participants also as textual postings.
Like a multi-user dungeon, virtual reality allows a user to interact with a computer-simulated environment; however in virtual reality, the virtual environment is visual in nature and can be displayed either on a computer screen or through customized or stereoscopic displays. Advanced modes of virtual reality further incorporate other sensory presentation elements, including audio elements and tactile elements. Generally, end-users interact with a virtual reality environment through traditional keyboard and mouse movements, though other input means are provided occasionally including gyroscopic handheld devices and gloves, and joysticks. Consistent throughout all virtual reality experiences, the virtual reality environment reflects the real world environment and has proven invaluable in commercial applications such as flight simulation or combat training.
The virtual world builds upon the multi-user dungeon and virtual reality in order to provide a computer-based simulated environment in which participants interact with one another through three-dimensional visually displayable surrogates referred to as avatars. In this regard, participants “inhabit” the virtual world through their respective avatars. In as much as avatars can freely roam the bounds of the virtual world, virtual worlds expand the boundaries of the multi-user dungeon and permit participants to truly enjoy freedom of motion and exploration within the virtual world. To date, virtual worlds have become such close approximations to reality that the lines of reality have become blurred to the extent that many participants treat ordinary interactions in the virtual world with the same degree of seriousness as those same interactions in the real world.
In that the virtual world supports and relies upon the participation of multiple different participants, there is a social aspect to the virtual world. To wit, the behavior of a set of participants oftentimes can influence the behavior of other participants, just as would be the case in the real world. The virtual world can be vast and can provide a greater degree of accessibility to different parts of the virtual world than the analogous instance in the real world because there are not time-space limitations in the virtual world as there is in the real world. Accordingly, observing the behavior and movements of a likeminded participant in the virtual world can facilitate the navigation of the virtual world for a participant by eliminating the guess-work of which portions of the virtual world are likely to be interesting.
Embodiments of the present invention address deficiencies of the art in respect to virtual world navigation and provide a novel and non-obvious method, system and computer program product for applying temporal rankings to elements in a virtual world. In an embodiment of the invention, a method for temporally ranking locations in a virtual world can be provided. The method can include timing a duration of visit for different locations in a virtual world, computing a temporal score for the different locations, and displaying a ranking of the locations by temporal score. For instance, computing a temporal score for the different locations can include computing a sum of durations for each of the different locations, or computing an average of durations for each of the different locations, to name two examples. Optionally, computing a temporal score for the different locations also can include filtering the durations according to a date or time range.
In another embodiment of the invention, a virtual world data processing system can be provided. The system can include a virtual world executing in a host server and configured for communicative coupling to computing clients over a computer communications network. The system also can include locations persisting in the virtual world and temporal ranking logic coupled to the virtual world. The logic can include program code enabled to time a duration of visit for the different locations in the virtual world, to compute a temporal score for the different locations, and to display a ranking of the locations in the virtual world by temporal score. In one aspect of the embodiment, the locations can include virtual locations selected from the group consisting of stores, houses, restaurants, parks, theaters, social clubs, office buildings, offices and rooms. Alternatively, the virtual locations can include a social taxonomy such as a social interest forum for social interests including common musical tastes, fan clubs and the like.
Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:
Embodiments of the present invention provide a method, system and computer program product for temporally ranking locations in a virtual world. In accordance with an embodiment of the present invention, a number of virtual visitors visiting different locations in a virtual world can be recorded along with a duration of time spent visiting each different location. Thereafter, the duration of time spent for each visitor for each different location can be combined with other recorded durations of time for different virtual visitors for the same location in order to generate a temporal score for the location. Finally, the temporal scores for different locations in the virtual world can be compared to identify more popular locations in the virtual world.
In further illustration,
Notably, a temporal ranking processor 300 can be coupled to the virtual world 110 and communicatively coupled to the different locations 120. The temporal ranking processor 300 can include a monitor 150 configured to detect when individual ones of the virtual visitors 130 visit individual ones of the locations 120. The temporal ranking processor 300 further can include a timer 140 configured to time a duration in which each of the virtual visitors 130 visits with the different ones of the locations 120. In consequence, the temporal ranking processor 300 can produce a temporal ranking 160 of the different locations 120 in accordance with a number of visits by the virtual visitors 130 to the different locations 120 and also a duration in which the virtual visitors 130 visit with the different locations 120.
The process described herein can be embodied within a virtual world data processing system. In illustration,
Notably, temporal ranking logic 270 can be coupled to the virtual world server 250 by way of the host server 210. The temporal ranking logic 270 can include program code enabled to track virtual visitors to different locations in the virtual world provided by the virtual world server. The program code of the temporal ranking logic 270 further can be enabled to time a duration of each visit to a location by a virtual visitor in the virtual world. Consequently, the program code of the temporal ranking logic 270 can produce a set of rankings 260 for the different locations. The rankings can range from a list of most popular locations, to a detailed listing of durations of visits, to a listing of an average duration of visits. Of course, the rankings can be filtered by time of day, day of week or month of year, and period comparisons can be provided comparing rankings from one period to the next.
In further illustration of the operation of the temporal ranking logic 270,
In block 350, a timer can start for the visit and the visit can be stored in connection with the visitor, the time and the location. With the stored information, real-time information pertaining to a most popular location can be readily determined. In decision block 360, so long as the visitor has not left the location, the timer can continue to run. In decision block 360, if it is determined that the visitor has left the location, in block 370 the timer can stop and the departure from the location can be stored in connection with the visitor, the time and the location. Thereafter, in block 380 the duration of the visit to the location can be computed for subsequent reporting, for instance, a list of the “stickiest” locations or most popular locations in the virtual world according to a sum of visit durations for each location, or an average duration of a visit for each location. The process then can repeat through block 330 for a next visit by a visitor to a location in the virtual world.
Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.
For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.