Patentable/Patents/US-20260263912-A1
US-20260263912-A1

Virtual Pinball Control

PublishedSeptember 10, 2026
Assigneenot available in USPTO data we have
Technical Abstract

According to one aspect, virtual pinball plunger control may include detecting sensor data indicative of a position of a plunger of a pinball shooter assembly over a time frame. The pinball shooter assembly may include the plunger and one or more springs. One or more of the springs may be configured to bias the plunger toward a resting position. The plunger may be configured to slide between the resting position and a pull-back position when biased away from the resting position. The virtual pinball plunger control may include determining when the plunger has been released from the pull-back position and biased by one or more of the springs toward the resting position based on the sensor data. The virtual pinball plunger control may include initiating a virtual pinball ball shooter based on only a subset of the sensor data.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

a pinball shooter assembly including a plunger and one or more springs, wherein one or more of the springs is configured to bias the plunger toward a resting position, and wherein the plunger is configured to slide between the resting position and a pull-back position when biased away from the resting position; a sensor detecting sensor data indicative of a position of the plunger over a time frame; a memory storing one or more instructions; and determining when the plunger has been released from the pull-back position and biased by one or more of the springs toward the resting position based on the sensor data; and initiating a virtual pinball ball shooter based on only a subset of the sensor data. a processor executing one or more of the instructions stored on the memory to perform: . A system for virtual pinball plunger control, comprising:

2

claim 1 . The system for virtual pinball plunger control of, wherein the processor determines the subset of the sensor data to be sensor data that only includes movement of the plunger from the pull-back position toward the resting position.

3

claim 1 . The system for virtual pinball plunger control of, wherein the processor initiates virtual pinball ball shooter a predetermined delay time after the determination that the plunger has been released.

4

claim 3 . The system for virtual pinball plunger control of, wherein the predetermined delay time is between 100 milliseconds to 500 milliseconds.

5

claim 3 . The system for virtual pinball plunger control of, wherein the predetermined delay time is determined based on a spring constant of one or more of the springs.

6

claim 1 . The system for virtual pinball plunger control of, wherein the processor initiates the virtual pinball ball shooter based on the determination that the plunger has been released.

7

claim 6 a microcontroller transmitting a button push signal to the processor based on the determination that the plunger has been released; and wherein the processor initiates the virtual pinball ball shooter based on the button push signal. . The system for virtual pinball plunger control of, comprising:

8

claim 6 a button; and a microcontroller transmitting a button push signal to the processor based on detecting that the button is pressed, wherein the processor initiates the virtual pinball ball shooter based on the button push signal. . The system for virtual pinball plunger control of, comprising:

9

claim 1 . The system for virtual pinball plunger control of, comprising an output device, wherein the processor renders a virtual pinball interface on the output device based on the initiation of the virtual pinball ball shooter.

10

claim 9 . The system for virtual pinball plunger control of, wherein the output device includes a display and a speaker.

11

detecting, via a sensor, sensor data indicative of a position of a control device of a controller over a time frame, wherein the controller includes the control device and one or more springs, wherein one or more of the springs is configured to bias the control device toward a resting position, and wherein the control device is configured to move between the resting position and a pull-back position when biased away from the resting position; determining, via a processor, when the control device has been released from the pull-back position and biased by one or more of the springs toward the resting position based on the sensor data; and initiating, via the processor, a virtual pinball ball shooter based on only a subset of the sensor data. . A computer-implemented method for virtual pinball plunger control, comprising:

12

claim 11 . The computer-implemented method for virtual pinball plunger control of, comprising determining the subset of the sensor data to be sensor data that only includes movement of the control device from the pull-back position toward the resting position.

13

claim 11 . The computer-implemented method for virtual pinball plunger control of, comprising initiating the virtual pinball ball shooter a predetermined delay time after the determination that the control device has been released.

14

claim 13 . The computer-implemented method for virtual pinball plunger control of, wherein the predetermined delay time is between 100 milliseconds to 500 milliseconds.

15

claim 13 . The computer-implemented method for virtual pinball plunger control of, wherein the predetermined delay time is determined based on a spring constant of one or more of the springs.

16

claim 11 . The computer-implemented method for virtual pinball plunger control of, comprising initiating the virtual pinball ball shooter based on the determination that the control device has been released.

17

claim 16 transmitting a button push signal to the processor based on the determination that the control device has been released; and initiating the virtual pinball ball shooter based on the button push signal. . The computer-implemented method for virtual pinball plunger control of, comprising:

