`US 20080070684Al
`
`c19) United States
`c12) Patent Application Publication
`Haigh-Hutchinson
`
`c10) Pub. No.: US 2008/0070684 Al
`Mar. 20, 2008
`(43) Pub. Date:
`
`(54) METHOD AND APPARATUS FOR USING A
`COMMON POINTING INPUT TO CONTROL
`3D VIEWPOINT AND OBJECT TARGETING
`
`(76)
`
`Inventor:
`
`Mark Haigh-Hutchinson, Austin,
`TX (US)
`
`Correspondence Address:
`NIXON & VANDERHYE, P.C.
`901 NORTH GLEBE ROAD, 11 TH FLOOR
`ARLINGTON, VA 22203
`
`(21) Appl. No.:
`
`11/531,961
`
`(22) Filed:
`
`Sep. 14, 2006
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`A63F 13/00
`(2006.01)
`(52) U.S. Cl. ......................................................... 463/32
`ABSTRACT
`(57)
`
`A computer graphics display system such as a video game
`system provides virtual camera 3-D viewpoint panning
`control based on a pointer. When the pointer is displayed
`within a virtual camera panning control region, the system
`automatically pans the virtual camera toward the pointer.
`When the pointer is displayed within a different region,
`panning is deactivated and the user can freely move the
`cursor (e.g., to control the direction a weapon is pointed)
`without panning the virtual camera viewpoint. Flexible
`viewpoint control and other animated features are provided
`based on a pointing device such as a handheld video game
`optical pointing control. Useful applications include but are
`not limited to first person shooter type video games.
`
`1008
`
`r··-· -··-··-··-··-··-··-··7
`1004
`
`1010
`
`\,(
`'
`
`' .
`.
`-......I :,
`I
`'
`
`' · · - · · (cid:173)
`' ' ' '
`
`L ··-··-··-··-··-··-·· -··- ..
`
`1050
`
`Align EX1042
`Align v. 3Shape
`IPR2022-00144
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 1 of 16
`
`US 2008/0070684 Al
`
`108a
`
`108b
`
`~ 1 0 2
`
`109
`
`10_;--
`
`104
`
`~ 1 0 7
`
`FIG. 1
`NON-LIMITING
`EXAMPLE GAME SYSTEM
`
`
`
`204\
`
`206\
`
`External Main
`Memory
`
`/242
`
`: Power Button
`
`/244
`
`Reset Button t--
`
`238\
`
`I ROM/RTC I
`
`100
`
`... J
`
`-
`
`USB
`Port(s)
`\226
`
`i
`
`Standard
`... Memory card
`Slot(s)
`
`h
`
`'---228
`
`232\ B
`
`I Flash Memory I
`
`j
`
`j
`
`,.
`I
`
`"
`1/0
`
`224)
`
`"
`
`,
`
`j
`
`1'
`
`21~ GFX I
`I
`21~ DSP I I
`
`202
`
`'
`II WiFi Module II
`230.../
`
`"
`
`"
`240
`Wireless V
`Controller
`Module
`
`y DCIN
`
`I
`I
`
`248./
`
`...
`
`,
`Proprietary
`Memory
`Card Slot(s)
`246
`
`~
`
`107
`
`~
`
`Controller(s)
`
`j
`
`"
`
`j
`
`,,
`
`Graphics Memory
`
`Internal Main Memory
`
`2227
`
`l 220
`I
`I
`I
`
`""O
`~ .....
`('D = .....
`
`t "e -....
`.... 0 =
`""O = O" -....
`.... 0 =
`
`(')
`
`~ .....
`
`(')
`
`~ .....
`
`c
`rJJ
`N
`0
`0
`
`QO ---0
`
`0
`-....J
`0
`O'I
`QO
`.i;...
`
`> ....
`
`~
`~ :-:
`N
`~o
`N
`0
`0
`QO
`
`('D
`('D
`
`rJJ =(cid:173)
`.....
`N
`0 ....
`....
`
`O'I
`
`110
`
`__,
`
`14
`
`Optical Disk
`Drive
`
`II
`
`208 .../
`
`t
`
`AVIC
`
`212
`
`AVIC
`
`+
`'
`Controller H Eject Button I
`
`244,.)
`
`210,.)
`
`FIG. 2
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 3 of 16
`
`US 2008/0070684 Al
`
`FIG. 3A
`NON-LIMITING
`EXAMPLE CONTROLLER
`
`302h
`
`303
`
`FIG. 3B
`NON-LIMITING
`EXAMPLE CONTROLLER
`
`107
`
`(
`
`303
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 4 of 16
`
`US 2008/0070684 Al
`
`FIG. 4
`
`z
`
`305a
`
`FIG. 5
`
`VIBRATION
`CIRCUIT
`
`OPERATION
`SECTION
`
`512
`
`302
`
`507
`
`ACCELERATION
`SENSOR
`I
`505 305a 530 .__ ____ __, 1
`r-_/ ·- ----- ----------, :
`
`505
`
`WIRELESS
`MODULE
`
`504
`
`503
`
`MICRO(cid:173)
`COMPUTER
`
`502
`
`MEMORY
`
`IMAGING
`ELEMENT
`
`I
`I
`I
`I
`
`I
`, - -> - - - - -~ I
`I
`IMAGE
`I
`PROCESSING
`I
`I
`CIRCUIT
`I
`I
`I
`.__ _ _ _ ___,
`COMMUNICATION
`IMAGING INFORMATION : 1
`SECTION
`CALCULATION SECTION 1
`:
`_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ J - - - - - - - - - - - - - - - - - - - - - -
`
`529
`
`506
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 5 of 16
`
`US 2008/0070684 Al
`
`0
`0
`0
`,-
`
`. t -
`
`I
`
`••t••
`
`. , _ . -
`
`~ e
`
`LL~
`
`+;:: =
`
`a e
`-
`u
`Cl) Cl)
`
`CD .
`(!J
`LL
`
`<(
`w
`a::
`<(
`
`<(
`w
`a::
`<(
`
`<(
`
`w a::
`
`<(
`
`:
`··t··
`
`......
`
`.,...
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 6 of 16
`
`US 2008/0070684 Al
`
`0
`0
`0 ,....
`
`<(
`w
`a:
`<(
`
`a:
`0
`I~
`
`<(
`w
`a:
`<(
`
`<(
`c.o
`.
`(!J -LL
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 7 of 16
`
`US 2008/0070684 Al
`
`D
`0o
`D
`
`II
`
`:u,I 10
`
`:0
`I..-
`
`lo
`.......
`10
`: ......
`I
`
`/
`
`/
`
`/
`
`/
`
`~ /
`
`I
`
`I
`
`1~1
`·o
`I..-
`L .. - .. _ .. _ .. _ .. _J
`
`.
`(9
`LL
`
`<(
`r--
`.
`(9
`LL
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 8 of 16
`
`US 2008/0070684 Al
`
`D
`DOD
`
`.
`(9
`LL
`
`.
`(9
`LL
`
`/
`
`/
`
`/
`
`I
`
`/
`
`i [.<-i~ //
`'·f"
`.
`/
`X
`~
`-A 0
`I ~o
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 9 of 16
`
`US 2008/0070684 Al
`
`-__ l ___ ------
`
`D
`DOD
`
`co
`co .
`
`(9
`LL
`
`r
`
`II
`
`§I
`
`§I
`
`,....
`
`/
`
`/
`
`I
`
`/
`I /
`(
`
`I
`
`I
`
`. _j
`
`<(
`
`co .
`
`(9
`LL
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 10 of 16 US 2008/0070684 Al
`
`0
`LO
`0 ...-
`
`co
`0) .
`(9
`LL
`
`<(
`0) .
`(9
`LL
`
`D
`DOD
`
`I
`.
`I
`L. -··-··7··-··_J
`I
`I
`~---··-··-··-{_,,_,, ____ ,,
`~J
`0 ...-
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 11 of 16 US 2008/0070684 Al
`
`0::: .
`0
`en
`0:::
`=>
`(.)
`
`<(
`w
`0:::
`<(
`
`§I
`
`<(
`w
`0:::
`<(
`
`0
`.,-
`0
`.,-
`
`§I
`
`0
`,--
`
`CJ -LL
`
`§I
`
`<(
`w
`0:::
`<(
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 12 of 16 US 2008/0070684 Al
`
`1102
`
`1104
`
`1106
`
`1108
`
`1110
`
`1112
`
`1114
`
`START
`
`Initialize
`system
`
`Generate or
`record model
`of 3D World
`
`Set initial
`virtual camera
`viewpoint
`
`Display 3D World
`from virtual
`camera viewpoint
`
`Acquire pointer
`and other inputs
`
`Process pointer
`input
`
`Update
`display
`
`FIG. 11
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 13 of 16 US 2008/0070684 Al
`
`PROCESS POINTER
`INPUT
`
`No
`
`Yes
`
`Move cursor
`(if cursor
`present)
`-
`-
`
`1118
`
`-
`
`-
`
`-
`
`1119
`/
`
`/
`
`/
`I
`
`- - _ \_ - -
`
`Yes
`
`1122
`
`Move weapon
`to follow
`pointer
`position
`
`No
`
`Yes
`
`1126
`
`Pan virtual
`camera in same
`direction as
`cursor position
`
`No
`
`1128
`
`Take other
`appropriate
`action
`
`-------------'
`
`FIG. 12
`
`RETURN
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 14 of 16 US 2008/0070684 Al
`
`111 g'
`
`1122'
`
`Maintain current
`virtual camera
`viewpoint &
`instead move
`weapon or
`other object
`
`New pointer
`position in
`innerVCC
`zone?
`
`No
`
`No
`
`New pointer
`position in
`outer VCC zone?
`
`Yes
`
`1138
`
`No
`
`1140
`
`Take other
`action
`
`Rapidly change
`virtual camera
`viewpoint in
`direction of new
`pointer position
`
`Yes
`
`1134
`
`Gradually change
`virtual camera
`viewpoint in
`direction of new
`pointer position
`
`FIG. 13
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 15 of 16 US 2008/0070684 Al
`
`No
`
`Yes
`
`1144
`
`Start/increment
`timer
`
`No (timer> threshold)
`
`Yes
`
`1148
`
`1150
`
`Gradually change
`virtual camera
`viewpoint in
`direction of pointer
`
`Rapidly change
`virtual camera
`viewpoint in
`direction of pointer
`
`FIG. 14
`
`
`
`Patent Application Publication Mar. 20, 2008 Sheet 16 of 16 US 2008/0070684 Al
`
`,
`
`F~G.i5A
`
`._ -2\
`1·~,
`
`'_; Uc~
`'L~
`
`F~G. i 58
`
`L
`
`F~G. 15C
`
`
`
`US 2008/0070684 Al
`
`Mar. 20, 2008
`
`1
`
`METHOD AND APPARATUS FOR USING A
`COMMON POINTING INPUT TO CONTROL
`3D VIEWPOINT AND OBJECT TARGETING
`
`FIELD
`
`[0001] The technology herein relates to three-dimensional
`computer graphics, and more particularly to techniques for
`controlling a 3D viewpoint within a virtual three-dimen(cid:173)
`sional space. Still more specifically, the technology herein
`provides method, apparatus and techniques for using a
`common pointing indication or control to control both video
`game action such as object targeting and virtual camera
`viewing direction/panning.
`
`BACKGROUND AND SUMMARY
`
`[0002] Many 3D games and other graphical displays allow
`the user some flexibility in changing the viewpoint from
`which the 3D virtual world is viewed. Just like the way
`authors write novels in different voices, video games can be
`created to view a three-dimensional virtual world from
`either a "third person viewpoint" or a "first person view(cid:173)
`point." In "third person viewpoint" games, a virtual camera
`is located within the three-dimensional space at a position
`from which the game player can see and hear all of the
`action. "First person viewpoint" games show the action from
`the viewpoint of a character within the game space who is
`interacting with other objects and events in the game. Each
`type of presentation has its advantages. Some games allow
`the game player to switch between a first person viewpoint
`and a third person viewpoint.
`[0003] Some of the more popular first person viewpoint
`games place the game player at the viewpoint of a combatant
`in some type of conflict. For example, the game player may
`see the three-dimensional world through the eyes of a soldier
`or warrior whose job is to attack and destroy enemies such
`as for example alien creatures who have invaded a virtual
`spaceship. Using such first person viewpoint display tech(cid:173)
`niques can create an immersive game play action in which
`the game player feels as if he or she is within the game.
`[0004] Some prior first person viewpoint display tech(cid:173)
`niques locate a "virtual camera" within the three-dimen(cid:173)
`sional virtual world at a position corresponding to the head
`of a game character in the game. Objects within the three(cid:173)
`dimensional world are rendered from the perspective of this
`virtual camera. Just like in the real world, a user can tum his
`or her head to the left or right or look up or down to see
`different parts of the virtual world. Changing the direction
`the virtual camera is aimed reveals different parts of the 3-D
`world, allowing the game player to "look around" the virtual
`landscape.
`In contexts such as virtual tours of buildings and
`[0005]
`landscapes, users can change a virtual 3-D camera viewpoint
`via a web browser and a plug-in such as QuickTime® or
`Flash® to view a scene from a variety of different view(cid:173)
`points by moving a mouse controlling a cursor. Many video
`and computer games allow the game player to operate a
`pointing control such as a joystick to scroll or otherwise
`change the virtual camera's viewpoint. Thus, when the user
`moves the joystick to the right of the image, the display also
`scrolls or pans to the right of the virtual 3-D world and a
`player to reveal objects previously out of view.
`[0006] There have been a number of games for personal
`computers, arcade games and home video game platforms
`
`designed to operate primarily in response to two-dimen(cid:173)
`sional cursor control signals from a mouse, joystick, touch(cid:173)
`pad or other 2-D directional input device(s). For example, it
`is common for a combination of a mouse and a keyboard to
`provide inputs for playing first-person shooter games. In
`many such games, the X axis of the mouse is used for
`looking ( or turning) left and right, while the Y axis is used
`for looking up and down.
`In such games, the left mouse button is sometimes
`[0007]
`used to control weapon firing. In many video and computer
`games, a second joystick or other control is used to control
`other aspects of game action including for example where a
`weapon is pointed (i.e., object targeting). Still other controls
`can be used to control weapon firing or other events.
`[0008] While traditional arcade and home video games
`have often provided game players with a range of different
`handheld controls including single or dual joysticks, push
`buttons, cross-switches and the like to provide simultaneous
`control over 3D viewpoint and object/weapon targeting,
`some new gaming platforms have streamlined and simplified
`the user interface. For example, Nintendo's Wii® home
`video game system provides a handheld pointing device.
`The user may point the handheld device at the screen or in
`other directions. Using optical and/or accelerometer sensors,
`the Wii game system can detect automatically the direction
`in which the user is pointing the pointing device, and use this
`direction as an input to control aspects of video game play.
`The pointing device can be used to control the position of
`objects such as (but not limited to) a cursor on the display.
`Positioning the cursor over an enemy can cause a game
`character to automatically aim his or her weapon at that
`enemy. Pressing a "fire" button can then control the game
`character to fire the weapon at the enemy. It is also possible
`to control a wide variety of other applications including
`driving games, flight simulators, adventure games, web
`browsing, puzzle games, text input and the like.
`[0009] Other video game platforms use touch screens to
`control game action. The Nintendo DS portable video game
`system is one such example. In addition to the normal cross
`switch or other thumb or finger operated buttons, the Nin(cid:173)
`tendo DS includes a touch screen that can be actuated by the
`position of a finger or stylus above a display. Some games
`use the stylus or finger position to control game play action.
`For example, touching the stylus onto an enemy could cause
`the game character to aim a weapon at the enemy. Pushing
`a button or, in some games, leaving the stylus in contact with
`the image of the enemy for a sufficient period of time could
`cause a weapon to fire at the enemy. A wide variety of other
`applications are also possible.
`[0010] While such simplified user interfaces have many
`advantages and are highly flexible, they also present some
`challenges. For example, game players who are used to
`playing first person viewpoint games on certain platforms
`have become accustomed to controlling game action with
`one joystick and controlling viewpoint with a second joy(cid:173)
`stick. In platforms providing a single pointing device, dual
`pointing or joystick control is not necessarily or always
`available. While it is possible to choose between a viewpoint
`control mode and a weapon targeting or other game action
`control mode, game developers strive for as much realism as
`possible. In the real world, a person can move his or her head
`to look at different parts of surroundings at the same time he
`or she manipulates objects such as aiming a weapon held in
`the hands. It would be desirable to realistically duplicate
`
`
`
`US 2008/0070684 Al
`
`Mar. 20, 2008
`
`2
`
`these types of real world capabilities through the mechanism
`of a single pointing device such as an optical pointer and/or
`accelerometer type sensor.
`[0011] The technology herein provides an exemplary illus(cid:173)
`trative non-limiting way to minimize the complexity of user
`inputs while conveniently allowing the user to control
`virtual camera panning and other game play action via a
`common pointing action. Exemplary illustrative non-limit(cid:173)
`ing technology herein allows a player to conveniently con(cid:173)
`trol both targeting or other game player character interaction
`and 3-D viewpoint direction with a common cursor or other
`pointing action or indicator. To allow a cursor or pointing
`action to control both a 3-D camera direction and game play
`targeting within a 3-D video game or other 3-D computer
`graphics presentation, one exemplary illustrative non-limit(cid:173)
`ing implementation divides the screen into plural zones or
`regions. In one exemplary illustrative non-limiting imple(cid:173)
`mentation, moving the cursor anywhere within a "dead
`zone" may for example control interaction with video game
`characters or other objects (e.g., for purposes of weapon
`targeting or other effects) but does not cause the 3-D camera
`angle to change. When the cursor is moved outside the "dead
`zone", the 3-D camera may change in a predictable and
`controllable way such as by panning in a direction corre(cid:173)
`sponding to cursor position and/or change in cursor position,
`and a weapon or other aspect of game play can at the same
`time continue to make use of the pointing indication for
`targeting or other purposes.
`[0012]
`In one exemplary illustrative non-limiting imple(cid:173)
`mentation, the game player can use the same pointing
`control to control the direction and/or manner of 3D view(cid:173)
`point changes. For example, the game player can control
`how fast the 3-D camera pans depends on where the cursor
`is located on the display. In one exemplary illustrative
`non-limiting implementation, the 3-D camera pans rapidly
`when the cursor is in a first zone and pans more slowly when
`the cursor is in a second zone.
`[0013] By way of example, without limitation, one exem(cid:173)
`plary implementation can provide a variable rate of camera
`angle change based on time encoding. For example, the
`virtual camera angle can change slowly over an initial period
`during which a cursor is positioned within a predetermined
`area of a display and/or 3-D world. The camera angle can
`change more rapidly after the cursor has been within the
`predetermined area of the display and/or 3-D world for more
`than a certain time threshold. Multiple timing thresholds can
`be applied as desired.
`[0014] Exemplary illustrative non-limiting advantages
`include:
`[0015] Ability to change a targeting reticle on screen
`independent of camera movement
`[0016] No need to choose between weapon targeting and
`viewpoint change
`[0017] Same pointing control can control both 3D view(cid:173)
`point and weapon or other targeting
`[0018] Unobtrusive mode in which pointing control con(cid:173)
`trols only targeting and 3D viewpoint remains unaffected
`[0019] 3D viewpoint panning speed can depend on where
`the user has positioned a cursor on the screen
`[0020]
`customizable sensitivity (so user can program
`viewpoint change/panning rate)
`[0021]
`single joystick or other pointing indicator can be
`used to control both 3D viewpoint and object targeting.
`
`[0022] Technology herein thus provides, by way of
`example without limitation, a method of controlling three(cid:173)
`dimensional viewpoint panning within a computer graphics
`display system comprising predefining first and second
`regions on a display, said first region corresponding to a
`panning control region, said second region corresponding to
`a region that does not control panning; displaying a pointing
`indicia on said display at a position that is at least in part
`responsive to a user input; and panning the 3-D viewpoint
`whenever the user positions the cursor within the first region
`but not when the user positions the cursor within the second
`region.
`[0023] The first region can at least in part surrounds the
`second region.
`[0024] One can control the rate of panning at least in part
`in response to the distance the user positions the cursor
`relative to a center point of the display.
`[0025] One can control the rate of panning based at least
`in part on how long the user positions the cursor within the
`first region.
`[0026] One may subdivide said first region into plural
`virtual camera control regions, and control the rate of virtual
`camera panning based at least in part on which of said plural
`regions the user positions the cursor within.
`[0027] One may display a mask image, wherein said mask
`image at least in part comprises said second region.
`[0028] One may automatically animate the position of a
`weapon to aim at cursor-indicated objects.
`[0029] The weapon can be animated to follow cursor
`position at the same time as cursor position controls whether
`or not to pan.
`[0030] One may control the direction of 3-D pan based at
`least in part on the position of the cursor relative to a
`reference point such as the center of the display.
`[0031] Exemplary illustrative non-limiting technology
`herein also provides a system for providing an animated
`display comprising: a display device that displays an image
`subdivided into plural regions; a cursor control that displays
`a cursor on said display device; a user input device coupled
`to said cursor control, said user input device determining the
`position said cursor is displayed on said display device; and
`panning control that selectively pans a 3-D viewpoint at
`least in part defining said image conditioned on which of
`said regions said cursor is displayed within.
`[0032] Exemplary illustrative non-limiting technology
`herein also provides a storage device storing: data at least in
`part defining a model of a three-dimensional world; a first
`code segment that subdivides a display region into at least
`first and second predetermined regions; a second code
`segment that at least in part controls the position an object
`is displayed in response to user inputs; and a third code
`segment that controls panning of a virtual camera 3-D
`viewpoint to selectively activate 3-D viewpoint panning
`whenever said object is displayed within a first region and
`selectively deactivates 3-D viewpoint panning whenever
`said object is displayed within a second region different from
`said first region.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0033] These and other features and advantages of exem(cid:173)
`plary illustrative non-limiting implementations will be better
`and more completely understood by referring to the follow(cid:173)
`ing detailed description in conjunction with the drawings, of
`which:
`
`
`
`US 2008/0070684 Al
`
`Mar. 20, 2008
`
`3
`
`[0034] FIG. 1 shows an exemplary external view of a
`non-limiting interactive computer graphics system in the
`form of a home video game apparatus for executing a game
`program;
`[0035] FIG. 2 is a block diagram showing an internal
`structure of the game apparatus;
`[0036] FIGS. 3A, 3B and 4 show different views of an
`exemplary illustrative non-limiting handheld controller for
`the video game system of FIG. 1;
`[0037] FIG. 5 is a block diagram of an exemplary illus(cid:173)
`trative non-limiting implementation of the handheld con(cid:173)
`troller;
`[0038] FIG. 6 is a schematic illustration of an exemplary
`illustrative non-limiting screen display showing camera pan(cid:173)
`ning control regions;
`[0039] FIG. 6A shows different exemplary illustrative
`effects that an exemplary illustrative non-limiting imple(cid:173)
`mentation provides as the cursor moves into different pan(cid:173)
`ning control regions;
`[0040] FIGS. 7A-7D show an exemplary cursor position
`and associated virtual camera views;
`[0041] FIGS. SA and 8B show an exemplary cursor posi(cid:173)
`tion that initiates slow camera panning;
`[0042] FIGS. 9A and 9B show an exemplary cursor posi(cid:173)
`tion that initiates more rapid camera panning;
`[0043] FIG. 10 shows an alternative exemplary illustrative
`non-limiting camera panning region arrangement;
`[0044] FIGS. 11-14 show example illustrative non-limit(cid:173)
`ing flowcharts; and
`[0045] FIGS. 15A-15C show exemplary illustrative non(cid:173)
`limiting video game screen displays.
`
`DETAILED DESCRIPTION
`
`Exemplary Video Game Platform
`[0046] FIG. 1 shows a non-limiting example game system
`10 including a game console 100, a television 102 and a
`controller 107.
`[0047] Game console 100 executes a game program or
`other application stored on optical disc 104 inserted into slot
`105 formed in housing 110 thereof. The result of the
`execution of the game program or other application is
`displayed on display 101 of television 102 to which game
`console 100 is connected by cable 106. Audio associated
`with the game program or other application is output via
`speakers 109 of television 102. While an optical disk is
`shown in FIG. 1 for use in storing video game software, the
`game program or other application may alternatively or
`additionally be stored on other storage media such as
`semiconductor memories, magneto-optical memories, mag(cid:173)
`netic memories and the like and/or downloaded over a
`network or by other means.
`[0048] Controller 107 wirelessly transmits data such as
`game control data to the game console 100. The game
`control data may be generated using an operation section of
`controller 107 having, for example, a plurality of operation
`buttons, a key, a stick and the like. Controller 107 may also
`wirelessly receive data transmitted from game console 100.
`Any one of various wireless protocols such as Bluetooth
`(registered trademark) may be used for the wireless trans(cid:173)
`missions between controller 107 and game console 100.
`[0049] As discussed below, controller 107 also includes an
`imaging information calculation section for capturing and
`processing images from light-emitting devices 108a and
`
`108b. Preferably, a center point between light-emitting
`devices 108a and 108b is aligned with a vertical center line
`of television 101. The images from light-emitting devices
`108a and 108b can be used to determine a direction in which
`controller 107 is pointing as well as a distance of controller
`107 from display 101. By way of example without limita(cid:173)
`tion, light-emitting devices 108a and 108b may be imple(cid:173)
`mented as two LED modules (hereinafter, referred to as
`"markers") provided in the vicinity of a display screen of
`television 102. The markers each output infrared light and
`the imaging information calculation section of controller
`107 detects the light output from the LED modules to
`determine a direction in which controller 107 is pointing and
`a distance of controller 107 from display 101 as mentioned
`above. As will become apparent from the description below,
`various implementations of the system and method for
`simulating the striking of an object described herein do not
`require use such markers.
`[0050] Although markers 108a and 108b are shown in
`FIG. 1 as being above television 100, they may also be
`positioned below television 100 or in other configurations.
`[0051] With reference to the block diagram of FIG. 2,
`game console 100 includes a RISC central processing unit
`(CPU) 204 for executing various types of applications
`including (but not limited to) video game programs. CPU
`204 executes a boot program stored in a boot ROM (not
`shown) to initialize game console 100 and then executes an
`application (or applications) stored on optical disc 104
`which is inserted in optical disk drive 208. User-accessible
`eject button 210 provided on housing 110 of game console
`100 may be used to eject an optical disk from disk drive 208.
`[0052]
`In one example implementation, optical disk drive
`208 receives both optical disks of a first type ( e.g., of a first
`size and/or of a first data structure, etc.) containing appli(cid:173)
`cations developed for execution by CPU 204 and graphics
`processor 216 and optical disks of a second type ( e.g., of a
`second size and/or a second data structure) containing
`applications originally developed for execution by a differ(cid:173)
`ent CPU and/or graphics processor. For example, the optical
`disks of the second type may be applications originally
`developed for the Nintendo GameCube platform.
`[0053] CPU 204 is connected to system LSI 202 that
`includes graphics processing unit (GPU) 216 with an asso(cid:173)
`ciated graphics memory 220, audio digital signal processor
`(DSP) 218, internal main memory 222 and input/output (IO)
`processor 224.
`IO processor 224 of system LSI 202 is connected
`[0054]
`to one or more USB ports 226, one or more standard
`memory card slots (connectors) 228, WiFi module 230, flash
`memory 232 and wireless controller module 240.
`[0055] USB ports 226 are used to connect a wide variety
`of external devices to game console 100. These devices
`include by way of example without limitation game con(cid:173)
`trollers, keyboards, storage devices such as external hard(cid:173)
`disk drives, printers, digital cameras, and the like. USB ports
`226 may also be used for wired network (e.g., LAN)
`connections. In one example implementation, two USB
`ports 226 are provided.
`[0056] Standard memory card slots (connectors) 228 are
`adapted to receive industry-standard-type memory cards
`(e.g., SD memory cards). In one example implementation,
`one memory card slot 228 is provided. These memory cards
`are generally used as data carriers. For example, a player
`may store game data for a particular game on a memory card
`
`
`
`US 2008/0070684 Al
`
`Mar. 20, 2008
`
`4
`
`and bring the memory card to a friend's house to play the
`game on the friend's game console. The memory cards may
`also be used to transfer data between the game console and
`personal computers, digital cameras, and the like.
`[0057] WiFi module 230 enables game console 100 to be
`connected to a wireless access point. The access point may
`provide internet connectivity for on-line gaming with play(cid:173)
`ers at other locations (with or without voice chat capabili(cid:173)
`ties), as well as web browsing, e-mail, file downloads
`(including game downloads) and many other types of on(cid:173)
`line activities. In some implementations, WiFi module may
`also be used for communication with other game devices
`such as suitably-equipped hand-held game devices. Module
`230 is referred to herein as "WiFi", which is generally used
`in connection with the family ofIEEE 802.11 specifications.
`However, game console 100 may of course alternatively or
`additionally use wireless modules that conform with other
`wireless standards.
`[0058] Flash memory 232 stores, by way of example
`without limitation, game save data, system files, internal
`applications for the console and downloaded data (such as
`games).
`[0059] Wireless controller module 240 receives signals
`wirelessly transmitted from one or more controllers 107 and
`provides these received signals to IO processor 224. The
`signals transmitted by controller 107 to wireless controller
`module 240 may include signals generated by controller 107
`itself as well as by other devices that may be connected to
`controller 107. By way of example, some games may utilize
`separate right-and left-hand inputs. For such games, another
`controller (not shown) may be connected to controller 107
`and controller 107 could transmit to wireless controller
`module 240 signals generated by itself and by the other
`controller.
`[0060] Wireless controller module 240 may also wire(cid:173)
`lessly transmit signals to controller 107. By way of example
`without limitation, controller 107 (and/or another game
`controller connected thereto) may be provided with vibra(cid:173)
`tion circuitry and vibration circuitry control signals may be
`sent via wireless controller module 240 to control the
`vibration circuitry. By way of further example without
`limitation, controller 107 may be provided with (or be
`connected to) a speaker (not shown) and audio signals for
`output from this speaker may be wirelessly communicated to
`controller 107 via wireless controller module 240. By way
`of still further example without limitation, controller 107
`may be provided with ( or be connected to) a display device
`(not shown) and display signals for output from this display
`device may be wirelessly communicated to controller 107
`via wireless controller module 240.
`[0061] Proprietary memory card slots 246 are adapted to
`receive proprietary memory cards. In one example imple(cid:173)
`mentation, two such slots are provided. These proprietary
`memory cards have some non-standard feature such as a
`non-standard connector or a non-standard memory architec(cid:173)
`ture. For example, one or more of the memory card slots 246
`may be adapted to receive memory cards developed for the
`Nintendo GameCube platform. In this case, memory cards
`inserted in such slots can transfer data from games devel(cid:173)
`oped for the GameCube platform. In an example implemen(cid:173)
`tation, memory card slots 246 may be used for read-only
`access to the memory cards inserted therein and limitations
`may be placed on whether data on these memory cards can
`
`be copied or transferred to other storage media such as
`standard memory cards inserted into slots 228.
`[0062] One or more controller connectors 244 are adapted
`for wired connection to respective game controllers. In one
`example implementation, four such connectors are provided
`for wired connection to game controllers for the Nintendo
`GameCube platform. Alternatively, connectors 244 may be
`connected to respective wireless receivers that receive sig(cid:173)
`nals from wireless game controllers. These connectors
`enable players, among other things, to use controllers for the
`Nintendo GameCube platform when an optical disk for a
`game developed for this platform is inserted into optical disk
`drive 208.
`[0063] A connector 248 is provided for connecting game
`console 100 to DC power derived, for example, from an
`ordinary wall outlet. Of course, the power may be derived
`from one or more batteries.
`[0064] GPU 216 performs image processing b