top of page

Introduction To Programming Lighting Effects

Introduction To Programming Lighting Effects

Lighting consoles today have fancy effect engines that offer a wide gamut of customizable options - from speed flow down to each parameter's curve pattern, allowing you to build and layer anything you can think of (that physics allows). At the most basic level, effects allow you to transition between two parameter values and keep it looping.

Programming effects for stage lighting

Chases, The OG Effect

But let's take a step back and talk a bit about how we got to where we are with effects today. Early lighting consoles didn't have advanced effects engines or prebuilt libraries of effects you could activate with the press of a button. If designers and programmers wanted a "circle effect," for example, they had to program cue lists that progressively moved moving fixtures around in a circle, often in 6 or even up to 12 steps! Then they would step through each cue, causing the fixtures to constantly move in a circle. To get even fancier, some programmers added "auto follows" to each of these steps, which would automatically advance each step of the circle without them needing to press GO.

This "early effect programming" method led to the development of chases in stage lighting software. Chases are structured similarly to cue lists in that the programmer can program multiple steps sequentially. A chase will then constantly progress through those steps at the speed you have assigned and loop continuously (unless, of course, you have programmed it to stop after a certain amount of cycles). This rocked! Now to create that circle effect we mentioned earlier, LDs could program their circle chase and let it loop instead of needing to babysit anything.

Enter, Effects Engines

Over time, lighting programmers sought more flexibility and creative control, leading to the development of lighting effects engines. Effects engines introduced a new level of customization. To understand effect engines on any console, let's get familiar with the two primary elements: fixture parameters and effect attributes.

Fixture Parameters & Effects

The fixture parameter is the exact thing being manipulated. Each lighting fixture has various parameters that can be manipulated to create different effects. These parameters may include intensity, color, position, and more. An effect on a lighting console is a looping transition between two fixture parameter values, often called the High and Low values. To achieve a dimming effect, you'll want an effect that loops between two High and Low-intensity levels, for example, 0 and 255.

MA2 Effect Engine Fixture Parameter Selection

Effects Attributes

Next are the different effect attributes. Each console has slightly different effect engines with unique terminology, but what they are doing is the same. Every effect will have some sort of form, size, speed, and offset.

The most important is the form. The form of an effect is a graphical representation of exactly how your fixture is traveling from the High to the Low value, and back. Experimenting with different forms can produce varying visual outcomes, changing the overall impact of the effect.

I know… Trigonometry? Don't stress; we will keep this simple enough. Lighting consoles calculate mathematical formulas to automate fixture parameter changes based on your selected form. The most commonly used is the sine wave. When you flash back to grade school trig, you might remember that a sine wave, when graphed out, looks like a smooth, regular wave that oscillates between two values, much like what we need for our effect. If we assign a fixture's intensity channel to be a sine wave with High/Low values of 0 and 255, respectively, the fixture will smoothly fade off and on, just like the waveform.

MA2 Effect Forms
MA2 offers many effect forms built-in

The size attribute in lighting effects refers to the scale or magnitude of the effect. If you took the dimmer sine wave effect from above and adjusted the size to 50%, the effect will peak at half brightness instead of full. Increasing the size creates a more significant presence, on the other hand, decreasing the size can result in something more subtle.

Speed is a critical aspect of programming lighting effects. It refers to the rate at which the effect changes or transitions over time. By manipulating the speed parameter, lighting professionals can control the tempo and rhythm of the effect, syncing it with the music or choreography.

Effects can be assigned to speed and size masters giving the programmer the option to keep all intensity effects in tempo as the show evolves or even increase/decrease movement effects for a more appropriate effect at different times in the show.

Consoles will also have a rate, or beats per cycle option, that lets you scale how the effect interpolates the assigned speed. This comes in handy if you want every effect assigned to the same BPM master but want some effects to cycle through at half-time, double-time, or


Lastly, the offset involves shifting the starting point or phase of the effect across the fixtures to an effect it is applied to. It introduces variations and delays, adding depth and complexity to a look. By applying an offset, lighting professionals can create a sense of progression or evolution within the effect. For example, an offset might cause a series of lights to turn on in a staggered or cascading pattern, gradually building intensity across the stage.

Keyframe Effects

Many modern consoles have developed keyframe, or step-based, effect engines. Keyframe-based effects refer to lighting effects that are created by programming changes to fixture parameters over time with a timeline based editor. These effects are typically created by setting keyframes at specific points in time, then allowing the lighting console to interpolate the values between those keyframes. If you have ever spent time with editing with Adobe, this might feel more familiar to you.

Avolites Titan Keyframe Effects Engine
Avolites Titan Keyframe Effects Engine

Something to consider: Lighting consoles are designed to calculate and output DMX signals faster (44hz) than lights can physically respond. Even though the console sends out new values every 1/40th of a second, the lights are only changing as fast as their mechanics allow them.

With keyframe-based effects, it is easy to get wild and start demanding some intense timing. Keep in mind as you program the physical limitations of the fixtures and account for them when programming. Sometimes even limitations can create avenues for new and exciting effects people may not have seen before.


bottom of page