Turn-Based Battle System
For the battle system, I use a state machine to manage the different battle states of each character on the field. First organizing everyone by their speed stat, and then giving the player and enemies their own unique states since the player needs to choose an attack or item to use. Each attack the player has has a scriptable object associated with it that holds the attack type (melee or magic) as well as the difficulty of the attack. It will spawn it a minigame corresponding with the attack type and the player will then have to draw on the screen to perform the minigame, dealing damage based on how well they did. This turn system repeats until either the player or all the enemies have been defeated.
Sword Attack Minigame
For the melee minigame, the player has to trace the screen, moving their mouse towards a dot icon. When they reach the dot another will spawn. This will continue until the minigame is complete (a set amount of dots have been hit), the timer runs out, or the player releases the mouse button. For visual polish, a trail is drawn after the mouse as well representing a sword swing.
Cutscene Player
For the game's opening cutscene, I use Unity's Timeline to organize all the voice lines, splash art and dialogue into one scene. I created a system that pauses the cutscene after a set shot is finished, having it so the player can click to continue, so they can get a chance to look at the art or re-read dialogue. The player can also choose to skip the cutscene entirely, moving on to the main gameplay.