Create a commercially-released rhythm pinball game for the Cannon Lagoon playfield module.
Silver Falls taught me how to make a piece of commercial pinball software using three-dimensional graphics. Initially started as an experiment between deliverables for the new project, Flipper Foxtrot Rhythm Explosion grew to become a full game in its own right.
There were numerous challenges with programming this game, as I initially wrote the game to allow for players to add custom songs. This caused complications with synchronization of music and on-screen note scrolling. This was fixed by removing the ability to add custom content. Timing button presses and note spawning was an interesting puzzle. Initially I did spawning of notes as the timing indicated, but the performance penalty associated with instancing created timing desyncs, especially for large strings of note sequences. To resolve this problem, I created object pools and avoided the performance penalty for destroying and instantiating notes.
The player pressses start and is brought to a selection screen whereupon they can choose the song they wish to play as well as the difficulty (Beginner, Easy, Medium, Hard, and Challenge). Pressing the flashing launch button will bring them to a new scene with a set of four buttons (two yellow and two white) at the top of the playfield monitor.
A ball doesn't launch into play right away. Instead, one of five visualizations starts along with the song selected. Notes will begin to scroll towards the button indicators at the top of the monitor. The player is tasked with pressing the yellow and white buttons on the P3's default button box (red, white, and yellow buttons are on each side) as the notes meet the indicators at the top of the screen. The player starts with 50% health, indicated on the backglass and playfield monitor.
Pressing a button successfully will rate the player's timing. More accurate timings are awarded with higher point values, and an increase in health. If the player's timing is off, their health will decrease and fewer points are awarded. Custom animations are displayed for each button press, as well as visible changes to the indicators.
If the player misses a note, a ball will launch from one of four launch tubes, which the player must hit using the red buttons. By default, all notes will clear from the playfield monitor until the ball either drains or is returned to one of the available shots. One of the shots is indicated. Returning the ball to this indicated shot will earn a point and health bonus. Returning the ball to any other shot will earn a minor point and health bonus, and draining the ball will reduce the player's health by a large amount. Unless an optional difficulty modifier is turned on, the flippers cannot be held, preventing the player from trapping the ball and timing out the song.
On the highest difficulties, explosives will appear at certain points in the song. If the player holds the buttons in while a mine is over the guide indicators, it will explode, damaging the players' health.
If the player's health is depleted, the song immediately ends and the player's turn is over. This game has a bonus system that will provide a breakdown of many statistics to show the player their accuracy.
The game provides several operator adjustments. By default the attract mode plays a song. This can be disabled. Players can also continue playing the rhythm game while a ball is active. In this instance, additional missed balls (up to four) can be launched before returning the first. When this option is enabled, the flippers can be held as the player cannot time out the song. A third option will cause the player's health to degrade while a ball is active. Higher song difficulties will cause faster degradation. Operators can also set the number of songs per play as well as coin options per credit or free play.
The game sets the lamps in the game to one of four colors based on the current state of the player's health. The lamps in the side targets will flash in time with the selected song's BPM, as well as the frame surrounding the player's score displayed on the apron and the backbox.
Initially, the game contained 27 songs. Each song was chosen to represent different genres and tastes, and lasts between 2.5-4 minutes. One is the main theme from Ranger In The Ruins. Additional songs will be added in updates.
Viewers of players streaming the game can interact with Twitch-Connect by adding random mines, clearing the playfield of all notes, blanking out the screen, or reversing or inverting flippers. These integrations can be enabled or disabled individually, and if the streamer is partnered or a Twitch affliate, they can charge a custom number of bits per interaction.
As a new type of pinball gameplay, Flipper Foxtrot has proven popular with rhythm game enthusiasts.
Flipper Foxtrot retails for $149 in the Multimorphic store.