18

claim 16 transmitting a button push signal to the processor based on detecting that a button is pressed; and initiating the virtual pinball ball shooter based on the button push signal. . The computer-implemented method for virtual pinball plunger control of, comprising:

19

claim 11 . The computer-implemented method for virtual pinball plunger control of, comprising rendering a virtual pinball interface on an output device based on the initiation of the virtual pinball ball shooter.

20

a controller including a control device and one or more springs, wherein one or more of the springs is configured to bias the control device toward a resting position, and wherein the control device is configured to move between the resting position and a pull-back position when biased away from the resting position; a sensor detecting sensor data indicative of a position of the control device over a time frame; a memory storing one or more instructions; determining when the control device has been released from the pull-back position and biased by one or more of the springs toward the resting position based on the sensor data; and initiating a virtual pinball ball shooter based on sensor data that only includes movement of the control device from the pull-back position toward the resting position; a processor executing one or more of the instructions stored on the memory to perform: a microcontroller transmitting a button push signal to the processor based on the determination that the control device has been released, and wherein the processor initiates the virtual pinball ball shooter based on the button push signal; and an output device rendering the virtual pinball ball shooter. . A virtual pinball device, comprising:

Detailed Description

Complete technical specification and implementation details from the patent document.

Analog ball plungers are used to release a ball in pinball. Depending on how far a user has pulled the plunger back, a tension of one or more springs, a weight of the ball and other physical variables, the ball will be released at a certain speed and go a certain distance on the pinball playfield. The variability of this is used in most pinball games to activate things like a skill shot or the ability to hit special targets if the user is skilled enough to release the ball in a consistent manner. This is also available in digital pinball by way of game physics describing those same variables and an analog to digital converter that detects a physical plunger position and sending that position to the game.

Because of how fast the plunger is released, induced electrical interference, and the difficulty of determining when a user has released the plunger and actual speed of the plunger as it is released, this may result in an inconsistent and non-realistic ball movement after the plunger is released, making it more difficult to hit skill shots and resulting in a poor user experience.

According to one aspect, a system for virtual pinball plunger control may include a pinball shooter assembly, a sensor, a memory, and a processor. The pinball shooter assembly may include a plunger and one or more springs. One or more of the springs may be configured to bias the plunger toward a resting position. The plunger may be configured to slide between the resting position and a pull-back position when biased away from the resting position. The sensor may detect sensor data indicative of a position of the plunger over a time frame. The memory may store one or more instructions. The processor may execute one or more of the instructions stored on the memory to perform one or more acts, actions, and/or steps. The processor may determine when the plunger has been released from the pull-back position and biased by one or more of the springs toward the resting position based on the sensor data. The processor may initiate a virtual pinball ball shooter based on only a subset of the sensor data.

The processor may determine the subset of the sensor data to be sensor data that only includes movement of the plunger from the pull-back position toward the resting position. The processor may initiate virtual pinball ball shooter a predetermined delay time after the determination that the plunger has been released. The predetermined delay time may be between 100 milliseconds to 500 milliseconds. The predetermined delay time may be determined based on a spring constant of one or more of the springs. The processor may initiate the virtual pinball ball shooter based on the determination that the plunger has been released. The system for virtual pinball plunger control may include a microcontroller may transmit a button push signal to the processor based on the determination that the plunger has been released. The processor may initiate the virtual pinball ball shooter based on the button push signal. The system for virtual pinball plunger control may include a button and a microcontroller. The microcontroller may transmit a button push signal to the processor based on detecting that the button is pressed. The processor may initiate the virtual pinball ball shooter based on the button push signal. The system for virtual pinball plunger control may include an output device. The processor may render a virtual pinball interface on the output device based on the initiation of the virtual pinball ball shooter. The output device may include a display and a speaker.

According to one aspect, a computer-implemented method for virtual pinball plunger control may include detecting, via a sensor, sensor data indicative of a position of a control device of a controller over a time frame. The controller may include the control device and one or more springs. One or more of the springs may be configured to bias the control device toward a resting position. The control device may be configured to slide between the resting position and a pull-back position when biased away from the resting position. The computer-implemented method for virtual pinball plunger control may include determining, via a processor, when the control device has been released from the pull-back position and biased by one or more of the springs toward the resting position based on the sensor data. The computer-implemented method for virtual pinball plunger control may include initiating, via the processor, a virtual pinball ball shooter based on only a subset of the sensor data.

