Confession: I cried at the end of Kung Fu Panda 3. Do not take my response to the film’s emotional payload as a strict endorsement of the whole package; as third entries in movie franchises go, Kung Fu Panda 3 is a good bit of fun that falls victim to diminishing returns and an unpolished script. How many times must Po, the unexpected Dragon Warrior, learn valuable life lessons about self-confidence, self-positivism, and selfhood? What other tests does he have to endure before he feels comfortable with his assumed champion status? In fairness, Kung Fu Panda 3 poses thoughtful answers to each of these questions and handily justifies asking them in the first place. This is another necessary leg on Po’s journey, one with an effective sentimental payoff for any theatergoer whose heart is partially composed of sappy mush.
But even if the unification of a family and the re-ennobling of a culture, set against the jaw-dropping beauty of the series’ concept of the afterlife, are successful at tugging on the chambers and valves of our cardiac organs, there is a sense that something more is missing from this tertiary martial arts rumpus. It’s plenty soulful and it boasts a surplus of affection for the story’s cast of characters, which is probably good enough to tide over folks with a strong affinity for the genre (plus the legions of kids at which both the film and its marketing campaign are aimed). As a topper for the trilogy, though, Kung Fu Panda 3 is kind of a mixed bag.
It’s a case of good news and bad news. The good news is that the movie foregoes an open ending; if the architects of the Kung Fu Panda brand feel that they have a good story to tell at some indeterminate point in the future, they can do that, but they haven’t left loose ends for themselves to tie up. That’s a boon for the film in context with itself – narratives designed for the express purpose of setting up a narrative yet to be told are just the worst – and also for the saga as a whole, which up until now has set itself up for sequels for the express purpose of letting Po figure out who he is and what it means to be a hero. But the absence of stingers and portents is, perhaps, as clear a signal of Kung Fu Panda‘s hazy future as its halfhearted writing. There are ideas here, and there are themes here, but they’re half-cooked. Someone turned off the oven too soon. Maybe we’re talking about an honest creative failure here. Maybe we’re talking about the end result of apathy or general uncertainty.
But however you slice it, it’s hard to engage Kung Fu Panda 3 without feeling the slack in the screenplay. This time around, Po (Jack Black) gets to go home to the village of his birth when his dad, Li Shen (a wonderfully “on” Bryan Cranston), tracks him down to the Valley of Peace (per the finale of Kung Fu Panda 2). Like Camelot, the panda village is a silly place – pandas roll rather than walk and they eat dumplings with their hands – but all that matters to Po is that he finally belongs (much to the chagrin of his adopted dad). And that’s it! Po figures out what it finally means to be a panda, neat as you please, with absolutely no dramatics threatening to disrupt his journey of personal discovery.
Oh, wait. Wait! Sorry, missed a part there: while Po is off finding himself in Pandaland, the brutal general Kai (J.K. Simmons) has returned from a five hundred year banishment in the spirit realm. Turns out that he used to be an ally to Grand Master Oogway (Randall Duk Kim), but he turned bad and had to be put in otherworldly lock-up by Oogway himself. Upon returning to mortal lands, Kai goes about tearing down everything corporeal Oogway created throughout his life, including but not limited to the Furious Five (cast members Angelina Jolie, Lucy Liu, Seth Rogen, Jackie Chan, and David Cross, each reprising their previous roles), Master Shifu (Dustin Hoffman), the Jade Palace, the Valley of Peace, neighboring farmlands, and any unfortunate farm animal in his proximity. He’s a total dick. Obviously, it’s up to Po to stop him, but the film sets up a MacGuffin of sorts to guarantee that Po is the only one capable of doing so.
The results are good and diverting; the fight scenes are as charmingly over the top as ever, the animated backdrops are frequently lovely (again, I say: the film’s gold-washed vision of the hereafter is entirely glorious), and the voice work is solid, though veteran cast members are given less to do than the film’s coterie of guest stars. (And if it is tiresome that Po is still characterized as a fanboy and a major spaz, Black’s comfort with the big lug, whether he’s kicking butt or serving as the butt of a joke, makes him easy to vibe with.) That the film excels in these areas comes as little surprise, though, even when taking into consideration the “third movie” curse that befalls all franchise flicks. What needs work here is the “stuff” that gives the movie meaning and cohesion. Much is made about “chi,” which is both the one force that can defeat Kai and also a hallmark of Po’s ancestry (apparently pandas are naturally gifted at wielding chi, which the film treats as something akin to the Force), but little is actually done with it. It is an idea introduced and given little space for being fleshed out, a plot convenience instead of a theme explored in earnest. You can hear the sound of the film’s engine sputtering out as the tank dwindles down to empty. You’ll see worse animated offerings this year, and you’ll definitely see better, but you may not see many that are quite so tragically lackadaisical.
{"id":"2","mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/agcrump.work\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/agcrump.work\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"featured_image","featured_image_url":"https:\/\/agcrump.work\/wp-content\/uploads\/2025\/10\/image-asset-179x200.webp","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":false,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"A Constant Visual Feast","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Support My Work:","form_subtitle":"","currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thanks for supporting my work!","payment_confirmation_title":"A Constant Visual Feast","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much do you want to tip?","initial":{"instruction_type":"normal","instruction_message":"How much do you want to tip?"},"empty":{"instruction_type":"error","instruction_message":"How much do you want to tip?"},"invalid_curency":{"instruction_type":"error","instruction_message":"How much do you want to tip?"}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"Want to make a recurring tip?"},"success":{"instruction_type":"success","instruction_message":"Want to make a recurring tip?"},"empty":{"instruction_type":"error","instruction_message":"Want to make a recurring tip?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}