CrossCode is an isometric JRPG with real-time combat and a Sword Art Online-like premise, but a much better story than Sword Art Online. It is the best singleplayer game I've ever played except for maybe Undertale. While I was playing this game, I spent like 8 hours a day on it. I never wanted to do anything else.
The combat system is as deep as I expect from an RPG: probably not deep enough for a multiplayer match game, but plenty deep enough for me as a singleplayer scarce game. It revolves around timing and positioning with a dash dodge (there's also a block but I personally found it almost completely useless). It moves fast enough that you struggle to keep track of everything, as opposed to games like Dark Souls where you're often just waiting for the next attack to dodge and get your opening. You have both melee and ranged attacks, and can't specialize to a large degree.
For a lot of the game you can fight with AI-controlled allies. They're intelligent and never a drag on you. They can go down but it's rare and they get back up after a while.
There are many trial and error telegraphs, and several mechanics that are not clearly explained (or not even mentioned at all, like the existence of perfect guards, unless you go to the Info Hub in Rookie Harbor). But the telegraphs are fun to play with once you understand them and there is a combat practice you can use to test stuff.
One of my favorite sources of depth is the element system. The player and certain enemies can change their element during battle, which means different stats, move sets, and resistances. If you switch to the same element the enemy is attacking with, you take a lot less damage, but doing this constantly can require a lot of mental effort which makes you get hit more often in the first place. How much attention you want to pay to this can be an interesting decision. Also, elements always counter their opposites, so being the opposite element makes you do more damage and take more damage. To give an example of how deep these interactions can get, here was my strategy for a certain boss that uses heat in phase 1, shock in phase 2, and switches rapidly between them in phase 3:
In phase 1, always be wave because I can avoid most of his attacks and wave has my favorite ability (a ranged attack that seeks and heals me), unless it's time to attack and I have full health, then be cold to do more damage. In phase 2, be shock most of the time because I found his attacks much harder to dodge so having the right elemental resistance was more important. During windows for me to attack I would switch back to wave to cast the healing attack and then switch back to shock. In phase 3, I would switch between shock and wave more frequently, staying as wave during fire attacks.
There is also a mechanic called elemental overload that happens if you overuse elemental attacks, which forces you to stay in neutral mode for a long time. But sometimes it's worth purposefully paying this price, for example if an elemental attack would let you finish off a dangerous enemy or a boss is about to turn invulnerable again and you don't need to be elemental during its invulnerable period.
The game shows you numerical stats and damage numbers on each hit, but doesn't disclose the damage formulas. In the skill tree, you see numbers on passive upgrades, but not on active abilities, nor even a demonstration of the casting time and hitboxes before you invest in them (there is limited re-spec). On the good side, the way the skill tree is arranged places a lower and upper bound on the number of active abilities you get, and most of them are well-balanced, so it's not too bad.
There's a big focus on puzzles, with each major dungeon introducing one or more new puzzle mechanics. They're pretty good puzzle mechanics with a wide range of interactions with each other, and they usually do a good job of teaching new mechanics before expecting you to know how they work (though there is one major fail in this department that sent me to the internet: wavebombs don't interact with floating waterballs but do interact with frozen ones). The frequent use of elevation as a puzzle element is a bit awkward because elevation is often not visually apparent in the game's graphics style, but it only takes one fall to realize it, and falling outside of combat is not punished because health regenerates quickly outside of combat.
The puzzles also made good use of quality-of-life aids like reset buttons so you don't have to move too many things back into position after a failed attempt.
The biggest issue I have with the puzzles is that a lot of them depend on bouncing projectiles at such precise angles that I was trying the right solution but decided it had to be wrong because I couldn't get the angle right. Also, the target preview while aiming a projectile is sometimes wrong, especially when you have to bounce a projectile off a jagged surface.
The game is structured as a typical RPG with quests, leveling, equipment and consumables. It is technically open world but I called it a JRPG because there's no player control over the player character or story for the most part.
The presence of leveling and equipment come with their usual problems:
There's no way to know what level you're supposed to be at for a given dungeon, and thus no way to balance the game to your desired level of challenge. (Enemies are not scaled to your level)
Doing quests makes the game easier. You can't both do a lot of side quests and have a challenge in the next main dungeon unless you deliberately weaken yourself with bad equipment or skill choices. (I didn't personally experience this problem in CrossCode because I was too interested in the main story to want to do a lot of side quests, but I'm sure there are players who do experience it.)
Equipment introduces some effective randomness because it can found, bought, and crafted, and you can't predict what you'll find or suddenly be able to craft. For example, there was a time I bought a massive upgrade in equipment only to immediately get something for the same slot as a quest reward that I considered very slightly better.
As for consumables, thank Radical Fish Games that they get returned on death!
You are equipped with a map and fast travel with multiple destinations in each area, because the game cares about not wasting your time.
It uses a manual save system (autosave-supplemented) with no saving during combat. This system is appropriate, but sadly it doesn't always correspond to sections. While you can save after every fight, if you die in a regular field area it often undoes a previous fight or two. I'm not sure exactly what the rule is. Beginning of the room? Last time you entered an undiscovered room? I'm also not sure if it actually modifies your save file to undo those fights or if you could get them back by quitting to the title (there is no button to load a save except from the title screen). I've only seen this happen in field areas, not dungeons or story fights.
The story is pretty good. It's got good writing, entertaining side characters with a little bit of development, and climaxes as good as you can ask for. There are no plotholes and characters always act believably with one exception ( Why does Shizuka hate Lea? At first I thought she hates Evotars, but that's not the case. Some people say Lea is a scapegoat for the pain that the Evotar project in general caused Shizuka, but that doesn't make sense either because Lea had nothing to do with any of that, Satoshi's Evotar did. ).
The usage of dreams for the amnesiac protagonist is excellent. They're part meaningful and part mundane and they mix and match people, places, and dialogue and have scene transitions just like real dreams. I felt like I was actually figuring things out along with the characters.
Another cool thing is that there's a lot of scenes where the story outcome actually depends on the player's performance (PvP duels and dungeon races), although I failed at every one of these.
Criticism of one ending:
The bad ending is jarring and frustrating because the tragedy comes out of nowhere. The heroes' plan works out exactly, I succeed at every task given, and then several months later, with nothing leading up to this, "actually all that was for nothing everyone dies there's no hope left bye!". Second, Sergey's dialogue sounds like he gave up when he add options. He says he wasn't allowed to keep a backup of the Evotars... does he realize Instatainment couldn't have stopped him or known if he kept a copy on his own device? Oh my god, he did that didn't he? Is he stupid? I refuse to accept that the story ends with him killing Lea for no reason.
I've always hated the silent protagonist trope because it breaks the story, but this time there's an in-universe explanation! Lea's avatar speech synchronization is broken, so she can't speak, but a hack is used to give her the ability to say a few specific words. As a bonus, it's sometimes cute to see how she communicates with such a limited vocabulary.
Albeit the in-universe explanation doesn't quite hold up because Lea should still be able to communicate with writing in the air, morse code (I would totally put in the effort to learn it if I needed it like she does), that the explanation is there is what matters most to me.