The computer-implemented method for virtual pinball plunger control may include determining the subset of the sensor data to be sensor data that only includes movement of the control device from the pull-back position toward the resting position. The computer-implemented method for virtual pinball plunger control may include initiating the virtual pinball ball shooter a predetermined delay time after the determination that the control device has been released. The predetermined delay time may be between 100 milliseconds to 500 milliseconds. The predetermined delay time may be determined based on a spring constant of one or more of the springs. The computer-implemented method for virtual pinball plunger control may include initiating the virtual pinball ball shooter based on the determination that the control device has been released. The computer-implemented method for virtual pinball plunger control may include transmitting a button push signal to the processor based on the determination that the control device has been released and initiating the virtual pinball ball shooter based on the button push signal. The computer-implemented method for virtual pinball plunger control may include transmitting a button push signal to the processor based on detecting that a button is pressed and initiating the virtual pinball ball shooter based on the button push signal. The computer-implemented method for virtual pinball plunger control may include rendering a virtual pinball interface on an output device based on the initiation of the virtual pinball ball shooter.

According to one aspect, a virtual pinball device may include a controller, a sensor, a memory, a processor, a microcontroller, and an output device. The controller may include a control device and one or more springs. One or more of the springs may be configured to bias the control device toward a resting position. The control device may be configured to move between the resting position and a pull-back position when biased away from the resting position. The sensor may detect sensor data indicative of a position of the control device over a time frame. The memory may store one or more instructions. The processor may execute one or more of the instructions stored on the memory to perform one or more acts, actions, and/or steps. The processor may determine when the control device has been released from the pull-back position and biased by one or more of the springs toward the resting position based on the sensor data. The processor may initiate a virtual pinball ball shooter based on sensor data that only includes movement of the control device from the pull-back position toward the resting position. The microcontroller may transmit a button push signal to the processor based on the determination that the control device has been released. The processor may initiate the virtual pinball ball shooter based on the button push signal. The output device may render the virtual pinball ball shooter.

The following includes definitions of selected terms employed herein. The definitions include various examples and/or forms of components that fall within the scope of a term and that may be used for implementation. The examples are not intended to be limiting. Further, one having ordinary skill in the art will appreciate that the components discussed herein may be combined, omitted, or organized with other components or organized into different architectures.

A “processor”, as used herein, processes signals and performs general computing and arithmetic functions. Signals processed by the processor may include digital signals, data signals, computer instructions, processor instructions, messages, a bit, a bit stream, or other means that may be received, transmitted, and/or detected. Generally, the processor may be a variety of various processors including multiple single and multicore processors and co-processors and other multiple single and multicore processor and co-processor architectures. The processor may include various modules to execute various functions.

A “memory”, as used herein, may include volatile memory and/or non-volatile memory. Non-volatile memory may include, for example, ROM (read only memory), PROM (programmable read only memory), EPROM (erasable PROM), and EEPROM (electrically erasable PROM). Volatile memory may include, for example, RAM (random access memory), synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), and direct RAM bus RAM (DRRAM). The memory may store an operating system that controls or allocates resources of a computing device.

A “disk” or “drive”, as used herein, may be a magnetic disk drive, a solid-state disk drive, a floppy disk drive, a tape drive, a Zip drive, a flash memory card, and/or a memory stick. Furthermore, the disk may be a CD-ROM (compact disk ROM), a CD recordable drive (CD-R drive), a CD rewritable drive (CD-RW drive), and/or a digital video ROM drive (DVD-ROM). The disk may store an operating system that controls or allocates resources of a computing device.

A “bus”, as used herein, refers to an interconnected architecture that is operably connected to other computer components inside a computer or between computers. The bus may transfer data between the computer components. The bus may be a memory bus, a memory controller, a peripheral bus, an external bus, a crossbar switch, and/or a local bus, among others. The bus may also be a vehicle bus that interconnects components inside a vehicle using protocols such as Media Oriented Systems Transport (MOST), Controller Area network (CAN), Local Interconnect Network (LIN), among others.

A “controller”, as used herein, may be a device implemented in hardware, firmware, software, or a combination thereof. A controller may include one or more CPUs (e.g., a central processing unit including one or more "processors"), a "memory", a “storage drive”, a "bus", and one or more programmable input/output (I/O) peripherals.

