I remember—long, long ago—watching the Saturday morning live-action Shazam! show and finding it kind of creepy when a skinny Tiger Beat cover teen transformed into a slightly pudgy 30-something guy in red tights. It just seemed weird and incredulous that this kid turned into that guy. In the new film adaptation of the DC Comics' Shazam! character (formerly known as Captain Marvel), the kid transforms into an adult hero played by Zachary Levi. It completely works because Levi has a boyish charm, both physically and in his performance.
The 14-year-old street-smart foster kid Billy Batson (Asher Angel) is given superhuman powers from an ancient wizard named Shazam (Djimon Hounsou). When Billy yells the name “Shazam,” lightning strikes him, and he is transformed into a muscle-man hero (Levi). Billy explains it all to his foster housemate Freddy (Jack Dylan Grazer), and the two of them have fun playing with Billy's newfound powers—that is, until supervillain Dr. Sivana (Mark Strong) appears on the scene. It's cool how the hero and the villain are reflections of each other. Both are cast aside by their families, but take different paths in healing themselves.
Henry Gayden's screenplay is smart, as it really gets into the mind of a 14-year-old and what he would do with superpowers. Shazam! is often hilarious, with most of the humor in Freddy helping Billy test out his superpowers. Plus, because Billy turns into an adult, they go and buy beer at a convenience store, but when they discover that beer is an acquired taste, they immediately go back into the store and get junk food.
Yes, the movie is very funny, but it's not a comedy. Strong's villain is pretty damn menacing. In fact, Sivana and his seven deadly sins—which take the form of gargoyles—are nightmare fuel, and the back-and-forth between lighthearted comedy and grim terror can sometimes be a tad jarring, but director David F. Sandberg (Lights Out) keeps up a good balancing act.
Shazam! is a fresh and fun take on the comic book hero genre, and it's anchored by a likable performance by Zachary Levi.