Crystal Story II: War of the Shattered Sky Review | Hardcore Droid


Published on February 26th, 2014 | by Amanda Lynn


Crystal Story II: War of the Shattered Sky Review

Spread the love

Anrdoid-rpg-crystalstory2-01A quick perusal of the Play Store shows us the hit-or-miss quality of JRPGs on Android. The grievances echo through many a player review: broken gameplay, menu labyrinths ensnaring your upgrades, turn-based battles seeming eternity-based, unfair in-app purchase systems—sometimes, the execution can go terribly, terribly wrong.

But in a hit-or-miss arena, Crystal Story II: War of the Shattered Sky whacks the mole. The Crystal Story series began in 2011, when Indie developer Emmanual Salva Cruz released the first installment on Newgrounds as a browser-based flash game. This chapter of Crystal Story sets the series’ stage with a random dungeon generator, character classes, and skill and equipment upgrades—in other words, the trifecta of JRPG goodness packed into a .swf.

We see some familiar in-game characters from Crystal Story in Crystal Story II, but the landscape and its population have grown considerably. The story of Crystal Story II begins after the defeat of the evil witch Rita. In the throes of another land-wide crisis, a young Dragon hero named D must close a sky-shattering portal to stop an invasion of Dargons, and subsequently save the world.


Dragons, Dargons—if it sounds like jargon, you have the option to skip the cut-scenes and dive straight into the meat of battle. The cut-scenes are short and amusing enough to recommend following the story, which plays out in the key of Classic Hero, but also often includes answers to the pertinent question of “Wait, where am I supposed to go?” Your progression through the world is not necessarily linear; mercenary quests, minigames, and calls to exploration fork from the main storyline, giving you plenty of reasons to pay attention while tapping.

As in the first installment of the series, dungeons in Crystal Story II are procedurally-generated and feature scores of enemies both native and nomadic. Enemy encounters throw your party (which eventually totals four) into classic JRPG battles à la Final Fantasy.


Your typical select-and-attack RPG mechanism is at work here, using physical attacks, skills, magic, items, and even your own customizable pet jelly blob. Speed is a factor, and your choice of action will have varying effects on your character’s place in the battle queue. With upgrading weapons comes special charge attacks, the epicness of which depends on the weapon in question. Despite the repertoire of actions available to your party, battles are by no means easy, and call for you to carefully prepare your turns. Victory inspires a party dance and shoutout—and, of course, a ledger of your battle spoils.

Loot is dastardly fun to collect in Crystal Story II, the rarest of which require strategic actions to obtain. Rare items allow you to upgrade equipment and craft items in the game’s surprisingly broad alchemy and armory shops. To make the most of your enemies’ drops and your subsequent upgrades, you need a good thief—and you get one.

In addition to the Thief class and our protagonist’s Slayer class, four additional classes fill the roster: Trickster, Healer, Guardian, and Elementalist. The self-explanatory Healer class focuses on recovery, while the Guardian class is your typical tank class. Elementalists and Tricksters both excel in magic; while Elementalists employ attacks of the four elements (earth, wind, fire, and water), Tricksters cast debuffs on enemies.


Crystal Story II offers an engaging system for class upgrades, which employs a path of nodes akin to the sphere grid system in Final Fantasy X. Each node of the character’s path represents an upgrade to special skills or core stats. In a neat twist on leveling up, you can change your character’s class to pursue a range of different skills.

The minigames in Crystal Story II also deserve a nod, including a Bejeweled-esque gem swapping game, multiple fishing spots, and an ingenious puzzle game that occurs when your party encounters a locked chest. Though Crystal Story II seems to draw inspiration from many sources—homages to some of these can be found in-game as Easter eggs—the game retains a certain uniqueness that makes it hard to call it just another classic JRPG throwback.


From humble flash roots to the mobile market, Crystal Story II earns every one of its stars. It’s the whole JRPG package, akin to the enjoyment you might get from a Square title, but for a fraction of the price at $1.99. While the minimalistic anime art style might not suit aesthetic pallets on a universal scale, a foray into battle quickly proves the game’s appeal.

Unfortunately, the app isn’t operating fully across all platforms just yet, and some reviews cite save-breaking glitches. For this, Crystal Story II loses half of a star. But for most platforms—and even as a flash game available to play for free around the web in the tradition of its successor—Crystal Story II rides along strong as an addictive and engaging Android RPG with a full tank of replay value. This reviewer still can’t put it down, much to the detriment of her real-life responsibilities.


Crystal Story II: War of the Shattered Sky Review Amanda Lynn


Summary: Fun, full-featured, and apt to soak up some serious hours—worth it.


Addict Level

User Rating: 0 (0 votes)

Tags: , , , ,

About the Author

Amanda is a freelance writer and in-progress novelist whose poetry and short stories appear in Boston Literary Magazine, inkscrawl, HOOT Review, and other publications. Her gaming career hails back to the days of 5 1/4-inch floppy disks, and her continued passion for thumb-happy virtual worlds enabled her to eventually gain street cred as a QA tester for a mobile developer in Raleigh, NC. When she's not writing or gaming, Amanda slowly wades through programming books with the hope of someday creating her own mobile title.

Back to Top ↑

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//','ga'); ga('create', 'UA-40229548-1', ''); ga('require', 'displayfeatures'); ga('send', 'pageview');