A "database", as used herein, may refer to a table, a set of tables, and a set of data stores (e.g., disks) and/or methods for accessing and/or manipulating those data stores.

An "operable connection", or a connection by which entities are "operably connected", is one in which signals, physical communications, and/or logical communications may be sent and/or received. An operable connection may include a wireless interface, a physical interface, a data interface, and/or an electrical interface.

A "computer communication", as used herein, refers to a communication between two or more computing devices (e.g., computer, personal digital assistant, cellular telephone, network device) and may be, for example, a network transfer, a file transfer, an applet transfer, an email, a hypertext transfer protocol (HTTP) transfer, and so on. A computer communication may occur across, for example, a wireless system (e.g., IEEE 802.11), an Ethernet system (e.g., IEEE 802.3), a token ring system (e.g., IEEE 802.5), a local area network (LAN), a wide area network (WAN), a point-to-point system, a circuit switching system, a packet switching system, among others.

A “mobile device”, as used herein, may be a computing device typically having a display screen with a user input (e.g., touch, keyboard) and a processor for computing. Mobile devices include handheld devices, portable electronic devices, smart phones, laptops, tablets, and e-readers.

According to one aspect, the virtual pinball plunger control described herein provides the benefits and/or advantages of improving initiation of a virtual pinball ball shooter through a precision release algorithm that delays sensor data from being sent to a processor in order to allow for a more accurate representation of the plunger when the user releases it by trimming the sensor data to include a subset of the sensor data to be sensor data that only includes movement of a plunger from a pull-back position toward a resting position. In other words, upon draw back to the pull-back position and release, the plunger will move from the pull-back position toward the resting position. However, after reaching the resting position, the plunger may oscillate from the resting position to a position between the resting position and the pull-back position. Sensor data associated with the oscillation may be undesirable for the initiation of the virtual pinball ball shooter, and thus, may be trimmed or deleted from virtual pinball plunger control. In this way, a processor executing the virtual pinball plunger control may utilize the sensor data in a logical fashion to determine how the plunger was released and how much velocity to apply to a virtual pinball.

1 FIG. 100 100 110 110 112 114 100 116 120 130 132 142 152 192 192 116 120 130 132 142 152 100 100 is an exemplary component diagram of a systemfor virtual pinball plunger control, according to one aspect. The systemfor virtual pinball plunger control may include a pinball shooter assembly. The pinball shooter assemblymay include a control device (e.g., a button or a plunger) and one or more springs. Additionally, the systemfor virtual pinball plunger control may include a sensor, a microcontroller, a processor, a memory, a storage drive, an output device, and a bus. The busmay form an operable connection between respective components (e.g., the sensor, the microcontroller, the processor, the memory, the storage drive, the output device, etc.) of the systemfor virtual pinball plunger control, thereby enabling computer communication therebetween. According to one aspect, the systemfor virtual pinball plunger control may be a virtual pinball device.

110 100 110 112 114 114 114 112 112 112 110 114 Additionally, the controller may be a game controller, a pinball shooter assembly, or other controller that provides an input to the systemfor virtual pinball plunger control. The pinball shooter assemblymay include a plungerand one or more springs. Similarly, according to another aspect, the controller (e.g., a joystick) may include a control device and one or more springs. One or more of the springsmay be configured to bias the plunger(or control device) toward a resting position. The plunger(or the control device) may be configured to slide between the resting position and a pull-back position when biased away from the resting position. It will be appreciated that although the discussion provided herein is with respect to the plungerof the pinball shooter assembly, it will be appreciated that similar concepts may apply to the controller and its components (e.g., the control device, a button, a joystick, spring, etc.). In this regard, any control mechanism may be utilized.

116 112 112 110 According to one aspect, the sensormay detect sensor data indicative of a position of the plungerover a time frame. It will be appreciated that although the discussion provided herein is with respect to the positional data of the plungerof the pinball shooter assembly, it will be appreciated that any type of sensor data may be utilized.

120 130 116 112 120 130 130 According to one aspect, the microcontrollermay transmit a button push signal to the processorbased on the determination (e.g., via the sensoror the control device) that the plungerhas been released. According to another aspect, the microcontrollermay transmit the button push signal to the processorbased on detecting that the button has been pressed. In this way, the processormay initiate the virtual pinball ball shooter based on the button push signal.

