How can I make a "cascading light" effect in Minecraft?

I'm not sure what exactly the term for what I'm trying to do is, but I will refer to what I am trying to do as a "cascading light" effect (a light that looks like it's going "downwards" at a consistent speed).

Basically, I am trying to light up certain redstone lamps on a 2D panel of lamps at different times, with each light being lit up the exact same amount of time.

To be a bit more specific, I am dealing with a panel of lights that's comprised of mainly a 11x3 rectangle of redstone lamps, with 7 lamps sticking out around the bottom of the shape (see below image for more details. Also, sorry if the drawings aren't too high quality, they're only here as simple visuals)

The lights will appear to sort of "cascade" towards the bottom of the structure, by lighting up the redstone lamp directly below the already-lit lamp after an interval of time. There will be no delay after some of the lamps are lit; rather, the next set of lamps will light up directly after the initial set.

There are a total of 11 sets of lamps to be lit up, with the first set being only one lamp, the second to ninth sets being comprised of 3 lamps each, set #10 is 5 lamps, and the last set (#11) is 7 lamps. (image below detailing this)

I've found a "minecraft animation" that seems to have just what I'm looking for (but the problem is, this is an animation, and you can't see how the redstone contraption functions due to how it's 2D)

Video: (timestamp: 4:49)

I am playing on vanilla Minecraft, Java Edition, on 1.14.4, and I'd prefer if the redstone circuit did not stretch past the panel of lights, but I can take any design as long as it works. Also, you can change the shape of the panel too, as long as the cascading pattern is still present. Thanks!


Solution 1:

You can use observer chain to conduct the signal, and observers watching the chain to generate the pulses. You'll also need some sort of clock on the input to generate startup pulses. The chain can be branching and twisting, just remember the next observer must be watching (face side into) the previous in the chain. enter image description here

Note if you power a lamp directly from the observer, it will also activate two adjacent lamps. If you want only that singular lamp lit you must add a solid block on the observer to get powered so it only activates (doesn't inject power into) the lamp. enter image description here

You can also inject noteblocks into the chain to speed a branch up against another (or catch up after a bend).

enter image description here