Tappy Slash
Save the kingdom from the evil orcs by slashing and tapping your way through hordes of enemies!
Role: Tech Design
Engine: Unity
Duration: September 2024 - December 2024
Team Size: 7
This was my first foray into both making a mobile game and working with Unity's Visual Scripting. Despite a lot of setbacks, I'm still proud of the work we accomplished with this game, and how much I was able to learn and accomplish with Unity Visual Scripting.
I was responsible for core gameplay, like the attacking mechanics, the player character, enemy character its attacks, and some menu elements and UI.
Play now on itch.io!
Overview

Milestone Work within the Project
While I did handle additional work such as the latter mentioned TurnTrigger boxes, some menu UI like the pause menu and updating menu elements, the cursor trail renderer, and other gameplay tasks, this is the work I'm most proud of having accomplished.
Player State Machine
This is the player state machine; it handles movement, combat, turning to move in different directions, and win/lose states.
The player will constantly move forward and then stop once it detects an enemy, switching the player to a combat state where attacks may be dealt. When it detects a "TurnTrigger" trigger box, the player will rotate a number of degrees that can be determined as a variable on the turn trigger box.

Player Damage Script
The way the player deals damage. Tying raycasting to where touch input is being detected, the rays check for the enemy to deal damage, and at the same time set the transform of a trail render to give it a slash effect. The damage amount and type are sent to a similarly structured Enemy script, which handles both taking damage from the player, and dealing damage to the player.

Lessons Learned
It was difficult trying to adjust to Unity Visual Scripting having had some experience with Unreal's Blueprints. The similarities and differences felt like I was learning visual scripting from scratch, but I eventually found ways to connect my knowledge from Blueprints to Unity's equivalent. Furthermore, Unity offered a lot less room for error with my workflow, which taught me to be more rigorous and less reckless with how I approached gameplay elements. I became accustomed to adding checks within my events, and trying to optimize it to be as efficient and smooth as possible.
My challenges with learning Unity Visual Scripting were further mounted with problems with my Unity's gradle, which slowed playtesting. I had to eventually resort to creating a copy of our project in Unity 6, where building the project worked on my device, and I used this version to experiment changes and new approaches to our mechanics.

Conclusion
I'm very grateful for what I was able to learn from my work on this project, and as challenging as it was at times, I fully believe it led to my growth as a developer and designer. I learned to be more rigorous and intentional with my work, and being responsible for the gameplay mechanics, I was also very close with the game's balancing and flow, where I learned a lot about how to pace a game and its combat.