132 130 132 The memorymay store one or more instructions. The processormay execute one or more of the instructions stored on the memoryto perform one or more acts, actions, and/or steps.

130 112 114 116 130 130 112 130 130 112 114 For example, the processormay determine when the plungerhas been released from the pull-back position and biased by one or more of the springstoward the resting position based on the sensor data from the sensor. According to one aspect, the processormay initiate a virtual pinball ball shooter based on only a subset of the sensor data. For example, the processormay determine the subset of the sensor data to be sensor data that only includes movement of the plungerfrom the pull-back position toward the resting position. In other words, the processormay filter, clean, trim, clip, or scrub the sensor data such that the sensor data is smoothed. This ensures that the sensor data that is returned to the processoris clean and free from any artifacts that may arise due to inductance, speed of an encoder, or other factors in a potentiometer as the plungerbounces quickly in one or more of the springsafter a release. Although a potentiometer is described as one type of sensor that may be utilized, other sensors may be implemented, such as an infrared (IR) proximity sensor, an optical linear distance sensor, or an ultrasonic distance sensor, for example.

130 112 130 130 112 112 130 112 112 112 130 112 112 The processormay initiate the virtual pinball ball shooter based on the determination that the plungerhas been released. The release detection may be performed by the processorand may be achieved in a variety of ways. For example, the processormay detect when the plungercrosses a threshold position and may utilize the detection of this threshold position as an indication that the plungerhas been released. According to one aspect, the processormay detect when the plungercrosses a threshold position and may utilize the detection of this threshold position as well as a velocity of the plungeras an indication that the plungerhas been released. In other words, the processormay detect that the plungerhas been released based on the plungercrossing the threshold position when travelling over a threshold velocity.

130 112 112 112 112 In this way, a signal or a button press signal may be transmitted to the processorto indicate that the plungerhas been released. This button press signal may be transmitted prior to sending any data about the release of the plungersince a pinball application may use this data to release the virtual pinball at precisely the position that the plungeris currently located. Since the sensor data is delayed, the virtual pinball is released exactly at the point where the plungerwas held prior to being released by the user.

130 112 112 130 114 112 114 200 112 130 112 112 112 ms The processormay initiate the virtual pinball ball shooter a predetermined delay time after the determination that the plungerhas been released. During the entire motion of the plunger, the sensor data getting sent to the processormay be delayed by a predetermined delay time. The predetermined delay time may be determined based on a spring constant of one or more of the springs. According to one aspect, the predetermined delay time may be determined based on how a user releases the plungeror one or more user preferences, etc. Thus, this predetermined delay time may be configured based on factors such as springtension, but is typically around. According to one aspect, the predetermined delay time may be between 100 milliseconds to 500 milliseconds. This predetermined delay time is a small enough amount of time that it is negligible to the user, but large enough that when the plungeris released and crosses the threshold position, the sensor data sent to the processorstill hasn’t moved the plungerfrom the point where the user was holding the plungerprior to releasing the plunger.

112 130 By controlling the sensor data that is sent when the plungeris released, the sensor data that is sent back to the processoris consistent with what happens in a real analog plunger and is not digitally altered due to framerate issues or being slower than an encoder or a data bandwidth speed.

142 152 152 130 152 112 The storage drivemay store information, such as historical gameplay information, the predetermined delay time, the sensor data over the time frame, etc. The output devicemay include a display, a speaker, and/or other computer hardware that converts information or data into a human-perceptible form such as text, graphics, tactile, audio, or video. According to one aspect, the output devicemay be a mobile device, such as a smartphone. In any event, the processormay render a virtual pinball interface on the output devicebased on the initiation of the virtual pinball ball shooter and in accordance with the actuation characteristics associated with the actuation of the control device (e.g., plunger, button, joystick, etc.).

2 FIG. 202 116 114 114 204 130 114 206 130 is an exemplary flow diagram of a computer-implemented method for virtual pinball plunger control, according to one aspect. The computer-implemented method for virtual pinball plunger control may include detecting, via a sensor, sensor data indicative of a position of a control device of a controller over a time frame. The controller may include the control device and one or more springs. One or more of the springsmay be configured to bias the control device toward a resting position. The control device may be configured to slide between the resting position and a pull-back position when biased away from the resting position. The computer-implemented method for virtual pinball plunger control may include determining, via a processor, when the control device has been released from the pull-back position and biased by one or more of the springstoward the resting position based on the sensor data. The computer-implemented method for virtual pinball plunger control may include initiating, via the processor, a virtual pinball ball shooter based on only a subset of the sensor data.

