Shazam! revolves around Billy Batson (Asher Angel) who is recently put in a foster home. He wants nothing more than to find his birth mother, but after defending his disabled foster brother named Freddie (Jack Dylan Grazer) he finds himself becoming a superhero and a superhero that looks to be in his 30s at that (played by Zachary Levi).
Shazam! further shows how far from Zack Snyder initial vision the DCEU is now heading in. As someone not familiar with the character or the mythology of Shazam, parts of the film do seem silly. However, the best thing about the film is that it is full of heart. But overall, I did find the film to be generic.
Zachary Levi gave a great performance as a superhero Billy. He is what I imagined a teenage superhero to be like, he wasn’t goody-two-shoes right from the get go, in fact he relished in the fame and was selfish for a large chunk of the film. He was also perfect for this role as he clearly embodies that childlike energy though Billy himself wasn’t really childlike given all that he has been through. Jack Dylan Grazer, mostly known for It, brought plenty of charm as superhero fanboy who tries to guide Billy in his superhero persona.
I love the foster family aspect in this film and while Freddie and Billy had a great relationship together, I would have liked to see more development with Billy and his other foster siblings. The villain was also very generic and disappointing. I am a big fan of Mark Strong and I think they could have executed his backstory and motivation better since it felt a bit over the top.
Overall, while enjoyable Shazam! doesn’t really stand out from the plethora of superhero films seen today. But the film has a lot of heart and charm, and Zachary Levi proves that he can carry a film. I give Shazam! a B-