The movie is well made, from the acting to the CGI.

I think the main problem was the script. I did not feel any connection to the characters, to the point I caught myself thinking, "Hmm, if the villain wins, who could defeat him with so much power, not superman he's weak to magic...".

It's not a good sign when you are not rooting for the hero, but merely, matter-of-factly, waiting to see who's gonna win, not really caring either way.

The final showdown felt blown out of proportion for an inexperienced, unprepared hero, it's like, (if you watch Shazam you'll understand the reference), if NEO from The Matrix went straight to fight over-powered Agent Smith from The Matrix Revolutions.

In the end, it tried to be light-hearted and jovial as Spider-man while being a little funny like Deadpool, and missed both targets.

So sad for the potential wasted, it could have given the magic aspect just a little backstory so we wouldn't have been completely lost, develop the kids friendship a little more, maybe one or two bonding experiences, while having the final showdown with a little less world-ending stakes.