114 Additionally, the computer-implemented method for virtual pinball plunger control may include determining the subset of the sensor data to be sensor data that only includes movement of the control device from the pull-back position toward the resting position and initiating the virtual pinball ball shooter a predetermined delay time after the determination that the control device has been released. As discussed herein, the predetermined delay time may be between 100 milliseconds to 500 milliseconds. Additionally, the predetermined delay time may be determined or set based on a spring constant of one or more of the springs.

130 According to one aspect, the computer-implemented method for virtual pinball plunger control may include initiating the virtual pinball ball shooter based on the determination that the control device has been released, transmitting a button push signal to the processorbased on the determination that the control device has been released, and/or initiating the virtual pinball ball shooter based on the button push signal.

130 152 According to another aspect, the computer-implemented method for virtual pinball plunger control may include transmitting a button push signal to the processorbased on detecting that a button is pressed, initiating the virtual pinball ball shooter based on the button push signal, and/or rendering a virtual pinball interface on an output devicebased on the initiation of the virtual pinball ball shooter or animating the initiation of the virtual pinball ball shooter.

3 FIG. 1 FIG. 3 FIG. 112 100 110 112 114 114 112 312 114 112 312 322 110 is an exemplary illustration of the plungerfor the systemfor virtual pinball plunger control of, according to one aspect. As seen in, the pinball shooter assemblymay include the plungerand one or more of the springs. One or more of the springsmay be configured to bias the plungertoward a resting position. Again, the predetermined delay time discussed herein may be determined or set based on a spring constant of one or more of the springs. The plungermay be configured to slide between the resting positionand a pull-back positionwhen biased away from the resting position. Again, although discussed in terms of a pinball shooter assembly, other types of controllers are contemplated and may be implemented in a similar fashion.

4 FIG. 1 FIG. 4 FIG. 4 FIG. 110 112 114 114 112 112 110 is an exemplary illustration of a control device for the system for virtual pinball plunger control of, according to one aspect. As seen in, the pinball shooter assemblymay include a control devicewhich may be biased by one or more of the springs. One or more of the springsmay be configured to bias the control devicetoward a resting position. The control devicemay be configured to glide between the resting position and one or more pull-back positions (as shown by the dashed lines) when biased away from the resting position. Again, although discussed in terms of a pinball shooter assembly, other types of controllers, such as the game controller of, are contemplated and may be implemented in a similar fashion.

5 FIG. 1 FIG. 100 130 152 152 is an exemplary illustration of an interface for the systemfor virtual pinball plunger control of, according to one aspect. The processormay render a virtual pinball interface on the output devicebased on the initiation of the virtual pinball ball shooter, along with gameplay of the virtual pinball plunger control. Again, the output devicemay include a display, a speaker, a mobile device, and/or other computer hardware that converts information or data into a human-perceptible form such as text, graphics, tactile, audio, or video and be configured to render aspect related to virtual pinball gameplay, including the initiation of the virtual pinball ball shooter, virtual pinball gameplay, bumper movement, virtual pinball movement, etc.

6 FIG. 6 FIG. and the following discussion provide a description of a suitable computing environment to implement aspects of one or more of the provisions set forth herein. The operating environment ofis merely one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the operating environment. Example computing devices include, but are not limited to, personal computers, server computers, hand-held or laptop devices, mobile devices, such as mobile phones, Personal Digital Assistants (PDAs), media players, and the like, multiprocessor systems, consumer electronics, mini computers, mainframe computers, distributed computing environments that include any of the above systems or devices, etc.

Generally, aspects are described in the general context of “computer readable instructions” being executed by one or more computing devices. Computer readable instructions may be distributed via computer readable media as will be discussed below. Computer readable instructions may be implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), data structures, and the like, which perform one or more tasks or implement one or more abstract data types. Typically, the functionality of the computer readable instructions is combined or distributed as desired in various environments.

6 FIG. 6 FIG. 600 612 612 616 618 618 614 illustrates a systemincluding a computing deviceconfigured to implement one aspect provided herein. In one configuration, the computing deviceincludes at least one processing unitand memory. Depending on the exact configuration and type of computing device, memorymay be volatile, such as RAM, non-volatile, such as ROM, flash memory, etc., or a combination of the two. This configuration is illustrated inby dashed line.

