Dark Rides are often the main attractions of major theme parks. They incorporate everything from highly themed scenery, props, video, audio, animatronics, lighting, and ride systems. The tricky part is getting these systems to synchronize nicely with one another to provide a great guest experience. This is especially difficult considering that most ride vehicles have no hard-wired connection to the rest of the ride system. This application note demonstrates how revolutionary Alcorn McBride products such as RidePlayer and the AV Binloop Uncompressed make these types of applications a breeze to implement.
A typical dark ride centers around the ride system itself. Rides are generally programmed to follow a specific path along a track and sometime even have a built-in motion base that moves around to thrill guests. As fascinating as that may be, a moving vehicle is not enough to make a fun dark ride. For this you need other elements like audio, video, lighting, and animatronics that coordinate with the ride system to provide an immersive experience.
The biggest challenges for building these types of attractions is ensuring the synchronization of the various types of gear with the ride system. This is difficult because ride systems aren’t really design with audio-visual-sensory experience in mind. They are designed with safety in mind because it’s generally frowned upon to maim and/or kill guests.
This is where it is nice to have a system that is uniquely designed to coordinate with the ride system as well as all the other aspects of the attraction in a tightly synchronized manner. This involves communication with the PLC devices that operate the ride as well as a precise synchronization method that works over wireless connections.
This guide explains how to use the RidePlayer to coordinate synchronization between the ride vehicles and the offboard systems. It also ties in the AV Binloop Uncompressed to provide video for the projections commonly used in modern dark rides.
Integrating the System
As you can see from the application diagram, we’re going to implement a dark ride that incorporates a ride system, video projection, offboard audio, and onboard audio. When a vehicle enters a scene within the ride, a sensor is tripped on the ride vehicle in indicate which scene has been entered. This causes the onboard RidePlayer to schedule onboard audio to playback in sync with the offboard video and audio for that scene.
Let’s look at the gear we have designed into this system and its role in implementing the dark ride.
RidePlayer – Onboard Synchronous Audio Player and Show Controller
This product is designed to endure the high-vibration environments of ride vehicles and to provide many features to reduce the need for auxiliary equipment aboard the vehicle. Some of the key features include 16 channels of polyphonic audio playback as well as onboard show control. Other useful features like DSP, amplification, network audio, voltage monitoring, and GPS integration are all rolled into a nice compact, rugged, and energy efficient package to make this product the ultimate onboard audio and control solution.
For this dark ride system we are using two RidePlayer units; one to manage onboard playback and control, and another to manage offboard playback and control. The unique design of this product ensures that these tasks can be handled in a perfectly synchronous fashion. Even with ride systems that only have a wireless connection between onboard and offboard systems.
A/V Binloop Uncompressed – Multi-channel Synchronous Video Player
The purpose of this unit is to provide 5 channels of 2K60 uncompressed playback; one for each of the 5 scenes within the dark ride. Content is stored on solid-state media drives as uncompressed Targa sequences. This product physically connects to each projector using a 3G-SDI connection to provide video without the need for extension devices. This device also connects to the offboard RidePlayer via Ethernet so that video clips can be played at the appropriate time and synchronized with other devices in the system. Genlock is provided from the offboard RidePlayer as well to ensure perfectly synchronized timing between the show control timeline and video playback
Most attractions of this nature have an DSP to process audio to fine-tune sound to the unique environment. DSP’s also perform other important functions like routing audio, mixing audio, paging logic, etc. Once the audio has been processed in the DSP system, it is often fed to external amplifiers to drive speakers throughout the attraction.
It’s generally not practical to install these systems on a ride vehicle since they are typically computer-based systems that are not designed to handle high-vibration environments. However, they are quite useful for managing audio distribution throughout the offboard portions of the dark ride.
Although it is not shown in the system diagram, it is implied that a system like this would consist of network switches, routers, and wireless bridges as needed. A reliable wireless connection between the offboard system and the ride vehicles is essential to consistent operation. WIFI may not always be the best tool for this, but there are several wireless networking technologies that are well-suited for reliable low-latency networking.
Properly implementing the show control interface between the onboard and offboard RidePlayer systems is critical to synchronous AV for this application. Both RidePlayers are configured and programmed using our WinScript Live software.
Show Control Programming
We need to create two show control scripts to properly implement this dark ride application; one for the offboard RidePlayer and another for the onboard RidePlayer. The onboard script will be responsible for monitoring the scene IO triggers and coordinating playback control on both onboard and offboard systems.
These two scripts have been included with this application note and are appropriately named:
- Dark Ride – IO – Offboard.WS4
- Dark Ride – IO – RV.WS4
Although Alcorn McBride goes through great effort to make this programming significantly easier than many other control systems, there is a learning curve to using WinScript Live and the RidePlayer. If you’re looking to learn more about using this interface, Alcorn McBride offers free training in the form of interactive in-person classes and online courses.
A great first step when writing any script is to configure the list of devices that will be connected to the RidePlayer. This involves browsing the comprehensive library of devices in the WinScript library by manufacturer and model number, choosing the device, and then configuring the physical connection to the device (i.e. Ethernet, Serial, etc.).
The offboard RidePlayer must connect with all the RV RidePlayers as well as the AV Binloop Uncompressed:
The RV RidePlayer must connect back to the offboard RidePlayer:
Configuring the inputs and outputs is also a good thing to do early on when creating the script. This process will allow you to name these resources so that their purpose can be easily identified as the script is created. For example, the inputs of the RV RidePlayer have been named appropriately since they are used to trigger the various scenes:
Sequences – Ride Vehicle
Sequences are the heart of the show control script and contain all of the functional events that are programmed. Let’s take a moment to walk through the key sequences contained in these example scripts.
Here’s what the RV sequences look like:
First, there is a sequence called Initialize which does nothing more that fill the front-panel display of the RidePlayer with some text. This is common practice since the RidePlayer display is a handy way to display status information to operators and maintenance staff.
Then we have our IO_Stop and IO_StartScene sequences. These sequences are quite simple. They are triggered by the inputs connected to the scene sensors on the vehicle. When a scene is entered, the appropriate sequence runs. The sequence then schedules two timelines to start synchronously; one in the offboard RidePlayer and one in the RV RidePlayer.
Notice that the checkboxes in the ‘S’ (Sync) column are enabled. This means that these two sequences will be scheduled to trigger simultaneously. When this synchronous method is used, there is a consistent ‘Event Sync Delay’ that occurs before these events run. For this example, that delay is configured to 16 frames (approximately half a second).
The Timeline_Scene sequences are timelines that trigger audio playback onboard. There are also a few other events in here that are used to update some status variables that update the display.
The last series of Status sequences do nothing more than update the front-panel display with status information. These sequences are triggered whenever a variable value changes, and then that variable value is updated on the appropriate portion of the front-panel display. For example, when the ride vehicle enters scene 1 the display will be updated with the text “Scene 1” to indicate that current status of the vehicle.
Sequences – Offboard
The sequences of the offboard RidePlayer are even more simple in this example. The only major functional sequences are the Timeline sequences that are dedicated to each scene. These sequences are triggered directly from the ride vehicle RidePlayer when scene triggers are encountered.
These timeline sequences trigger both audio and video playback on the offboard system.
This application note can serve as a starting point in implementing your own dark ride application. Keep in mind that it’s easy to scale the system to include as many ride vehicles and scenes as you need. You can also do WAY more with the offboard system than just trigger audio and video playback. It’s common to run things like queue line displays, lighting, monitor projection, etc.
Now it’s time for you to implement your own project with the RidePlayer and the AV Binloop Uncompressed. Please don’t forget that we are here to help you so feel free to contact us with questions.