One under-discussed aspect of the Rock of Ages musical script is its dialogue style. It’s not Aaron Sorkin. It’s not Shakespeare. It’s pure, uncut 1980s B-movie.

Here’s a sample exchange (from the published script):

Drew: You know what they call people who don't dream, Sherrie?
Sherrie: Realistic?
Drew: Dead.

The script is intentionally cheesy, but self-aware. Lonny often comments on the plot’s predictability. This meta-humor is essential: it allows audiences to enjoy the clichés without rolling their eyes. For actors, the challenge is playing the sincerity straight while Lonny winks at the audience—a difficult tonal tightrope.

Unlike traditional musicals (where songs are written to serve the story), Rock of Ages works backwards. The script by Chris D’Arienzo (with arrangements by Ethan Popp) takes existing rock anthems—from Twisted Sister, Journey, Poison, REO Speedwagon, and Whitesnake—and weaves a coherent, comedic, and heartfelt love story around the lyrics.

The Rock of Ages the musical script is famously annotated with specific “song slots.” But here’s the magic: D’Arienzo doesn’t just drop songs in at random. Each number advances character desire, conflict, or theme. For example, “I Wanna Rock” (Twisted Sister) isn’t just a concert opener—it’s the frustrated anthem of the hero, Drew, who is stuck as a busboy. “Harden My Heart” (Quarterflash) is a duet that becomes a negotiation between two lovers.

The script is also notable for its fourth-wall breaking narrator, Lonny (who doubles as the club’s sound guy). In many productions, Lonny acknowledges the audience, pokes fun at the plot’s absurdities, and even rewinds time when a crowd favorite needs an encore.

In the original script, Lonny (the sound guy at The Bourbon Room) breaks the fourth wall constantly. He talks to the audience, rewinds time, and even comments on the ridiculousness of the plot.

This meta-humor allows the script to use classic tropes (the love triangle, the evil developer, the "save the community" rally) without feeling boring. The script actively mocks the very structure it follows.