612 612 620 620 620 618 616 6 FIG. In other aspects, the computing deviceincludes additional features or functionality. For example, the computing devicemay include additional storage such as removable storage or non-removable storage, including, but not limited to, magnetic storage, optical storage, etc. Such additional storage is illustrated inby storage. In one aspect, computer readable instructions to implement one aspect provided herein are in storage. Storagemay store other computer readable instructions to implement an operating system, an application program, etc. Computer readable instructions may be loaded in memoryfor execution by the at least one processing unit, for example.

618 620 612 612 The term “computer readable media” as used herein includes computer storage media. Computer storage media includes volatile and nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information such as computer readable instructions or other data. Memoryand storageare examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by the computing device. Any such computer storage media is part of the computing device.

The term “computer readable media” includes communication media. Communication media typically embodies computer readable instructions or other data in a “modulated data signal” such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” includes a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.

612 624 622 612 624 622 612 624 622 612 612 626 630 628 The computing deviceincludes input device(s)such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, or any other input device. Output device(s)such as one or more displays, speakers, printers, or any other output device may be included with the computing device. Input device(s)and output device(s)may be connected to the computing devicevia a wired connection, wireless connection, or any combination thereof. In one aspect, an input device or an output device from another computing device may be used as input device(s)or output device(s)for the computing device. The computing devicemay include communication connection(s)to facilitate communications with one or more other devices, such as through network, for example.

7 FIG. 2 FIG. 1 FIG. 700 702 704 704 704 706 700 706 708 200 706 100 Still another aspect involves a computer-readable medium including processor-executable instructions configured to implement one aspect of the techniques presented herein. An aspect of a computer-readable medium or a computer-readable device devised in these ways is illustrated in, wherein an implementationincludes a computer-readable medium, such as a CD-R, DVD-R, flash drive, a platter of a hard disk drive, etc., on which is encoded computer-readable data. This encoded computer-readable data, such as binary data including a plurality of zero’s and one’s as shown in, in turn includes a set of processor-executable computer instructionsconfigured to operate according to one or more of the principles set forth herein. In this implementation, the processor-executable computer instructionsmay be configured to perform a method, such as the computer-implemented methodfor virtual pinball plunger control of. In another aspect, the processor-executable computer instructionsmay be configured to implement a system, such as the systemfor virtual pinball plunger control of. Many such computer-readable media may be devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein.

As used in this application, the terms "component”, "module," "system", "interface", and the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processing unit, an object, an executable, a thread of execution, a program, or a computer. By way of illustration, both an application running on a controller and the controller may be a component. One or more components residing within a process or thread of execution and a component may be localized on one computer or distributed between two or more computers.

Further, the claimed subject matter is implemented as a method, apparatus, or article of manufacture using standard programming or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.

Although the subject matter has been described in language specific to structural features or methodological acts, it is to be understood that the subject matter of the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example aspects.

Various operations of aspects are provided herein. The order in which one or more or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering will be appreciated based on this description. Further, not all operations may necessarily be present in each aspect provided herein.

As used in this application, "or" is intended to mean an inclusive "or" rather than an exclusive "or". Further, an inclusive “or” may include any combination thereof (e.g., A, B, or any combination thereof). In addition, "a" and "an" as used in this application are generally construed to mean "one or more" unless specified otherwise or clear from context to be directed to a singular form. Additionally, at least one of A and B and/or the like generally means A or B or both A and B. Further, to the extent that "includes", "having", "has", "with", or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprising”.

Further, unless specified otherwise, “first”, “second”, or the like are not intended to imply a temporal aspect, a spatial aspect, an ordering, etc. Rather, such terms are merely used as identifiers, names, etc. for features, elements, items, etc. For example, a first channel and a second channel generally correspond to channel A and channel B or two different or two identical channels or the same channel. Additionally, “comprising”, “comprises”, “including”, “includes”, or the like generally means comprising or including, but not limited to.

It will be appreciated that various of the above-disclosed and other features and functions, or alternatives or varieties thereof, may be desirably combined into many other different systems or applications. Also, that various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

March 6, 2025

Publication Date

September 10, 2026

Inventors

Philip James Ellis

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “VIRTUAL PINBALL CONTROL” (US-20260263912-A1). https://patentable.app/patents/US-20260263912-A1

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

VIRTUAL PINBALL CONTROL — Philip James Ellis | Patentable