Yup, that’s what heroes do: help with underage alcohol possession.

I’ve been reading comics much of my life, and I tend to favor the obscure and overshadowed ones for whatever reason. A long time favorite of mine is Captain Marvel, who has gone through many changes since first appearing back in 1939. Renamed Shazam in 2012, Billy Batson and his superpowered alter ego were radically altered, as were most of the DC Comics characters. I, like many long-term fans, didn’t care for many of these retcons, and the current Shazam! movie reflects the new version. So, admittedly, for me personally, the movie had a few strikes against it before I got to see it.

Originally, Billy Batson slept on the streets and was chosen for his pure heart to be the champion of the wizard Shazam, and fight evil as Captain Marvel. In the reboot, he’s a kid in a foster home, and that’s the version the movie focuses on. The movie opens with one of Cap’s (sorry, he’ll always be Captain Marvel to me) major foes being totally rewritten, and another one getting a brief cameo. The opening scene also gives actor John Glover the unique honor of now being the father of two of DC Comics’ greatest supervillain geniuses.


We then get to see Billy. Fittingly for the new version, Billy starts off committing several crimes, although with good intentions. We learn what his quest is, and I get doing what you can to make it happen. He makes a good attempt and gets caught and brought back to social services, where we hear more about his life. Billy gets sent to a new foster home, run by Rosa and Victor (played by The Walking Dead’s Cooper “Jerry” Andrews). We get to meet two other important characters in the Marvel mythos, Mary Bromfield (later revealed to be Billy’s sister in the comics, at least originally), and Freddie Freeman. For some reason in the DC Extended Universe, Metropolis and Gotham are ok, but the made-up city of Fawcett, where the Marvels live and perform their superheroics, has been changed to Philadelphia. Fawcett does get a mention, now the high school Billy and Freddie go to.


Freddie, we quickly learn, is a big superhero fan. He’s also a target of some bullies at school, who seem utterly unredeemable. Despite trying to be a loner, Billy stands up for his new foster brother. Fleeing the bullies, he ends up in the subway and, like the comics, that ends up taking him to the Rock of Eternity, meeting the wizard, and gaining his powers. The classic Billy is a noble hero, through and through, the noblest of DC’s heroes by some accounts. This version gets his powers and reacts like any kid would. I agree it’s more realistic. It’s a lot less heroic and a big departure for the character. We’ve gone from “You are the noble champion” to the wizard essentially saying, “Eh, good enough.”


Most of the rest of the movie is Freddie trying to help Billy work out what his powers are, the villain stalking Billy, and a lot of family drama. One tie to the larger DCEU: Freddie and Billy are practicing with his powers in an abandoned industrial building that bears a sign reading “Ace Chemicals.” Ace was a major part of the Joker’s origin. There’s a fair amount of conflict between Billy and Freddie as they adjust to their new reality, and, once again, we see the importance of secret identities, which so many modern comics seem to ignore.


The big climactic battle features a major expansion of the Marvel Family. There’s some great action, humor, and really good casting. The various subplots come together well and get wrapped up in various ways. The villain gets what he deserves, which is always good, and there’s the hint of things to come. There’s a sorta cameo at the end which was disappointing in execution and made no sense when you think about it. There are end credit scenes, but they’re not crucial.


What I liked: Freddie was a lot of fun. I loved him being a hero fan, and how that helped Billy. His collection of t-shirts was a nice nod. Billy changing back and forth so many times in the final fight was something that is true to the early stories, and I liked it. Billy finally started making some good choices near the end of the movie, and those I enjoyed. The casting for the final fight characters was really well done. Zachary Levi did a great job of being a kid in an adult body. There was even a nod to Big, although Cap came first by decades. Asher Angel (Billy) and Jack Grazer (Freddie) also did great jobs, and I really liked seeing Cooper Andrews get more work outside Walking Dead. I always enjoy John Glover’s performances, even if he was a nasty character in this one. They manage several nods to one of Cap’s silliest supporting characters, without bringing him in to the movie, which even I will admit might be too much at once.


What I didn’t: Captain Marvel is long-time favorite of mine. Watching him go from such a noble hero to, at the start at least, a petty criminal, is hard for me. Our hero is fame-obsessed, destroys people’s property because he happens to not like them, and commits a few felonies, as well as running away from the villain the first time they meet. A realistic young boy today? Sure. A hero deserving of great power? Not so much. The confusion about the character’s name from the comics is summed up by how many names he goes through, and that he’s never actually called by name once in the movie. They cheaped out on the cameo at the end, and it didn’t make much sense if you really think it through. They completely changed Cap’s major foe in this movie, and sort of fused him with another, lesser, foe.


I’m going to split my rating for this one. As a fun action movie, and even as a general superhero movie, I’ll give it a 3.5 out of 5. As a movie about Captain Marvel, I’ll give it a low 2 out of 5.


Maybe I’ve become too much of an old-fashioned superhero fan for what DC wants to do with their characters now.