Don’t look for the science. Don’t ask how the magic works. And if you really don’t want to know any twists in Shazam!, holy moley, don’t look at IMDb. Instead, just let David F. Sandberg’s movie work its magic on you. Aquaman was fun but overstuffed; Shazam! strikes a better balance between building a new world and telling a small personal story.
That story does start out somewhat darkly and maybe too intensely for the younger kids who will want to see this. Instead of focusing on Billy Batson (Asher Angel), we meet young Thaddeus Sivana (Ethan Pugiotto). Harangued by his father (John Glover), bullied by his older brother, on a snowy car ride Thad’s magic 8-ball transports him to an encounter that will change his life yet continue a lifetime of bitter resentment.
It’s only after that encounter that Sandberg and writer Henry Gayden shift to Billy. While the wizard Shazam (Djimon Hounsou) may be looking for a pure soul to share his power, Billy doesn’t quite appear to be that. Life hasn’t treated him well, and it’s given him rough edges. At his core, he’s good, but the arc of the movie is as much about sanding him down to that goodness as it is superhero fights.
If you’re familiar with the original Captain Marvel, Shazam! may be a major shift. It leans heavily on comics’ most recent take from Geoff Johns, and for a new generation, that’s not a bad thing. Johns accelerated the gathering of family around Billy Batson, and Sandberg hides many easter eggs through the film to set up sequels without making them obvious.
Shazam! also lays the groundwork for the new vision for a connected cinematic world. Fellow foster child Freddy Freeman (Jack Dylan Grazer) isn’t a superhero junkie in the way comics fans are. The script establishes that the Justice League does exist in this world, and Freddy literally hero worships them. Billy can be the cynic for the audience that doesn’t know that much about comics; Freddy guides him. We’ve just never seen the goofy take on licensing and souvenirs (whether legal or not) that would exist in such a reality. (Okay, the CW’s The Flash sort of stole that thunder a while back with a visit to the Flash Museum, but Shazam! plays it so much better.)
The movie has real heart, something that not all superhero movies reach. Like the best of Marvel’s movies, Shazam! really has something to say about family and children’s well-being, extending to the adult Dr. Sivana (Mark Strong), portrayed as creepy and frightening, yet with childhood damage throbbing underneath. The movie stays fun becuase it still never loses sight of being about a 14 year old boy who can turn into a 30 year old superman.
I don’t know whether it’s Angel or Zachary Levi as Captain Sparklefingers who should get credit for this, but they are completely believable as one personality behind two faces. To point out specific examples might ruin the fun of the movie. Just trust us on this one, and know that Levi is the Captain Thunder we didn’t know we always wanted. For the next movie, though, Warner Bros. should really decide what they want to call the character. The running gag of actually not giving Billy a superhero name won’t make sense when Freddy is so clearly into licensing opportunities.
Enough. Shazam! almost never stops delivering surprises, and adds to the biggest surprise for DC Films — we do want another Justice League film, but maybe we don’t need Superman and Batman to do it.