CA1209700A - Video game with control of rate of movement of game objects - Google Patents
Video game with control of rate of movement of game objectsInfo
- Publication number
- CA1209700A CA1209700A CA000437848A CA437848A CA1209700A CA 1209700 A CA1209700 A CA 1209700A CA 000437848 A CA000437848 A CA 000437848A CA 437848 A CA437848 A CA 437848A CA 1209700 A CA1209700 A CA 1209700A
- Authority
- CA
- Canada
- Prior art keywords
- game
- video
- pulses
- register
- rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/24—Constructional details thereof, e.g. game controllers with detachable joystick handles
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0362—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 1D translations or rotations of an operating part of the device, e.g. scroll wheels, sliders, knobs, rollers or belts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/037—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor using the raster scan of a cathode-ray tube [CRT] for detecting the position of the member, e.g. light pens cooperating with CRT monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/42—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1006—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals having additional degrees of freedom
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1043—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
Abstract
ABSTRACT
A video game including a player operated means for controlling the velocity and direction of movement of a game object. The game player may generate a pulse train having a pulse repetition rate proportional to the desired velocity of the game object. A numerical value of the pulse rate as a function of a clock signal is established, and the numerical value is utilized to change the address of the game object in a video memory so that in successive frames of a video display the game object moves across the display screen.
A video game including a player operated means for controlling the velocity and direction of movement of a game object. The game player may generate a pulse train having a pulse repetition rate proportional to the desired velocity of the game object. A numerical value of the pulse rate as a function of a clock signal is established, and the numerical value is utilized to change the address of the game object in a video memory so that in successive frames of a video display the game object moves across the display screen.
Description
~2~
This invention relates to video games and more particularly relates to providing player csntrol or selection of the rate of movement of an object on the display screen.
Video games basically comprise a microprocessor utili7ed as a central processing unit (CPU), a video display control, a memory adapted to store a game program and a video memory for storing picture elements of a video display. The picture elements of a display are addressed and fetched Erom memory in accordance with the cathode ray tube (CRT) beam location.
In some cases t the system utilizes a full screen memory, that is, a discrete memory address is provided for every discrete display location of the displa~, either pixel position or line segment position. Such a system is disclosed in U~ S. Patent 4,301l503. ~n another type of system, a pointer indicative of a display location addresses and reads a picture element from a pattern library. Such a system i5 disclosed in U. S. Patent 4,243,984. A video display procesor (VDP), which together with a dynamic video random access memory (RAM) operates in this manner, is marketed by Texas Instruments as a 9928A video display processor.
To create object movement on the display, in systems using a ull screen memory, the addresses of the picture elements are changed periodically, usually during the time of vertical retrace. To create object movement in systems of the second type, the object location in the pointer is changed to a new display location, and the pointer addresses the object in a pattern library at the appropriate beam location.
This invention relates to video games and more particularly relates to providing player csntrol or selection of the rate of movement of an object on the display screen.
Video games basically comprise a microprocessor utili7ed as a central processing unit (CPU), a video display control, a memory adapted to store a game program and a video memory for storing picture elements of a video display. The picture elements of a display are addressed and fetched Erom memory in accordance with the cathode ray tube (CRT) beam location.
In some cases t the system utilizes a full screen memory, that is, a discrete memory address is provided for every discrete display location of the displa~, either pixel position or line segment position. Such a system is disclosed in U~ S. Patent 4,301l503. ~n another type of system, a pointer indicative of a display location addresses and reads a picture element from a pattern library. Such a system i5 disclosed in U. S. Patent 4,243,984. A video display procesor (VDP), which together with a dynamic video random access memory (RAM) operates in this manner, is marketed by Texas Instruments as a 9928A video display processor.
To create object movement on the display, in systems using a ull screen memory, the addresses of the picture elements are changed periodically, usually during the time of vertical retrace. To create object movement in systems of the second type, the object location in the pointer is changed to a new display location, and the pointer addresses the object in a pattern library at the appropriate beam location.
-2-In either case, the address of the object in the video RAM is changed by the CPU as it receives game player input as to movement of the object. Usually, a game player utilizes a joystick type instrument to control the direction of movement of the object. Such joystick may close switches indicative of coordinate directions of movement.
Periodically, the CPU is responsive to the closure condition of the joystick switches. On this particular basis, or some factor thereof, the CPU will rewrite the address of the object in the video RAM. As the address of the object is periodically changed, the object appears to move on the video display in succeeding displays.
In these systems, movement of the object on the screen is at a rate determined by the game program. The object will move a predetermined number of pixels per display frame. There is no known system where rate of movement of an object may be varibly selected or determined by a game player. In some video games, such as disclosed in U. S.
Patent 4,114,882, velocity of a moving object is increased as the game continues, at the option of the players, to increase the skill level required. However, the player has no direct control of the velocity of movement of an ob~ect~
Also, a video driving game known as TURBO allows some velocity control by positioning an automobile in the horizontal coordinate one pixel per pulse where pulses are generated in accordance with positional movement of a steering wheel, and the steering wheel may be turned at a variable rate~ ~owever, this differs from the present invention, where a binary number is generated by counting pulses as a Eunction of a periodic signal, and utili~ed to control the rate of movement of a videu object.
Periodically, the CPU is responsive to the closure condition of the joystick switches. On this particular basis, or some factor thereof, the CPU will rewrite the address of the object in the video RAM. As the address of the object is periodically changed, the object appears to move on the video display in succeeding displays.
In these systems, movement of the object on the screen is at a rate determined by the game program. The object will move a predetermined number of pixels per display frame. There is no known system where rate of movement of an object may be varibly selected or determined by a game player. In some video games, such as disclosed in U. S.
Patent 4,114,882, velocity of a moving object is increased as the game continues, at the option of the players, to increase the skill level required. However, the player has no direct control of the velocity of movement of an ob~ect~
Also, a video driving game known as TURBO allows some velocity control by positioning an automobile in the horizontal coordinate one pixel per pulse where pulses are generated in accordance with positional movement of a steering wheel, and the steering wheel may be turned at a variable rate~ ~owever, this differs from the present invention, where a binary number is generated by counting pulses as a Eunction of a periodic signal, and utili~ed to control the rate of movement of a videu object.
-3 The present invention provides a new dimension in video games in providing a game player with velocity and bi-directional control over an object to be moved on the video screen.
The invention is embodied in a video game comprising a microprocessor which is the central processing unit (CPU~ of the system, a video display processor (VDP) having a random access memory which stores video display picture elements in addresses initially derived from a game program stored in a cartridge read only memory (ROM), a system ROM which stores sub-routines and game player controllers which provide inputs ~o the CPU~ In accordance with the invention, the game controller(s) includes a means, preferably in the form of a rotatable member(s), which is manipulated by a game player(s) ~o provide a pulse rate signal indicative of the speed o~ rotation of the member and also the direction of rotation. The rate signal is converted to a numerical value as a function of time, and the direction of rotation is determined. Dependent upon the program or game rules of a particular video game, the numerical value may be used to control the velocity of a moving object, the angular orientation, or other parameters.
Generally, the numerical value representing the pulse rate is determined as a function of a periodic signal which may be a video refresh, VR, signal occurring at or a~ter each vertical retrace. The numerical value may be established as a number per VR signalsl or alternatively, the numerical value may be established as the number of VR
signals per pulse signal.
An object o~ this invention is to provide a new parameter under player control in a video game.
~%~
Another object of this invention is to provide a new and improved method and apparatus for a player of a video game to have variable velocity control over a game object.
A further object of this invention is to provide a new and improved apparatus and method for allowing the player of a video game to select velocity of a video display object in additon to direction control.
The features of the invention which are believed to be novel are particularly pointed out and distinctly claimed in the concluding portion o~ this specification. The invention, however, together with further objects and advantages thereof, may best be appreciated by reference to the following detailed description taken in conjunction with ~he drawings.
Figure 1 is a block diagram of a video game which embodies the invention;
Figure 2 is a block diagram of an attribute table entry in the video RAM of Figure 1 showing four bytes of memory;
~ igures 3 and 3a are front elevations of a mechanism, with parts removed, for generating electrical pulses at a rate proportional to rotation of an object;
Figure 4 is a side elevation of the device of Figure 3;
Figure 5 is a diagram, partly schematic and partly in block form, of a network used in conjunction with the device of Figure 3 and which establishes a number representative of velocity;
Figure 6 is a perspective view of another rotatable member which may be utilized in the invention;
Figure 7 is a front elevation of a magnet in the rotable member of Figure 6;
12C~
Figure 8 is a schematic plan view of the magnet of Figure 6 in relation to a pair of switching devices;
Figure 9 is a view of the desired wave forms developed when the magnet of Figure 7 is rotated clockwise;
Figure 10 is a schematic diagram of a circuit which will determine the rate of rotation of the magnet and the direction of rotation thereof;
Figure 11 is a view of another rotatable member which may be utilized in the invention;
Figure 12 is an enlarged view of a portion of Figure 10;
Figure 13 is a schematic diagram of a light sensing circuit used in conjunction with the device of Figures 11 and 12; and Figure 14 is a block diagram of a circuit for determining rate and directio~.
Figure 1 exemplifies in block form a system 10 for creating video displays in which the invention may be embodied. The system comprises a central processing unit (CPU) 11, which may be a Z-80a microprocessor ~ade by Zilog, Inc. of Campbell, California; a system random access memory ~RAM) 12; a system read only memory (ROM) 13; and an input device which may be a cartridge read only memory (ROM) 14.
The CPU 11 accesses all commands and game programs and supplies data over a data bus 15 to a video display processor 16 (VDP). VDP 16 has associated therewith a RAM
17 which is addressable by the CPU only ~hrough VDP 16. The system also comprises a sound generator 18, which provides an input to a modulator 19. The modulator 19 receives a scan signal from video processor 16. The modulator applies a composite video signal to a video display 20, which is a ~æo~oo cathode ray tube display, usually a home television set. A
player operated controller 21 supplies information to CPU
11, indicative of directional motion of an object to be displayed, and/or alpha-numeric keyboard information. The controller includes a direction control in the form of a joystick, as disclosed in co-pending application Serial No.
433,381 filed July 27, 1983. The controller may include a rate pulse generating circuit 22, which generates a pulse signal indicative of a player selected rate or the rate circuit may be a separate entity. This signal may be utilized independently or in conjunction with the player operated direction control. The CPU 11 will periodically update video RAM 17 when permitted to do so by the video processor 16.
Cartridge ROM 14 defines specific video images for a particular game, and the game rules. 5ystem ROM 13 contains video processing sub-routines and controller input sub-routines. The system RAM 12 contains temporary information peculiar to the particular games, such as scores, position variables, location of players, etc. CPU
periodically updates the image or elements of images in video RAM to be displayed in accordance with data from the controller and game program. The video processor 16 periodically permits the CPU to read from and write to the video RAM 17 upon occurrence of read (CSR) and write (CSW) si~nals. The CPU 11 addresses RAM 12, and ROM~s 13 and 14, via an address bus 23. CPU 11 reads from RAM 12, ROM's 13 and 14, and writes to RAM 12 via data bus 15.
At the end of every video frame display, video processor 19 provides a video rePresh signal VR to CPU 11.
~2~
This occurs about every one-sixtieth of a second. This may be utilized as a clock signal in the present invention.
Circuit 22 generates a rate signal as selected by the game player and supplies such rate signal to an interrupt terminal tINTl o CPU 11. When this occurs, CPU 11 will determine the rate, and establish a numerical representation thereof, and determine direction. Information is now stored which comprises a binary number indicative of rate and direction of movement of a game object of member 20. This information or any part thereof may then be utilized to update the video display in accordance with the game programO
The joystick of controller 21 is adapted to close one or two of four switches which are ninety degrees apart to define eight directions of movement. Responsive to switch closure, the CPU 11 changes the addresses of picture element patterns in video RAM a predetermined number of pixel positions per frame of display in accordance with the game program.
The video display processor is preferably a Texas Instruments Incorporated 9928A Video Display Processor, which is described in U.S. Patents 4,243,984 and 4,262,302, and a publication of Texas Instruments Incorporated, entitled "Preliminary TMS 9928A, TMS 992~A Video Display ~rocessors, Product Brief". In this system, movable o~jects are termed "Sprites" and are identified as shown in Figure 2 in a sprite attribute entry in a sprite attribute table 24 in video ~AM 20. The sprites are defined within a sprite pattern of eight bytes of eight pixels each, and are located on the screen in accordanc:e with the horizontal and vertical coordinates of their sprite attribute table entry.
~.æo~o Each sprite has an attribute table entry which gives vertical coordinate position, horizontal coordinate position, sprite name or number, and sprite color pattern.
The sprite name or number is a pointer to a sprite pattern in a sprite pattern generator table or library in video RAM
20. A similar sprite attribute entry is malntained in CPU
11 or RAM 12, as hereinafter described. When the display beam location coincides with~ or approaches vertical and horizontal attributes of a sprite, the name pointer is used to address the particular sprite in the sprite library for display. As shown, there are thirty-two sprites in the sprite attribute table. Usually, two or four are movable by game players.
A mechanism 26 for generating rate signals is shown in Figures 3 and 4. Mechanism 26 comprises a rotatable member or spinner 27 operable by a game player. A central shaft 2~
on spinner 27 is rotatably mounted to a support 29. Spinner 27 has a cam 30 thereon. A switch actuating member 31 has spaced apart legs 32 and 33 fixed to a surface 34, and a resilient bridging member 35 extending therebetween. An actuator or follower 36 extending upwardly from member 24 is arranged to be contacted by cam 29 and flex the arms 35a and 35b of resilient bridging member 34. A shaft 37 extends from a support 38 into passage 39 in an enlarged portion 40 of member 35. Spaced intermediate legs 32 and 33 are switch actuating legs 41a and 41b overlying switches 42a and 42b, respectively. The switches 42a and 42b may be of various types, strip metal, buttons, membrane, clicket, etc. As c shown, each switch comprises a deformable element Ak, adapted to contact a stationary element 43a or 43b. The shaft 37 divides member 35 into arms 35a and 35b, whileisolating downward deflection of one arm from the other.
g _ i~L2~7~
In operation, when spinner 27 is rotated counterclockwise by a game player, cam 30 will contact actuator 36 and cause it to bend arm 35a, as shown in Figure 3a. As arm 35a bends downwardly, arm 35b bends upwardly.
Actuating leg 41a will close the contact elements of switch 42a. As cam 30 clears actuator 36, arm 35a will spring back to its unstressed position of Figure 3. Arms 35a and 35b are actually deflectable springs. As spinner 27 rotates, it will cause one of arms 35a and 35b to close a switch 42a or 42b at a rate proportional to the rate of its rotation.
The mechanism of Figure 3 is preferably a two part (plus shaft 41 and support therefor) construction of molded resilient plastic. The arms 35a and 35b are chosen to be of a thickness which permits the desired resilience. The mechanism 26 is disclosed and claimed in co-pending application Serial No. 437~142, filed September 20, 1983.
The direction of rotation of spinner 27 as well as the rate of a switch closure may be determined by the rate circuit 22 oP Figure 4. Circuit 22 comprises the switches 42a and 42b adapted to connect points 43a and 43b, respectively, to ground upon closure. This will ground an inverting input of an OR gate 44 which is otherwise at a high voltage. The output of OR gate 44 is applied to a pulse shaper 45 and switch 42b is coupled to a pulse shaper 46. A suitable pulse shaper is hereinafter described.
If either of switches 42a or 42b is repetitively closed due to rotation of spinner 27, a low level signal is applied to gate 44. The output of gate 44 is shaped by pulse shaper 45 and applied as an interrupt signal INT to CP~ 11.
Simultaneously, the condition of switch 43b is monitored to determine whether it is low (closed) or high (open) to determine the direction of rotation.
If either of switches 42a and ~2h is being closed, atxain of pulses INT will appear at the output of pulse shaper 45. At the same time, a determination is made as to whether switch 43b is closing. If switch 43b is closing, such condition is sensed by a direction memory 47 which is placed in one state by su~h closures of switch 43b. If switch 43b is not closing, then direction memory 47 (which may be a flip-flop) is in the other state to signify the opposite direction of rotation.
The INT signal is applied to A~D gates 50 and 51.
These gates are enabled by a signal from directional memory 47 to either increment or decrement a bi-directional counter 52. Periodically, counter 52 has its content loaded into a velocity register 53 via gates 54 by means of a VR signal, and counter 52 is reset by the VR signal.
Upon occurrence of the VR signal, the content of the velocity register 53 is loaded into an adder 57 via gates 58 and algebraically summed with the vertical or horizontal attributes of a sprite in sprite attribute register 56 via buses 59, 59a, and 60. A scaler 61 is optional. The results of this algebraic addition are reloaded into the sprite attribute register 56. The new attributes define a new display location of the sprite as a function of the velocity of spinner ~7. I'he scaling network 61 may be provided to multiply or divide the count in velocity register 53 prior to adder 57, dependent on the game program.
In this manner the vertical and horiziontal attributes o a sprite under player control may be varied as a function of player controlled or selected velocity.
The player may use the joystick or controller 21 to determine whether the velocity signal may be usea in conjunction with a vertical or horizontal movement or both as indicated by direction control 62. Directional control 62 is responsive to the position of the joystick of controller 21 to select the vertical or horizontal attribute to which the contents of register 53 i5 algebraically added.
This arrangement is an option where more than one coordinate of movement is permitted in a game pr~gram. I~ this arrangement is utilized, direction memory 47 is not utilized.
This will enable a player to control the velocity of a pro~ectile game object in a chosen direction. Such pro~ectile may be a bullet, a rocket, a pitched baseball, a thrown football, etc.
Upon a CPU write to VDP cycle ~CSW) the content of register 56 is transferred to its corresponding sprite attribute entry (Figure 2) in the sprite attribute table in video RAM 20 through VDP 16 via bus 15.
The circuitry illustrated in Figure 4, other than the switches and pulse shapers, may be established in the CPU by the game program in the illustrated form or any other Eorm which performs the desired logic. The sprite attribute register 56 may be in the system RAM 12.
In the manner described, the vertical and/or horizontal address of a sprite is changed in the video RAM a number o pixels each VR occurrence dependent upon the rate at which the player rotates spinner 26. The observed velocity of the object will be dependent upon the number of pixel address changes each display frame.
~Z~97~D
If an INT signal is occurring but at a rate less than VR, the VR signal may be applied as input to counter 52 and the INT signal used as a reset and gating signal. Dependent upon the game program, this arrangement may be used to change the angular position of a game object, or to slow down a movement of an object from a game programmed rate.
An arrangement for detecting the VR signal as a function of the INT signal is hereinafter described.
- Other devices may be utilized to generate the rate signal INT. An assembly 70 as shown in Figure 6, comprises a housing member 71, preferably of molded plastic having a shaft 72 extending therethrough which rotatably rests in bearing blocks 73 and 74. A magnetizable member 75, as shown in Figure 7~ has a plurality of equiangularly defined magnetic poles thereon. The magnet 75 has a central bore 76 adapted to receive shaft 72 therethrough. The magnet may be made fast with respect to shaft 72 by an interference fit thereon and/or glued within housing 71 As exemplified in Figure 8, a pair of switches 78 and 79 are operatively positioned with respect to the magnet so as to be operated by the magnetic field due to any one of the poles. ~he switches are positioned so that the points of contact are on either side of plane coincident with the axis 80 of the magnet. Each magnetic pole may define an effective angular area of thirty degrees or less in which the magnetic pole is effective to close the switches 78 and 79. The switches are shown as reed switches, but any other type of magnetically actuable switche~, such as those operating on the Hall effect~ may be utilized.
``` ~2~3~710~
Figure 9 exemplifies the wave form developed by the closing of the switches 78 and 79 when the magnet is rotated clockwise as shown in Figure 6. One terminal of each of switches 78 and 79 will be grounded when the switches are closed on contacts 78a or 79a. Thus, when switch 7~ is closed, A will go to a low level, as will be the case upon the closing o switch 79 to develop the trailing (as shown) signal B. The logic of the system is to dete.rmine the rate of rotation of magnet 75 from one of wave forms A or B, and to determine the direction o rotation by sensing which wave form is leading the other.
Reference is now made to the circuit 82 of Figure 10.
When switch 78 closes, a wave form C is developed, which may have ragged leading and trailing edges due to switch bounce.
Signal C is applied to an RC circuit comprising resistance 83 and capacitance 84 to remove the bounce indication and provide a signal D. Signal D is applied to a NAND gate 85 which also receives as an input a signal from the collector 86 of a transistor 87. Transistor 87 is normally conducting and therefore furnishes a low input to NAND gate 85. When the signal D is applied to NA~D gate 85, there will be an output E from NAND gate 85 which is fed back thxough an RC
circuit comprising resistance 88 and capacitance 89 to turn NAND gate 85 off after a short time delay, which determines the width of wave form E. Wave form E is applied to a differentiating circuit comprislng capacitance 91 and resistance 92 to provide the wave form F, which is then inverted to pulse~ ~ by an inverter 93. The repetition rate of the pulse wave form G is indicative of the speed of rotation of the housing 71 and magnet 75 therein t and thus provides a speed or velocity rate signalO
~lZ~70(1 To determine the direction of rotation, pulse G isapplied to a NAND gate 94 together with a signal, or absence of signal, from switch 79. A signal from switch 79 is applied to a pulse stretching circuit~95 comprising resistance 96 and capacitance 97. If, upon occurrence of the first G pulse, the output of circuit 95 is low, gate 94 will go high. This will indicate that the B wave form of inverter 93 is low and therefore, wave form B leads wave form A. In the example set forth, this would indicate that magnet 75 was rotating counter clockwise. If switch 79 is not closed, the output o~ ~AND
gate 94 will be low, indicating that wave form A leads wave form B. The output of circuit 95 is also applied to NAND gate 94, together with the wave form G. If there is a coincidence of a low output from circuit 95 and wave form G, there will be an output from NAND gate 96 indicative of the fact tha~ wave form A leads wave form B and therefore, rotation of the magnet 75 is clockwise. This signal from gate 94 is stored in a direction memory 47. The binary state of the memory will indicate the direction of rotation of magnet 75.
The pulses of the G wave form are applied to a counter 99 to determine the number of pulses per unit time as herebefore explained. The counter 99 will transfer the number therein to a velocity register 100 upon occurrence of a clock signal VR.
The counter 99 will be reset.
A photo-electric technique of implementing the invention is disclosed in Figures 11-13.
A disk 104 is mounted to a rotatable shaft 105 by a key 106. Defined in a first annulus in disk 104 about shaft 105 i5 a first pattern of e~uiangularly spaced apertures or windows 107, and a second annulus of equiangularly spaced 7~
apertures or windows 108. The windows of each annulus are defined by radii from the center of shaft 105 and are angularly offset as between the inner annulus and the outer annulus. The windows of the,inner annulus have a side edge coinciding with the center of a window of the outer annulus.
Referring to Figures 12 and 13, a first photo-electric switching means in the form of a photo-transistor 109 responsive to a light emitter in the form of a light emitting diode (LED) 110, and a second photo-electric switching means in the form of photo-transistor 111 responsive to a light emitter in the form of LED 112, are positioned in a housing indicated in broken line 113. Housing 113 is positioned over disk 104 so that transistor 109 and LED 110 are aligned on either side of disk 100 over one pattern of windows.
Transistor 111 and LED 112 are radially aligned with transistor 109 and LED 100 over the other patterns of windows.
As shaft 105 with disk 104 thereon rotate, the transistors will sequentially conduct as the windows of patterns 107 and 108 expose each photo-transistor to its light emitter.
Figure 12 shows an enlarged view of windows 107a-107c and 108a-108c with transistors 109 and 111 positioned over the patterns 107 and 108. The transistors 109 and 111 are conductive with low collector voltage at points 114 and 115 when exposed to their respective LED's. When point 114 is low, inverter 116 has a high output and inverter 117 has a low output. This is equivalent to switch 78 (Figure 10) being closed. In fact, the anode of diode 118 is connected to the stationary terminal 78a of switch 78 of Figure 10, and the switch eliminated.
The collector 115 of transistor 111 is connected to an inverter 119 which is in turn connected to an inverter 120.
The cathode 121 of diode 122 is connected to the output of inverter 117. The anode 1231 of diode 122 is connected to terminal 79a of switch 79 (Figure 10)~ When transis~or 109 is conducting, the output of inverter llS is high and the output of inverter 117 is low. Current will flow from V through resistance 1~4 to ground through inverter 116, and terminal 78a will go low.
Assume that disk 104 is to be rotated clockwise as shown in Figure 11, and the transistors 109 and 111 are radially aligned along line 126. As transistor 109 is exposed to its LED 110 through window 107b, it will commence to conduct and there will be a pulse applied ko terminal 78a and there will be a low output from inverter 113 at this time. At this same time, transistor 111 will be exposed through window 108b to its LED 112 and there will be a low voltage at terminal 78a.
These conditions indicate a clockwise rotation of disk 104.
If the direction of rotation of disk 104 is to be counter-clockwise, when transistor 109 is first exposed to its LED 110 through window 107c, transistor 111 will be occluded from its LED 112 by wall 108d between windows 108b and 108a and the voltage output of inverter 120 will be high. These conditions signify a counter-clockwise rotation of disk 104.
Reference is now made to Figure 14, which discloses another technique of determining a velocity number and direction from the ~NT signal. To determine the rate of rotation of any of the rotatable members 71 or 104, INT
pulses are compared with a reference clock signal, which may be the VR signal. The VR signal is applied as a clock signal C to a first counter 130, and as a reset signal R to a second counter 131. The INT signal is applied as a reset signal to counter 130 and as a clock signal to counter 131.
In operation, the VR signal will clock counter 130 until the occurrence of an INT signal. The INT signal transfers the content of counter 130 through gates 132 to a storage register 133. After the parallel transfer, the INT
signal resets counter 130.
The INT signal will clock counter 131 until a V~ signal occurs, which transfers the content of counter 131 through gates 134 to a storage register 135. The contents of either register 133 or 135 may then be transferred to a data register. This is determined by a sample circuit 136.
Sample circuit 136 samples the contents of one of the registers 133 or 135 (both shown as being sampled). Assume register 135 is sampled circuit 136, and if it is zero, will apply a load signal to gates 137 to load the contents oE
register 133 into a data register 138. If the content of register 135 is not ~ero, then such content is loaded through gates 139 into data register 138.
Where the repetition rate of the INT pulses is less than that of VR, the number appearing in data register 138 will be inversely proportional to the speed of rotation of the rotatable member. Where the repetition rate of the INT
pulses is greater than that of ~R, the number appearing in register 138 will be directly proportional to the speed of rotation. Sample circuit 136 may sa~ple one of registers 133 or 135 at a rate less than that of the VR signa~. Such sampling signals S may be derived from any convenient timing signal in the system. As shown, the sample signal S is derived by division of the frequency of the V~ signal by a ~i~` counter ~3~. A memory ~ in the form of a flip-flop may ,. ~ ,~
store an indication o~ which of registers 133 or 135 contained a rate signal. The circuit of Figure 14 may be formed in the central processing unit of the video game by the game program or may be external thereto. The game program may determine which function VR/INT or INT/VR will be used.
The number stored in data register 138 will be updated periodically and acted upon by the central processing unit of the video game to update the video display dependent upon the game program.
The number in register 138 may be utilized as previously described to be algebraically added to a sprite position attrribute in adder 57. In this embodiment, the sign of the addition is determined from direction memory 47 As shown above, the invention may be implemented using various devices operable by a game player. It is only necessary to provide a device which the player may manipulate to generate rate pulses. A chosen direction may be determined from the rate control device or from the direction controller. The logic may be implemented in various manners, as well as those specifically disclosed.
It may thus be seen that the objects of the invention are efficiently attainad~ Since certain features of the invention may be changed, and other modifications may become apparent to one skilled in the art, it is intended that the appended claims cover all modifications and embodiments of the invention which do not depart from the spirit and scope thereof.
The invention is embodied in a video game comprising a microprocessor which is the central processing unit (CPU~ of the system, a video display processor (VDP) having a random access memory which stores video display picture elements in addresses initially derived from a game program stored in a cartridge read only memory (ROM), a system ROM which stores sub-routines and game player controllers which provide inputs ~o the CPU~ In accordance with the invention, the game controller(s) includes a means, preferably in the form of a rotatable member(s), which is manipulated by a game player(s) ~o provide a pulse rate signal indicative of the speed o~ rotation of the member and also the direction of rotation. The rate signal is converted to a numerical value as a function of time, and the direction of rotation is determined. Dependent upon the program or game rules of a particular video game, the numerical value may be used to control the velocity of a moving object, the angular orientation, or other parameters.
Generally, the numerical value representing the pulse rate is determined as a function of a periodic signal which may be a video refresh, VR, signal occurring at or a~ter each vertical retrace. The numerical value may be established as a number per VR signalsl or alternatively, the numerical value may be established as the number of VR
signals per pulse signal.
An object o~ this invention is to provide a new parameter under player control in a video game.
~%~
Another object of this invention is to provide a new and improved method and apparatus for a player of a video game to have variable velocity control over a game object.
A further object of this invention is to provide a new and improved apparatus and method for allowing the player of a video game to select velocity of a video display object in additon to direction control.
The features of the invention which are believed to be novel are particularly pointed out and distinctly claimed in the concluding portion o~ this specification. The invention, however, together with further objects and advantages thereof, may best be appreciated by reference to the following detailed description taken in conjunction with ~he drawings.
Figure 1 is a block diagram of a video game which embodies the invention;
Figure 2 is a block diagram of an attribute table entry in the video RAM of Figure 1 showing four bytes of memory;
~ igures 3 and 3a are front elevations of a mechanism, with parts removed, for generating electrical pulses at a rate proportional to rotation of an object;
Figure 4 is a side elevation of the device of Figure 3;
Figure 5 is a diagram, partly schematic and partly in block form, of a network used in conjunction with the device of Figure 3 and which establishes a number representative of velocity;
Figure 6 is a perspective view of another rotatable member which may be utilized in the invention;
Figure 7 is a front elevation of a magnet in the rotable member of Figure 6;
12C~
Figure 8 is a schematic plan view of the magnet of Figure 6 in relation to a pair of switching devices;
Figure 9 is a view of the desired wave forms developed when the magnet of Figure 7 is rotated clockwise;
Figure 10 is a schematic diagram of a circuit which will determine the rate of rotation of the magnet and the direction of rotation thereof;
Figure 11 is a view of another rotatable member which may be utilized in the invention;
Figure 12 is an enlarged view of a portion of Figure 10;
Figure 13 is a schematic diagram of a light sensing circuit used in conjunction with the device of Figures 11 and 12; and Figure 14 is a block diagram of a circuit for determining rate and directio~.
Figure 1 exemplifies in block form a system 10 for creating video displays in which the invention may be embodied. The system comprises a central processing unit (CPU) 11, which may be a Z-80a microprocessor ~ade by Zilog, Inc. of Campbell, California; a system random access memory ~RAM) 12; a system read only memory (ROM) 13; and an input device which may be a cartridge read only memory (ROM) 14.
The CPU 11 accesses all commands and game programs and supplies data over a data bus 15 to a video display processor 16 (VDP). VDP 16 has associated therewith a RAM
17 which is addressable by the CPU only ~hrough VDP 16. The system also comprises a sound generator 18, which provides an input to a modulator 19. The modulator 19 receives a scan signal from video processor 16. The modulator applies a composite video signal to a video display 20, which is a ~æo~oo cathode ray tube display, usually a home television set. A
player operated controller 21 supplies information to CPU
11, indicative of directional motion of an object to be displayed, and/or alpha-numeric keyboard information. The controller includes a direction control in the form of a joystick, as disclosed in co-pending application Serial No.
433,381 filed July 27, 1983. The controller may include a rate pulse generating circuit 22, which generates a pulse signal indicative of a player selected rate or the rate circuit may be a separate entity. This signal may be utilized independently or in conjunction with the player operated direction control. The CPU 11 will periodically update video RAM 17 when permitted to do so by the video processor 16.
Cartridge ROM 14 defines specific video images for a particular game, and the game rules. 5ystem ROM 13 contains video processing sub-routines and controller input sub-routines. The system RAM 12 contains temporary information peculiar to the particular games, such as scores, position variables, location of players, etc. CPU
periodically updates the image or elements of images in video RAM to be displayed in accordance with data from the controller and game program. The video processor 16 periodically permits the CPU to read from and write to the video RAM 17 upon occurrence of read (CSR) and write (CSW) si~nals. The CPU 11 addresses RAM 12, and ROM~s 13 and 14, via an address bus 23. CPU 11 reads from RAM 12, ROM's 13 and 14, and writes to RAM 12 via data bus 15.
At the end of every video frame display, video processor 19 provides a video rePresh signal VR to CPU 11.
~2~
This occurs about every one-sixtieth of a second. This may be utilized as a clock signal in the present invention.
Circuit 22 generates a rate signal as selected by the game player and supplies such rate signal to an interrupt terminal tINTl o CPU 11. When this occurs, CPU 11 will determine the rate, and establish a numerical representation thereof, and determine direction. Information is now stored which comprises a binary number indicative of rate and direction of movement of a game object of member 20. This information or any part thereof may then be utilized to update the video display in accordance with the game programO
The joystick of controller 21 is adapted to close one or two of four switches which are ninety degrees apart to define eight directions of movement. Responsive to switch closure, the CPU 11 changes the addresses of picture element patterns in video RAM a predetermined number of pixel positions per frame of display in accordance with the game program.
The video display processor is preferably a Texas Instruments Incorporated 9928A Video Display Processor, which is described in U.S. Patents 4,243,984 and 4,262,302, and a publication of Texas Instruments Incorporated, entitled "Preliminary TMS 9928A, TMS 992~A Video Display ~rocessors, Product Brief". In this system, movable o~jects are termed "Sprites" and are identified as shown in Figure 2 in a sprite attribute entry in a sprite attribute table 24 in video ~AM 20. The sprites are defined within a sprite pattern of eight bytes of eight pixels each, and are located on the screen in accordanc:e with the horizontal and vertical coordinates of their sprite attribute table entry.
~.æo~o Each sprite has an attribute table entry which gives vertical coordinate position, horizontal coordinate position, sprite name or number, and sprite color pattern.
The sprite name or number is a pointer to a sprite pattern in a sprite pattern generator table or library in video RAM
20. A similar sprite attribute entry is malntained in CPU
11 or RAM 12, as hereinafter described. When the display beam location coincides with~ or approaches vertical and horizontal attributes of a sprite, the name pointer is used to address the particular sprite in the sprite library for display. As shown, there are thirty-two sprites in the sprite attribute table. Usually, two or four are movable by game players.
A mechanism 26 for generating rate signals is shown in Figures 3 and 4. Mechanism 26 comprises a rotatable member or spinner 27 operable by a game player. A central shaft 2~
on spinner 27 is rotatably mounted to a support 29. Spinner 27 has a cam 30 thereon. A switch actuating member 31 has spaced apart legs 32 and 33 fixed to a surface 34, and a resilient bridging member 35 extending therebetween. An actuator or follower 36 extending upwardly from member 24 is arranged to be contacted by cam 29 and flex the arms 35a and 35b of resilient bridging member 34. A shaft 37 extends from a support 38 into passage 39 in an enlarged portion 40 of member 35. Spaced intermediate legs 32 and 33 are switch actuating legs 41a and 41b overlying switches 42a and 42b, respectively. The switches 42a and 42b may be of various types, strip metal, buttons, membrane, clicket, etc. As c shown, each switch comprises a deformable element Ak, adapted to contact a stationary element 43a or 43b. The shaft 37 divides member 35 into arms 35a and 35b, whileisolating downward deflection of one arm from the other.
g _ i~L2~7~
In operation, when spinner 27 is rotated counterclockwise by a game player, cam 30 will contact actuator 36 and cause it to bend arm 35a, as shown in Figure 3a. As arm 35a bends downwardly, arm 35b bends upwardly.
Actuating leg 41a will close the contact elements of switch 42a. As cam 30 clears actuator 36, arm 35a will spring back to its unstressed position of Figure 3. Arms 35a and 35b are actually deflectable springs. As spinner 27 rotates, it will cause one of arms 35a and 35b to close a switch 42a or 42b at a rate proportional to the rate of its rotation.
The mechanism of Figure 3 is preferably a two part (plus shaft 41 and support therefor) construction of molded resilient plastic. The arms 35a and 35b are chosen to be of a thickness which permits the desired resilience. The mechanism 26 is disclosed and claimed in co-pending application Serial No. 437~142, filed September 20, 1983.
The direction of rotation of spinner 27 as well as the rate of a switch closure may be determined by the rate circuit 22 oP Figure 4. Circuit 22 comprises the switches 42a and 42b adapted to connect points 43a and 43b, respectively, to ground upon closure. This will ground an inverting input of an OR gate 44 which is otherwise at a high voltage. The output of OR gate 44 is applied to a pulse shaper 45 and switch 42b is coupled to a pulse shaper 46. A suitable pulse shaper is hereinafter described.
If either of switches 42a or 42b is repetitively closed due to rotation of spinner 27, a low level signal is applied to gate 44. The output of gate 44 is shaped by pulse shaper 45 and applied as an interrupt signal INT to CP~ 11.
Simultaneously, the condition of switch 43b is monitored to determine whether it is low (closed) or high (open) to determine the direction of rotation.
If either of switches 42a and ~2h is being closed, atxain of pulses INT will appear at the output of pulse shaper 45. At the same time, a determination is made as to whether switch 43b is closing. If switch 43b is closing, such condition is sensed by a direction memory 47 which is placed in one state by su~h closures of switch 43b. If switch 43b is not closing, then direction memory 47 (which may be a flip-flop) is in the other state to signify the opposite direction of rotation.
The INT signal is applied to A~D gates 50 and 51.
These gates are enabled by a signal from directional memory 47 to either increment or decrement a bi-directional counter 52. Periodically, counter 52 has its content loaded into a velocity register 53 via gates 54 by means of a VR signal, and counter 52 is reset by the VR signal.
Upon occurrence of the VR signal, the content of the velocity register 53 is loaded into an adder 57 via gates 58 and algebraically summed with the vertical or horizontal attributes of a sprite in sprite attribute register 56 via buses 59, 59a, and 60. A scaler 61 is optional. The results of this algebraic addition are reloaded into the sprite attribute register 56. The new attributes define a new display location of the sprite as a function of the velocity of spinner ~7. I'he scaling network 61 may be provided to multiply or divide the count in velocity register 53 prior to adder 57, dependent on the game program.
In this manner the vertical and horiziontal attributes o a sprite under player control may be varied as a function of player controlled or selected velocity.
The player may use the joystick or controller 21 to determine whether the velocity signal may be usea in conjunction with a vertical or horizontal movement or both as indicated by direction control 62. Directional control 62 is responsive to the position of the joystick of controller 21 to select the vertical or horizontal attribute to which the contents of register 53 i5 algebraically added.
This arrangement is an option where more than one coordinate of movement is permitted in a game pr~gram. I~ this arrangement is utilized, direction memory 47 is not utilized.
This will enable a player to control the velocity of a pro~ectile game object in a chosen direction. Such pro~ectile may be a bullet, a rocket, a pitched baseball, a thrown football, etc.
Upon a CPU write to VDP cycle ~CSW) the content of register 56 is transferred to its corresponding sprite attribute entry (Figure 2) in the sprite attribute table in video RAM 20 through VDP 16 via bus 15.
The circuitry illustrated in Figure 4, other than the switches and pulse shapers, may be established in the CPU by the game program in the illustrated form or any other Eorm which performs the desired logic. The sprite attribute register 56 may be in the system RAM 12.
In the manner described, the vertical and/or horizontal address of a sprite is changed in the video RAM a number o pixels each VR occurrence dependent upon the rate at which the player rotates spinner 26. The observed velocity of the object will be dependent upon the number of pixel address changes each display frame.
~Z~97~D
If an INT signal is occurring but at a rate less than VR, the VR signal may be applied as input to counter 52 and the INT signal used as a reset and gating signal. Dependent upon the game program, this arrangement may be used to change the angular position of a game object, or to slow down a movement of an object from a game programmed rate.
An arrangement for detecting the VR signal as a function of the INT signal is hereinafter described.
- Other devices may be utilized to generate the rate signal INT. An assembly 70 as shown in Figure 6, comprises a housing member 71, preferably of molded plastic having a shaft 72 extending therethrough which rotatably rests in bearing blocks 73 and 74. A magnetizable member 75, as shown in Figure 7~ has a plurality of equiangularly defined magnetic poles thereon. The magnet 75 has a central bore 76 adapted to receive shaft 72 therethrough. The magnet may be made fast with respect to shaft 72 by an interference fit thereon and/or glued within housing 71 As exemplified in Figure 8, a pair of switches 78 and 79 are operatively positioned with respect to the magnet so as to be operated by the magnetic field due to any one of the poles. ~he switches are positioned so that the points of contact are on either side of plane coincident with the axis 80 of the magnet. Each magnetic pole may define an effective angular area of thirty degrees or less in which the magnetic pole is effective to close the switches 78 and 79. The switches are shown as reed switches, but any other type of magnetically actuable switche~, such as those operating on the Hall effect~ may be utilized.
``` ~2~3~710~
Figure 9 exemplifies the wave form developed by the closing of the switches 78 and 79 when the magnet is rotated clockwise as shown in Figure 6. One terminal of each of switches 78 and 79 will be grounded when the switches are closed on contacts 78a or 79a. Thus, when switch 7~ is closed, A will go to a low level, as will be the case upon the closing o switch 79 to develop the trailing (as shown) signal B. The logic of the system is to dete.rmine the rate of rotation of magnet 75 from one of wave forms A or B, and to determine the direction o rotation by sensing which wave form is leading the other.
Reference is now made to the circuit 82 of Figure 10.
When switch 78 closes, a wave form C is developed, which may have ragged leading and trailing edges due to switch bounce.
Signal C is applied to an RC circuit comprising resistance 83 and capacitance 84 to remove the bounce indication and provide a signal D. Signal D is applied to a NAND gate 85 which also receives as an input a signal from the collector 86 of a transistor 87. Transistor 87 is normally conducting and therefore furnishes a low input to NAND gate 85. When the signal D is applied to NA~D gate 85, there will be an output E from NAND gate 85 which is fed back thxough an RC
circuit comprising resistance 88 and capacitance 89 to turn NAND gate 85 off after a short time delay, which determines the width of wave form E. Wave form E is applied to a differentiating circuit comprislng capacitance 91 and resistance 92 to provide the wave form F, which is then inverted to pulse~ ~ by an inverter 93. The repetition rate of the pulse wave form G is indicative of the speed of rotation of the housing 71 and magnet 75 therein t and thus provides a speed or velocity rate signalO
~lZ~70(1 To determine the direction of rotation, pulse G isapplied to a NAND gate 94 together with a signal, or absence of signal, from switch 79. A signal from switch 79 is applied to a pulse stretching circuit~95 comprising resistance 96 and capacitance 97. If, upon occurrence of the first G pulse, the output of circuit 95 is low, gate 94 will go high. This will indicate that the B wave form of inverter 93 is low and therefore, wave form B leads wave form A. In the example set forth, this would indicate that magnet 75 was rotating counter clockwise. If switch 79 is not closed, the output o~ ~AND
gate 94 will be low, indicating that wave form A leads wave form B. The output of circuit 95 is also applied to NAND gate 94, together with the wave form G. If there is a coincidence of a low output from circuit 95 and wave form G, there will be an output from NAND gate 96 indicative of the fact tha~ wave form A leads wave form B and therefore, rotation of the magnet 75 is clockwise. This signal from gate 94 is stored in a direction memory 47. The binary state of the memory will indicate the direction of rotation of magnet 75.
The pulses of the G wave form are applied to a counter 99 to determine the number of pulses per unit time as herebefore explained. The counter 99 will transfer the number therein to a velocity register 100 upon occurrence of a clock signal VR.
The counter 99 will be reset.
A photo-electric technique of implementing the invention is disclosed in Figures 11-13.
A disk 104 is mounted to a rotatable shaft 105 by a key 106. Defined in a first annulus in disk 104 about shaft 105 i5 a first pattern of e~uiangularly spaced apertures or windows 107, and a second annulus of equiangularly spaced 7~
apertures or windows 108. The windows of each annulus are defined by radii from the center of shaft 105 and are angularly offset as between the inner annulus and the outer annulus. The windows of the,inner annulus have a side edge coinciding with the center of a window of the outer annulus.
Referring to Figures 12 and 13, a first photo-electric switching means in the form of a photo-transistor 109 responsive to a light emitter in the form of a light emitting diode (LED) 110, and a second photo-electric switching means in the form of photo-transistor 111 responsive to a light emitter in the form of LED 112, are positioned in a housing indicated in broken line 113. Housing 113 is positioned over disk 104 so that transistor 109 and LED 110 are aligned on either side of disk 100 over one pattern of windows.
Transistor 111 and LED 112 are radially aligned with transistor 109 and LED 100 over the other patterns of windows.
As shaft 105 with disk 104 thereon rotate, the transistors will sequentially conduct as the windows of patterns 107 and 108 expose each photo-transistor to its light emitter.
Figure 12 shows an enlarged view of windows 107a-107c and 108a-108c with transistors 109 and 111 positioned over the patterns 107 and 108. The transistors 109 and 111 are conductive with low collector voltage at points 114 and 115 when exposed to their respective LED's. When point 114 is low, inverter 116 has a high output and inverter 117 has a low output. This is equivalent to switch 78 (Figure 10) being closed. In fact, the anode of diode 118 is connected to the stationary terminal 78a of switch 78 of Figure 10, and the switch eliminated.
The collector 115 of transistor 111 is connected to an inverter 119 which is in turn connected to an inverter 120.
The cathode 121 of diode 122 is connected to the output of inverter 117. The anode 1231 of diode 122 is connected to terminal 79a of switch 79 (Figure 10)~ When transis~or 109 is conducting, the output of inverter llS is high and the output of inverter 117 is low. Current will flow from V through resistance 1~4 to ground through inverter 116, and terminal 78a will go low.
Assume that disk 104 is to be rotated clockwise as shown in Figure 11, and the transistors 109 and 111 are radially aligned along line 126. As transistor 109 is exposed to its LED 110 through window 107b, it will commence to conduct and there will be a pulse applied ko terminal 78a and there will be a low output from inverter 113 at this time. At this same time, transistor 111 will be exposed through window 108b to its LED 112 and there will be a low voltage at terminal 78a.
These conditions indicate a clockwise rotation of disk 104.
If the direction of rotation of disk 104 is to be counter-clockwise, when transistor 109 is first exposed to its LED 110 through window 107c, transistor 111 will be occluded from its LED 112 by wall 108d between windows 108b and 108a and the voltage output of inverter 120 will be high. These conditions signify a counter-clockwise rotation of disk 104.
Reference is now made to Figure 14, which discloses another technique of determining a velocity number and direction from the ~NT signal. To determine the rate of rotation of any of the rotatable members 71 or 104, INT
pulses are compared with a reference clock signal, which may be the VR signal. The VR signal is applied as a clock signal C to a first counter 130, and as a reset signal R to a second counter 131. The INT signal is applied as a reset signal to counter 130 and as a clock signal to counter 131.
In operation, the VR signal will clock counter 130 until the occurrence of an INT signal. The INT signal transfers the content of counter 130 through gates 132 to a storage register 133. After the parallel transfer, the INT
signal resets counter 130.
The INT signal will clock counter 131 until a V~ signal occurs, which transfers the content of counter 131 through gates 134 to a storage register 135. The contents of either register 133 or 135 may then be transferred to a data register. This is determined by a sample circuit 136.
Sample circuit 136 samples the contents of one of the registers 133 or 135 (both shown as being sampled). Assume register 135 is sampled circuit 136, and if it is zero, will apply a load signal to gates 137 to load the contents oE
register 133 into a data register 138. If the content of register 135 is not ~ero, then such content is loaded through gates 139 into data register 138.
Where the repetition rate of the INT pulses is less than that of VR, the number appearing in data register 138 will be inversely proportional to the speed of rotation of the rotatable member. Where the repetition rate of the INT
pulses is greater than that of ~R, the number appearing in register 138 will be directly proportional to the speed of rotation. Sample circuit 136 may sa~ple one of registers 133 or 135 at a rate less than that of the VR signa~. Such sampling signals S may be derived from any convenient timing signal in the system. As shown, the sample signal S is derived by division of the frequency of the V~ signal by a ~i~` counter ~3~. A memory ~ in the form of a flip-flop may ,. ~ ,~
store an indication o~ which of registers 133 or 135 contained a rate signal. The circuit of Figure 14 may be formed in the central processing unit of the video game by the game program or may be external thereto. The game program may determine which function VR/INT or INT/VR will be used.
The number stored in data register 138 will be updated periodically and acted upon by the central processing unit of the video game to update the video display dependent upon the game program.
The number in register 138 may be utilized as previously described to be algebraically added to a sprite position attrribute in adder 57. In this embodiment, the sign of the addition is determined from direction memory 47 As shown above, the invention may be implemented using various devices operable by a game player. It is only necessary to provide a device which the player may manipulate to generate rate pulses. A chosen direction may be determined from the rate control device or from the direction controller. The logic may be implemented in various manners, as well as those specifically disclosed.
It may thus be seen that the objects of the invention are efficiently attainad~ Since certain features of the invention may be changed, and other modifications may become apparent to one skilled in the art, it is intended that the appended claims cover all modifications and embodiments of the invention which do not depart from the spirit and scope thereof.
Claims (14)
The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A method of operating a video game to control the velocity of movement of a game object on a video display where a digital representation of at least one game object is stored in addressable locations in an addressable memory and read out from memory locations for display in accordance with the beam location on the video display, comprising the steps of generating rate pulses having a repetition rate proportional to the desired velocity of the game object, generating clock pulses, applying said rate pulses to a binary counter, transferring the number in said counter to a storage register upon occurrence of a clock pulse, and periodically changing the address of said object in said memory in accordance with the number in said register.
2. The method of claim 1 where said clock signal is a video refresh signal, and the address of said object in said memory is changed as a function of said video refresh signal.
3. The method of claim 1 where said step of generating pulses comprises providing a player rotatable member and generating pulses at a rate proportional to rate of rotation of said member.
4. The method of claim 3 further including the step of detecting the direction of rotation of said member and changing the address of said object in said memory as a function of the direction of rotation of said member and the number in said counter.
5. A method of operating a video game to control the velocity of movement of a game object on a video display where a digital representation of at least one game object is stored in a randomly addressable location in an addressable memory and read out from memory locations for display in accordance with the beam location on the video display, comprising the steps of generating rate pulses having a repetition rate proportional to the desired velocity of the object, generating clock pulses, applying said clock pulses to a counter, transferring the count in said counter upon the occurrence of a rate pulse to a storage register and resetting said counter, whereby the number in said register is inversely proportional to the velocity of the object, applying said rate pulses to a second counter, transferring the count in said second counter to a second storage register upon the occurrence of a clock pulse and resetting said second counter, whereby the number in said second register is directly proportional to the velocity of said object, and utilizing the number in one of said registers to change the address location of the object in said memory.
6. The method of claim 5, further including the step of sampling the number in at least one of said register and said second register, transferring the count in said sampled register to a third register if the count is not zero, and transferring the count in the other of said register and said second register to said third register if the sampled count is zero.
7. The method of claim 5, further including the step of indicating if the number transferred to said third register is from said first or said second register.
8. The method of claim 5 where said step of utilizing comprises adding the number in said third register to an address attribute of the address of said object in said memory.
9. In a video game comprising a video display, a video display memory having a plurality of addressable locations for storing indicia indicative of an object in a video display, said game providing a periodic pulse signal, means for periodically reading out objects from addresses in said video memory in a predetermined order to form successive video display frames, and a player controller coupled to said processor; said controller including player operable means for generating rate pulse at variable repetition rates, means for counting one of said rate pulses and said periodic pulses as a function of the other to establish a numerical value, said numerical value being indicative of a desired velocity of movement of an object to be displayed on said video display in succeeding display frames and means responsive to said numerical value to change the address of an object in said memory in accordance with the rate of the generated pulses.
10. The video game of claim 9 where said player operated means comprises a rotatable member, means responsive to rotation of said member for generating the pulses of the train at a rate proportional to the speed of rotation of said members, means for determining the direction of rotation of said member, said means for changing address further being effective to change the address in accordance with the direction of rotation of said member.
11. The video game of claim 10 wherein said means for counting is a bi-directional binary counter, having incrementing and decrementing inputs, and said pulses are applied to said inputs in accordance with the direction of rotation of said members.
12. In a video game comprising a video display, a video display memory having a plurality of addressable locations for storing indicia indicative of an object in a video display, each address location being defined by vertical and horizontal address attributes, said game providing a periodic pulse signal, means for periodically reading objects from addresses in said video memory and displaying the objects in a predetermined order to form video display frames; player operable means for selecting a desired direction of movement of an object and generating rate pulses at variable repetition rates, means for counting the number of rate pulses as a function of the periodic pulses to establish a numerical value, said numerical value being indicative of a desired velocity of movement of an object to be displayed on said video display in succeeding display frames, means for adding said numerical value to an address attribute of the object as a function of the desired direction of movement of the object to change the address of the object in said memory.
13. The game of claim 12 where said counter is a bi-directional counter having incrementing and decrementing inputs, said rate pulses being applied to one of said inputs for a first selected direction of movement and applied to the other of said inputs for another selected direction of movement.
14. The game of claims 9 or 12 where said means for generating pulses comprises a player rotatable member and the direction of rotation determines the direction of movement of the object.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/430,351 US4462594A (en) | 1982-09-29 | 1982-09-29 | Video game with control of rate of movement of game objects |
US430,351 | 1982-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1209700A true CA1209700A (en) | 1986-08-12 |
Family
ID=23707174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000437848A Expired CA1209700A (en) | 1982-09-29 | 1983-09-28 | Video game with control of rate of movement of game objects |
Country Status (8)
Country | Link |
---|---|
US (2) | US4462594A (en) |
JP (1) | JPS59131384A (en) |
AU (1) | AU1814983A (en) |
CA (1) | CA1209700A (en) |
DE (1) | DE3335350A1 (en) |
FR (1) | FR2533451A1 (en) |
GB (1) | GB2128857B (en) |
HK (1) | HK93786A (en) |
Families Citing this family (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4528636A (en) * | 1981-10-19 | 1985-07-09 | Intermark Industries, Inc. | Display memory with write inhibit signal for transparent foreground pixel codes |
US4462594A (en) * | 1982-09-29 | 1984-07-31 | Coleco, Industries, Inc. | Video game with control of rate of movement of game objects |
US4672541A (en) * | 1984-05-31 | 1987-06-09 | Coleco Industries, Inc. | Video game with interactive enlarged play action inserts |
JPS60256832A (en) * | 1984-06-02 | 1985-12-18 | Brother Ind Ltd | Coordinate input device |
JPS6188328A (en) * | 1984-09-19 | 1986-05-06 | Canon Inc | Picture display device |
JPS6294153A (en) * | 1985-10-18 | 1987-04-30 | 興和株式会社 | Laser beam coagulation apparatus |
JPH0668758B2 (en) * | 1986-01-07 | 1994-08-31 | 株式会社日立製作所 | Cursor control method and three-dimensional graphic display device |
US4812829A (en) * | 1986-05-17 | 1989-03-14 | Hitachi, Ltd. | Three-dimensional display device and method for pointing displayed three-dimensional image |
JPH0642716Y2 (en) * | 1986-07-18 | 1994-11-09 | 株式会社タイトー | Video game console operating device |
US4816622A (en) * | 1986-11-10 | 1989-03-28 | Creative Devices Research Limited | Joystick assemblies |
US4739128A (en) * | 1986-11-10 | 1988-04-19 | American Telephone And Telegraph Company, At&T Bell Laboratories | Thumb-controlled, hand-held joystick |
US4870389B1 (en) * | 1987-02-23 | 1997-06-17 | Ascii Corp | Joystick |
US4951038A (en) * | 1987-05-15 | 1990-08-21 | Hudson Soft Co., Ltd. | Apparatus for displaying a sprite on a screen |
DE3716892A1 (en) * | 1987-05-20 | 1988-12-01 | Fresenius Ag | DEVICE FOR ENTERING NUMERICAL OR ALPHANUMERIC DATA IN ONE DEVICE |
US4963858A (en) * | 1987-09-08 | 1990-10-16 | Chien Fong K | Changeable input ratio mouse |
NL8800450A (en) * | 1988-02-23 | 1989-09-18 | Philips Nv | WORKSTATION WITH CONTINUOUSLY VARIABLE SENSITIVITY ADJUSTMENT OF THE POSITION CONTROL. |
US4863118A (en) * | 1988-09-30 | 1989-09-05 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Passive venting technique for shallow cavities |
US4976435A (en) * | 1988-10-17 | 1990-12-11 | Will Shatford | Video game control adapter |
US5012231A (en) * | 1988-12-20 | 1991-04-30 | Golemics, Inc. | Method and apparatus for cursor motion having variable response |
US5026058A (en) * | 1989-03-29 | 1991-06-25 | Eric Bromley | Electronic baseball game apparatus |
JPH02259819A (en) * | 1989-03-31 | 1990-10-22 | Supitaru Sangyo Kk | Input device for computer |
US5357265A (en) * | 1989-04-17 | 1994-10-18 | Quantel Limited | Electronic graphic system |
AU5844590A (en) * | 1989-06-02 | 1991-01-07 | Atari Corporation | System and method for sprite control block structure |
GB2239810B (en) * | 1990-01-10 | 1994-06-22 | Leung Yiu Choi | Computer game control apparatus |
GB2244546A (en) * | 1990-05-10 | 1991-12-04 | Primax Electronics Ltd | Computer input device |
US5175534A (en) * | 1990-05-30 | 1992-12-29 | Thatcher Eric A | Computer input device using the movements of a user's fingers |
JPH0442029U (en) * | 1990-08-09 | 1992-04-09 | ||
US5714983A (en) * | 1991-02-20 | 1998-02-03 | Sacks; Robert | Interactive computer system with controllable rate repetition of computer actions in response to operator inputs |
US5225831A (en) * | 1991-06-04 | 1993-07-06 | Osborn Jeffrey S | Joystick and control circuit therefor |
USD378302S (en) * | 1991-10-15 | 1997-03-04 | Michael Kin-Man Tse | Joystick |
US6347997B1 (en) | 1997-10-01 | 2002-02-19 | Brad A. Armstrong | Analog controls housed with electronic displays |
US6222525B1 (en) | 1992-03-05 | 2001-04-24 | Brad A. Armstrong | Image controllers with sheet connected sensors |
US6906700B1 (en) | 1992-03-05 | 2005-06-14 | Anascape | 3D controller with vibration |
US6208271B1 (en) | 1998-09-04 | 2001-03-27 | Brad A. Armstrong | Remote controller with analog button(s) |
US6344791B1 (en) | 1998-07-24 | 2002-02-05 | Brad A. Armstrong | Variable sensor with tactile feedback |
DE4209915A1 (en) * | 1992-03-27 | 1993-09-30 | Krueger Industrietechnik | Joystick input device for computers - has optical prism at lower end within housing with electrical devices for transmission and reception of signals |
US5818800A (en) * | 1992-04-06 | 1998-10-06 | Barker; Bruce J. | Voice recording device having portable and local modes of operation |
US5398220A (en) * | 1992-04-06 | 1995-03-14 | Barker; Bruce J. | Portable dictation recording device having a mechanism for transmitting recorded dictation to a remote device |
US5313229A (en) * | 1993-02-05 | 1994-05-17 | Gilligan Federico G | Mouse and method for concurrent cursor position and scrolling control |
US5435554A (en) * | 1993-03-08 | 1995-07-25 | Atari Games Corporation | Baseball simulation system |
CA2157910A1 (en) * | 1993-03-10 | 1994-09-15 | Bruce Barker | Data entry device |
JPH06276588A (en) * | 1993-03-17 | 1994-09-30 | Sony Corp | Input device |
US5563628A (en) * | 1993-10-12 | 1996-10-08 | Stroop; Jeffrey A. | Hand held computer cursor controller and command input device |
JPH08103567A (en) * | 1994-05-31 | 1996-04-23 | Namco Ltd | Controller of domestic game machine |
JP3365556B2 (en) * | 1994-06-20 | 2003-01-14 | 株式会社セガ | Object direction control method and direction control apparatus therefor |
US5624117A (en) * | 1994-07-28 | 1997-04-29 | Sugiyama Electron Co., Ltd. | Game machine controller |
US5531443A (en) * | 1994-09-13 | 1996-07-02 | Cruz; Jose L. | Keypad controller for use with a video game |
US5963196A (en) * | 1995-05-10 | 1999-10-05 | Nintendo Co., Ltd. | Image processing system utilizing analog joystick |
US6241611B1 (en) | 1995-05-10 | 2001-06-05 | Nintendo Co., Ltd. | Function expansion device and operating device using the function expansion device |
DE69625523T2 (en) | 1995-05-10 | 2003-07-10 | Nintendo Co Ltd | Control unit with analog joystick |
AU766561B2 (en) * | 1995-05-10 | 2003-10-16 | Nintendo Co., Ltd. | Operating device with analog joystick |
US5632680A (en) * | 1995-08-09 | 1997-05-27 | Quickshot Patent (Bvi) Ltd. | Method and apparatus for controlling a computer game |
JPH0969024A (en) * | 1995-08-30 | 1997-03-11 | Sony Computer Entertainment:Kk | Video game machine and game operation device |
US5670988A (en) * | 1995-09-05 | 1997-09-23 | Interlink Electronics, Inc. | Trigger operated electronic device |
JP3524247B2 (en) | 1995-10-09 | 2004-05-10 | 任天堂株式会社 | Game machine and game machine system using the same |
US6283857B1 (en) | 1996-09-24 | 2001-09-04 | Nintendo Co., Ltd. | Three-dimensional image processing apparatus with enhanced automatic and user point of view control |
EP0797139B1 (en) | 1995-10-09 | 2003-06-18 | Nintendo Co., Limited | Three-dimensional image processing system |
JPH09167050A (en) * | 1995-10-09 | 1997-06-24 | Nintendo Co Ltd | Operation device and image processing system using the device |
US6007428A (en) | 1995-10-09 | 1999-12-28 | Nintendo Co., Ltd. | Operation controlling device and video processing system used therewith |
JP3544268B2 (en) | 1995-10-09 | 2004-07-21 | 任天堂株式会社 | Three-dimensional image processing apparatus and image processing method using the same |
GB2313432B (en) | 1995-11-10 | 2000-06-21 | Nintendo Co Ltd | Joystick device |
US6139433A (en) * | 1995-11-22 | 2000-10-31 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control due to environmental conditions |
US6071191A (en) * | 1995-11-22 | 2000-06-06 | Nintendo Co., Ltd. | Systems and methods for providing security in a video game system |
US6267673B1 (en) | 1996-09-20 | 2001-07-31 | Nintendo Co., Ltd. | Video game system with state of next world dependent upon manner of entry from previous world via a portal |
US6190257B1 (en) | 1995-11-22 | 2001-02-20 | Nintendo Co., Ltd. | Systems and method for providing security in a video game system |
US6022274A (en) | 1995-11-22 | 2000-02-08 | Nintendo Co., Ltd. | Video game system using memory module |
US6155926A (en) | 1995-11-22 | 2000-12-05 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control |
US6115029A (en) * | 1996-01-02 | 2000-09-05 | International Business Machines Corporation | Graphical pointing device and method for controlling a graphical pointer within a data processing system |
GB2309507A (en) * | 1996-01-24 | 1997-07-30 | Goldmen Electronic Company Lim | Spherical cursor positioning device rotatable about a single axis. |
US5824933A (en) * | 1996-01-26 | 1998-10-20 | Interactive Music Corp. | Method and apparatus for synchronizing and simultaneously playing predefined musical sequences using visual display and input device such as joystick or keyboard |
EP0835676B1 (en) * | 1996-03-05 | 2004-10-13 | Sega Enterprises, Ltd. | Controller and extension unit for controller |
US6009458A (en) * | 1996-05-09 | 1999-12-28 | 3Do Company | Networked computer game system with persistent playing objects |
US6270413B1 (en) * | 1996-07-03 | 2001-08-07 | Sega Enterprises, Ltd. | Display method for games displays |
US8674932B2 (en) | 1996-07-05 | 2014-03-18 | Anascape, Ltd. | Image controller |
US6351205B1 (en) | 1996-07-05 | 2002-02-26 | Brad A. Armstrong | Variable-conductance sensor |
US6241610B1 (en) | 1996-09-20 | 2001-06-05 | Nintendo Co., Ltd. | Three-dimensional image processing system having dynamically changing character polygon number |
US6139434A (en) * | 1996-09-24 | 2000-10-31 | Nintendo Co., Ltd. | Three-dimensional image processing apparatus with enhanced automatic and user point of view control |
US6244959B1 (en) | 1996-09-24 | 2001-06-12 | Nintendo Co., Ltd. | Three-dimensional image processing system with enhanced character control |
US6280323B1 (en) * | 1996-11-21 | 2001-08-28 | Konami Co., Ltd. | Device, method and storage medium for displaying penalty kick match cursors in a video soccer game |
JP3709509B2 (en) * | 1996-12-04 | 2005-10-26 | 株式会社セガ | Game device |
US5796354A (en) * | 1997-02-07 | 1998-08-18 | Reality Quest Corp. | Hand-attachable controller with direction sensing |
US5764164A (en) * | 1997-02-07 | 1998-06-09 | Reality Quest Corp. | Ergonomic hand-attachable controller |
TW356730U (en) * | 1997-06-14 | 1999-04-21 | Top Game & Company Ltd | Operation apparatus for game machine |
US6078312A (en) * | 1997-07-09 | 2000-06-20 | Gateway 2000, Inc. | Pointing device with absolute and relative positioning capability |
JP3655438B2 (en) | 1997-07-17 | 2005-06-02 | 任天堂株式会社 | Video game system |
US20010043191A1 (en) * | 1997-07-31 | 2001-11-22 | Todd D. Lindsey | Audio and video controls on a pointing device for a computer |
US5874906A (en) * | 1997-09-22 | 1999-02-23 | Wilnel, Inc. | Data entry system |
US6456778B2 (en) | 1997-10-01 | 2002-09-24 | Brad A. Armstrong | Analog controls housed with electronic displays for video recorders and cameras |
US6415707B1 (en) | 1997-10-01 | 2002-07-09 | Brad A. Armstrong | Analog controls housed with electronic displays for coffee makers |
US6532000B2 (en) | 1997-10-01 | 2003-03-11 | Brad A. Armstrong | Analog controls housed with electronic displays for global positioning systems |
US6404584B2 (en) | 1997-10-01 | 2002-06-11 | Brad A. Armstrong | Analog controls housed with electronic displays for voice recorders |
US6591250B1 (en) | 1998-02-23 | 2003-07-08 | Genetic Anomalies, Inc. | System and method for managing virtual property |
US6106398A (en) * | 1998-02-26 | 2000-08-22 | Davis; Ivis Howard | Control apparatus |
US6512511B2 (en) | 1998-07-20 | 2003-01-28 | Alphagrip, Inc. | Hand grippable combined keyboard and game controller system |
US6563503B1 (en) | 1999-05-07 | 2003-05-13 | Nintendo Co., Ltd. | Object modeling for computer simulation and animation |
JP2001314645A (en) * | 2000-05-02 | 2001-11-13 | Konami Co Ltd | Character control method, video game apparatus and recording medium |
WO2002017054A1 (en) | 2000-08-23 | 2002-02-28 | Nintendo Co., Ltd. | Information processor, information storage medium, program, and operating device for game machine |
US20030171146A1 (en) * | 2001-05-15 | 2003-09-11 | Umrao Mayer | Quick passing feature for sports video games |
US6743100B1 (en) * | 2001-10-03 | 2004-06-01 | Gabe Neiser | Game controller |
JP2003325972A (en) | 2002-05-17 | 2003-11-18 | Nintendo Co Ltd | Game device changing sound and image in association with tilt operation, and game program therefor |
JP4408862B2 (en) * | 2003-01-20 | 2010-02-03 | 旭化成エレクトロニクス株式会社 | pointing device |
US8012003B2 (en) * | 2003-04-10 | 2011-09-06 | Nintendo Co., Ltd. | Baseball videogame having pitching meter, hero mode and user customization features |
DE102004001116A1 (en) * | 2004-01-07 | 2005-07-28 | Robert Bosch Gmbh | A method for improving the animation of the cursor or list movement of particular the comfort functions of a motor vehicle associated menus |
US20060066565A1 (en) * | 2004-09-28 | 2006-03-30 | Kevin Manley | Controller apparatus |
US20060281553A1 (en) * | 2005-05-19 | 2006-12-14 | Digital Chocolate, Inc. | Creation of game elements using location information |
WO2010147438A2 (en) * | 2009-06-19 | 2010-12-23 | Choi Yoo Sun | Easy key-type hand wearable game control device, game system using the same, and gaming method thereof |
KR101143587B1 (en) * | 2009-06-19 | 2012-05-09 | 최유선 | Game controller |
US8754853B2 (en) * | 2010-09-29 | 2014-06-17 | The United States Of America As Represented By The Secretary Of The Navy | Hand-interface for weapon station |
US8961184B1 (en) * | 2010-12-10 | 2015-02-24 | Kid Knowledge, Inc | Mathematics teaching apparatus with visual tactile and auditory stimuli |
US8641525B2 (en) * | 2011-06-17 | 2014-02-04 | Ironburg Inventions Ltd. | Controller for video game console |
US20150143252A1 (en) * | 2013-11-21 | 2015-05-21 | Studio 9 Labs, Inc. | Apparatuses, Methods, And Computer Program Products For An Interactive Experience |
US9898091B2 (en) | 2015-06-03 | 2018-02-20 | Oculus Vr, Llc | Virtual reality system with head-mounted display, camera and hand-held controllers |
US10463979B2 (en) | 2015-06-09 | 2019-11-05 | Collective Minds Gaming Co. Ltd. | Adapter for attachment to a game controller |
CA162784S (en) | 2015-06-09 | 2016-11-02 | Collective Minds Gaming Co Ltd | Adapter for video game controller |
USD772986S1 (en) | 2015-06-11 | 2016-11-29 | Oculus Vr, Llc | Wireless game controller |
US9833700B2 (en) * | 2015-06-11 | 2017-12-05 | Oculus Vr, Llc | Connectable hand-held controllers for virtual-reality systems |
US9839840B2 (en) * | 2015-11-05 | 2017-12-12 | Oculus Vr, Llc | Interconnectable handheld controllers |
US10007339B2 (en) * | 2015-11-05 | 2018-06-26 | Oculus Vr, Llc | Controllers with asymmetric tracking patterns |
US9990045B2 (en) | 2015-11-12 | 2018-06-05 | Oculus Vr, Llc | Method and apparatus for detecting hand gestures with a handheld controller |
US10130875B2 (en) | 2015-11-12 | 2018-11-20 | Oculus Vr, Llc | Handheld controller with finger grip detection |
US9804693B2 (en) * | 2015-12-18 | 2017-10-31 | Oculus Vr, Llc | Handheld controller with activation sensors |
US9977494B2 (en) | 2015-12-30 | 2018-05-22 | Oculus Vr, Llc | Tracking constellation assembly for use in a virtual reality system |
US10441880B2 (en) | 2015-12-30 | 2019-10-15 | Facebook Technologies, Llc | Handheld controller with spring-biased third finger button assembly |
US10343059B2 (en) | 2015-12-30 | 2019-07-09 | Facebook Technologies, Llc | Handheld controller with thumbstick guard |
US10386922B2 (en) | 2015-12-30 | 2019-08-20 | Facebook Technologies, Llc | Handheld controller with trigger button and sensor retainer assembly |
US11857869B2 (en) | 2015-12-31 | 2024-01-02 | Meta Platforms Technologies, Llc | Handheld controller with hand detection sensors |
JP2017228031A (en) | 2016-06-21 | 2017-12-28 | 株式会社ホリ | Game machine controller |
USD835104S1 (en) | 2016-09-27 | 2018-12-04 | Oculus Vr, Llc | Wireless game controller |
US10521947B2 (en) * | 2017-09-29 | 2019-12-31 | Sony Interactive Entertainment Inc. | Rendering of virtual hand pose based on detected hand input |
US11114267B2 (en) * | 2018-10-05 | 2021-09-07 | Measurement Systems, Inc. | Single hand controller |
USD934343S1 (en) | 2019-01-15 | 2021-10-26 | Collective Minds Gaming Co. Ltd. | Video game controller accessory |
USD983200S1 (en) | 2021-02-08 | 2023-04-11 | Collective Minds Gaming Co. Ltd. | Stop for a trigger button of a video game controller |
CA201150S (en) | 2021-02-08 | 2022-10-19 | Collective Minds Gaming Co Ltd | Adapter for a video game controller |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3778058A (en) * | 1969-05-27 | 1973-12-11 | W Rausch | Method of employing a television receiver for active participation |
BE792608A (en) * | 1972-01-07 | 1973-06-12 | Shell Int Research | PROCEDURE FOR PREPARING ZEOLITE L-BASED CATALYSTS FOR CONVERTING HYDROCARBONS |
JPS5522108B2 (en) * | 1972-08-11 | 1980-06-14 | ||
US4026555A (en) * | 1975-03-12 | 1977-05-31 | Alpex Computer Corporation | Television display control apparatus |
US4114882A (en) * | 1976-10-29 | 1978-09-19 | Robert Ralph Runte | Variable velocity control for playing images for a manually controlled electronic video display game |
JPS5371135A (en) * | 1976-12-04 | 1978-06-24 | Yoshizaki Kozo | Strippable adhesive structure |
DE2703025C3 (en) * | 1977-01-26 | 1981-04-02 | Reiner Dr.-Ing. 5270 Gummersbach Foerst | Driving simulator |
US4148014A (en) * | 1977-04-06 | 1979-04-03 | Texas Instruments Incorporated | System with joystick to control velocity vector of a display cursor |
GB2000946B (en) * | 1977-07-05 | 1982-01-20 | Atari Inc | Apparatus for generating a plurality of moving objects on a video display screen |
US4301503A (en) * | 1977-07-05 | 1981-11-17 | Bally Manufacturing Corporation | Home computer and game apparatus |
US4148485A (en) * | 1977-09-19 | 1979-04-10 | Atari, Inc. | Driving games method for automatically controlled cars |
US4324401A (en) * | 1979-01-15 | 1982-04-13 | Atari, Inc. | Method and system for generating moving objects on a video display screen |
US4243984A (en) * | 1979-03-08 | 1981-01-06 | Texas Instruments Incorporated | Video display processor |
US4262302A (en) * | 1979-03-05 | 1981-04-14 | Texas Instruments Incorporated | Video display processor having an integral composite video generator |
JPS5685378A (en) * | 1979-12-17 | 1981-07-11 | Yokoyama Akitaka | Game device for bicycle |
US4422639A (en) * | 1980-11-10 | 1983-12-27 | Mattel, Inc. | Electronic football game |
JPH0632704B2 (en) * | 1982-07-02 | 1994-05-02 | カシオ計算機株式会社 | Display controller |
US4462594A (en) * | 1982-09-29 | 1984-07-31 | Coleco, Industries, Inc. | Video game with control of rate of movement of game objects |
-
1982
- 1982-09-29 US US06/430,351 patent/US4462594A/en not_active Expired - Fee Related
-
1983
- 1983-08-19 AU AU18149/83A patent/AU1814983A/en not_active Abandoned
- 1983-09-19 GB GB08324980A patent/GB2128857B/en not_active Expired
- 1983-09-28 CA CA000437848A patent/CA1209700A/en not_active Expired
- 1983-09-28 JP JP58178404A patent/JPS59131384A/en active Pending
- 1983-09-29 DE DE19833335350 patent/DE3335350A1/en active Granted
- 1983-09-29 FR FR8315512A patent/FR2533451A1/fr not_active Withdrawn
-
1984
- 1984-02-13 US US06/579,709 patent/US4552360A/en not_active Expired - Fee Related
-
1986
- 1986-12-04 HK HK937/86A patent/HK93786A/en unknown
Also Published As
Publication number | Publication date |
---|---|
AU1814983A (en) | 1984-04-05 |
US4462594A (en) | 1984-07-31 |
DE3335350C2 (en) | 1988-11-10 |
GB2128857B (en) | 1986-02-12 |
HK93786A (en) | 1986-12-12 |
GB8324980D0 (en) | 1983-10-19 |
FR2533451A1 (en) | 1984-03-30 |
GB2128857A (en) | 1984-05-02 |
JPS59131384A (en) | 1984-07-28 |
DE3335350A1 (en) | 1984-04-05 |
US4552360A (en) | 1985-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1209700A (en) | Video game with control of rate of movement of game objects | |
EP1141850B1 (en) | A system and method for maintaining synchronization between emulation time and real time | |
CA1236217A (en) | Video game with interactive screen inserts and method of playing video game | |
CA1082351A (en) | Television display control apparatus | |
US5112051A (en) | Interfacing device for a computer games system | |
US6139434A (en) | Three-dimensional image processing apparatus with enhanced automatic and user point of view control | |
US4148014A (en) | System with joystick to control velocity vector of a display cursor | |
US4148485A (en) | Driving games method for automatically controlled cars | |
Bouvier et al. | Getting Started with the Java 3D™ API | |
CN109976650B (en) | Man-machine interaction method and device and electronic equipment | |
USRE35520E (en) | Interfacing device for a computer games system | |
US4958147A (en) | Graphic display processing system and displayed pattern picking method used in the same | |
Uchiki et al. | Collision detection in motion simulation | |
US4944679A (en) | Generic radar display | |
US5202671A (en) | Pick function implementation in a parallel processing system | |
CA1320283C (en) | Two-dimensional emulation of three-dimensional trackball | |
US5621431A (en) | Animation system having variable video display rate | |
CA1232685A (en) | Video game with control of movement and rate of movement of a plurality of game objects | |
US7038660B2 (en) | Wheel motion control input device for animation system | |
JP3473079B2 (en) | Image display position determining method and apparatus | |
CN116139467A (en) | Virtual rocker display control method, device, equipment and storage medium | |
Bräunl | The EyeSim Mobile Robot Simulator | |
CA1194337A (en) | Apparatus for generating rate signals | |
JPH05120394A (en) | Device and method for operation simulation | |
CA2021665C (en) | Pick function implementation in a parallel processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |