The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference number in different figures indicates similar or identical items.
a-3b depicts an illustrative process for mapping and/or rendering a video game image from two-dimensional space to three-dimensional space.
a-4b depicts an embodiment of the game display as it pans from one apparent view to another.
a-5b depicts an embodiment of the game display as it pans from one apparent view to another using a virtual control object.
The following document describes method(s) or software capable of instantiating a computer video game. The video game may be executed on any electronic device such as a computer, PDA, computer laptop or gaming device (See
The construction of the video game and an environment in which this video game may be enabled by techniques is set forth first below. This is followed by others sections describing various inventive techniques and illustrative embodiments of other aspects of the video game.
Referring to
Images 102-112 preferably are created using various products or software, examples of which may include a camera, drawing software products or animation software products. A first step to create the images is to make either panoramic photographs or multiple photographs of a room or scene, where image 102 may correspond to a front wall, image 104 may correspond to a rear wall, image 106 may correspond to a rear wall, image 108 may correspond to a bottom or floor, image 110 may correspond to a back wall, and image 112 may correspond to a top wall, sky or ceiling. Although each of images 102-112 are shown as a single image, images 102-112 could each be constructed from multiple photographs depending on light, exposure, scene, and geometry of the location where each of the photographs are taken. Further these photographs do not have to be taken in a specific order, and their “position” may not fit a deployed cube shape like the illustrative cube shown in
Depicted in
Referring to
Referring to
A rendering engine program could be used to provide the prospective of a sphere, cylinder, cone, pyramid or any multidimensional 3D object. Such rendering engine programs may be constructed using a Microsoft DirectX library, or the Open GL Library, where the cube for the engine is constructed from a set of 12 triangles (two triangles for each side of the cube), and where the engine uses a core formula that deals with rendering a triangle using perspective correct texture mapping. A full software renderer could be used, for computers which do not have a 3D graphics card, or insufficient 3D capabilities. In that case, the rendering engine program could use known 3D mathematics to render each one of the triangles.
Illustrated in
In one embodiment target sight 444 may be constantly maintained in the center of the display to the game user, also referred to as the game player's field of view. In response to signals from user input device 736, the apparent view of the image 102 is moved to show at least a portion of the image on one of the other wall images, such as wall image 106 (
Referring to
When the image 102 and target sight 444 is panned such that target sight 444 overlays an object, such as object 440, the object 440 may now be selected. Such selection may occur by generating a selection indication with input device 736 (e.g. in response to a game user clicking on a mouse or selecting a pre-selected key of an input device) and the input device 736 providing a signal to the video game program.
When such selection of the object occurs, an indication may be provided to the game user. Such indication may be provided by causing the object to vanish, having animation occur around the object, indicating an item is removed from a list, moving or highlighting the object, or providing information about a room or a location where the virtual object exists in virtual space.
Referring again to
Depicted in
For example, depicted in
Depicted in
In block 602, a portion of the mapped images along with the overlaid virtual objects may be displayed as a background to the game player to provide the perception that the game player is viewing the images from the center 308 of the sphere (See
In block 604, the computer video game determines if it has received a signal from an input device 736 to the game. This signal may indicate either to rotate the control object 564 (thus simulate a panning effect), or to zoom into or out of the image. If the signal is received indicating rotation of the control object 564, in block 606 the control object 564 may appear that it has rotated and the background image is panned in the same direction the control object 564 appears to rotate. The control object 564 may be rotated (resulting in the background image being panned and the virtual objects layered on the background images also being panned) in the vertical direction (along a y-axis), in the horizontal direction (along an x-axis) or in a direction perpendicular to the plane formed by the x and y axis (along a z-axis). Also the angular velocity the control object 564 is rotated may be proportional to the velocity the background image is panned. If the signal from input device 736 indicates a zoom in or zoom out, the background image may be enlarged are shrunk proportionally.
In block 608, the computer video game determines if it has received a signal from an input device indicating that a virtual object has been selected. A target site 444 may be placed in a fix position on the center of a users display. In block 610 if the virtual object has been selected, and optionally if the target site 444 is positioned to have its center align with a virtual object then: the object may be animated, the object may disappear, animation may occur around the object, an indication may be provided indicating an item having a name corresponding to the virtual object is removed from a list, the object may be moved or highlighted, or information may be provided about a room or a location where the virtual object exists in virtual space.
The computer environment 700 illustrated in
The computer environment 700 includes a general-purpose computing device in the form of a computer 702. The computer 702 can be, for example, one or more of a stand alone computer, laptop computer, a networked computer, a mainframe computer, a PDA, a telephone, a microcomputer or microprocessor, or any other computer device that uses a processor in combination with a memory. The components of the computer 702 can include, but are not limited to, one or more processors or processing units 704, a system memory 706, and a system bus 708 that couples various system components including the processor 704 and the system memory 706.
The computer 702 can comprise a variety of computer readable media. Such media may be any available media that is accessible by the computer 702 and includes both volatile and non-volatile media, and removable and non-removable media. The process for playing and rendering the video game can be stored as instructions sets on the computer readable media.
The system memory 706 may include the computer readable media in the form of non-volatile memory such as read only memory (ROM) and/or volatile memory such as random access memory (RAM).
The computer 702 may also include other removable/non-removable, volatile/non-volatile computer storage media. By way of example,
The disk drives and their associated computer-readable media provide non-volatile storage of computer readable instructions, program modules, and other data for the computer 702. Although the example depicts a hard disk within the hard disk drive 715, it is to be appreciated that other types of the computer readable media which can maintain for accessing data that is accessible by a computer, such as non-volatile optical disk drives, floppy drives, magnetic cassettes or other magnetic storage devices, flash memory cards, CD-ROM, digital versatile disks (DVD) or other optical storage, random access memories (RAM), read only memories (ROM), electrically erasable programmable read-only memory (EEPROM), and the like, can also be utilized to implement the exemplary computer environment 700.
Hard disk drive 715 may be a magnetic disk non-volatile optical disk, ROM and/or RAM. Stored on drive 715 including by way of example, may be an operating system (OS) 728, one or more video games 726, other program modules and program data.
A player can enter commands and information into the computer 702 via input devices 736 such as a keyboard and/or a pointing device (e.g., a “mouse”) which send a signal to the computer 702 in response to commands from the game player. Other input devices 736 (not shown specifically) may include a microphone, joystick, game pad, satellite dish, serial port, scanner, and/or the like. These and other input devices are connected to the processing unit 704 via input/output interfaces 740 that are coupled to the system bus 708, but may be connected by other interface and bus structures, such as a parallel port, game port, or a universal serial bus (USB).
A monitor, flat panel display, or other type of computer display 770 can also be connected to the system bus 708 via a video interface 744, such as a video adapter. In addition to the computer display 770, other output peripheral devices can include components such as speakers (not shown) which can be connected to the computer 702 via the input/output interfaces 740.
The computer 702 can operate in a networked environment using logical connections to one or more remote computers, such as a remote computer device 748. By way of example, the remote computer device 748 can be a personal computer, portable computer, a server, a router, a network computer, a peer device or other common network node, game console, and the like. The remote computer device 748 is illustrated as a server that can include many or all of the elements and features described herein relative to the computer 702.
Logical connections between the computer 702 and the remote computer device 748 are depicted as an Internet (or Intranet) 752 which may include a local area network (LAN) and/or a general wide area network (WAN). Video game 726 may be initially stored on Server 748 and be downloaded from internet 752 onto harddisk 715 in computer 702.
Various modules and techniques may be described herein in the general context of the computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, control objects, components, control node data structures, etc. that perform particular tasks or implement particular abstract data types. Often, the functionality of the program modules may be combined or distributed as desired in various embodiments.
An implementation of the aforementioned computer video game may be stored on some form of the computer readable media (such as optical disk (724)) or transmitted from the computer media via a communications media to a user computer. Computer readable media can be any available media that can be accessed by a computer. By way of example, and not limitation, computer readable media may comprise “computer storage media” and “communications media.”
“Computer storage media” includes volatile and non-volatile, removable and non-removable media implemented in any process or technology for storage of information such as computer readable instructions, control node data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.
The term “communication media” includes, but is not limited to, computer readable instructions, control node data structures, program modules, or other data in a modulated data signal, such as carrier wave or other transport mechanism. Communication media also includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also included within the scope of computer readable media.
The above-described apparatus and methods for creating and playing a computer implemented video game that simulates a 3D game play using 2D images. These and other techniques described herein may provide significant improvements over the current state of the art, potentially providing greater use of enabling video games to run on non 3D capable platforms. Although the system and method has been described in language specific to structural features and/or methodological acts, it is to be understood that the system and method defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the claimed system and method.
This application claims the benefit of U.S. Provisional Application No. 60/826,706, filed Sep. 22, 2006.
Number | Date | Country | |
---|---|---|---|
60826706 | Sep 2006 | US |