Naturia Guardian
Defeat the evil monster and save the world
Group Game Development Project
Group Name: Rainy Studio
Role: Game Developer / Level Designer
Duration: 4 month (Jan 2023 - Apr 2023)
Collaborators: Xutong Chen , Purui Shi , Zhengyao Zhu
Tools Used:
-
C#
-
Unity
-
Github desktop (Group work Git Tool)



Game Trailer: Click me
Game playable link: https://kaidenzhu.itch.io/naturia-guardian

Game Description
Naturia Guardian is a 2D action-adventure platform game in which players will take on the role of the character Rabi in a polluted fantasy world to cleanse the environment by defeating the final boss. Rabi has access to both fire and ice elements, allowing players to strategically leverage their unique properties to overcome terrain obstacles and defeat enemies.
The game world is set in a fictional realm where the ecosystem is severely damaged, and plants on Earth can no longer grow through artificial cultivation and seeding. Over the years, these polluted plants have evolved into evil monsters that now attack humans. Guided by the mystical GoldenTree, the player embarks on a journey to protect the environment and purify these corrupted plants. Through a series of challenging levels, the player must ultimately confront and defeat the final boss, the Evil Tiger, to restore balance to the world.

Game Core Loop , design made by the Rainy Studio.
Planning & Challenges
Challenges & Selflearning
During the early stages of our game development project, my team and I brainstormed numerous design ideas and eventually voted on the game's theme and gameplay. Since my three teammates were arts students with no coding experience, and the course focused more on design rather than coding, I faced a significant challenge. I had never used C# or the Unity development engine before, and I had to lead my team to complete a game within 12 weeks.
The course provided almost no coding assistance, making the initial difficulty how to quickly master the Unity development engine and transition from Java to C#. I had to continuously learn and adapt, providing timely updates to my teammates on feasible features and necessary modifications based on my learning progress.

Early Sketches of the Main Character Rubi

Early Gameplay Design of the Game Play
Development and Feature Planning
Initially, our game lacked distinctiveness, making it appear as a reskin of existing games, which could lead to player disinterest. We planned features such as characters with unique skills for solving puzzles and combining items, but development challenges required us to adjust our goals. As the sole programmer, I had to spend considerable time self-learning to implement the code in the later stages.

with power of fire

without power of fire
Special Game Feature: When the player uses the Fire Rubi, if the player gains the power of fire, they can break the ice blocks on the path, allowing them to pass through certain areas more quickly.
User Feedback and Design Adjustments
We initially neglected user feedback, making it difficult for new players to engage with the game. This highlighted the importance of testing and gathering feedback. Each week, we invited friends to test the game, categorizing them into experienced gamers and newbie players. This approach allowed us to gain diverse perspectives on the game, helping us understand different levels of comprehension and preferences. Through this process, we discovered bugs, such as key conflicts, and realized the need for more in-game hints to aid player understanding. This made me realize that user feedback is an indispensable step in refining a good game. Future projects will prioritize user feedback to improve accessibility and gameplay.

One of the feedback from week4's game tester
Alex Player type:Conqueror-Mastermind Game types: Achiever
Game feedback:
-
The knockback animation is too long.
-
The difficulty is too high, and the enemy attack range has a large margin of error.
-
The knockback physics should be more realistic; there should be a prompt to restart when the character falls off the map.
-
Jumping onto the bird causes health loss.
-
There needs to be a brief invincibility period when the character is attacked to ensure they won't be hit again immediately.
-
(We have Alex's permission to display it on the website.)
Task Allocation and Time Management
Uneven workload distribution during the 12-week development cycle resulted in significant time spent on polishing and refinement in later stages, causing stress and potential errors. To manage tasks more effectively, we used Notion to confirm weekly tasks and Git to update daily progress continuously. Additionally, we used Wix to create a development step-by-step website and published work logs every two weeks. This approach helped ensure that the team stayed on track at each development stage. This experience underscored the importance of reasonable task allocation throughout the development stages to avoid last-minute issues and ensure a smoother workflow.


Git / Notion working process screenshot

This is a dedicated website created by the team for the game, which includes each member's work log reports as well as a basic introduction to the game.
Interesting Game Features:
Character design & Game initial design
Initially, we designed three different elemental rabbit protagonists, but due to art issues and a tight schedule, we couldn't implement all three. Therefore, we kept the Fire and Ice elemental protagonists. All the images that appear in the game are independently created by our art team, including each frame of the protagonist's and monsters' actions, which are individually drawn images. This put a lot of pressure on the art team and made the schedule very tight.


Creating the sketches of the Fire Rabbit and Ice Rabbit.

Initial game deisgn / character / buff / monster ..
Backpack System
Players can obtain various types of gems by defeating monsters/Bosses or picking them up from the ground. Players can then return to the Skill Exchange House to enhance different attributes, such as increased attack, health, magic, or special skills.


Players can exchange the items they pick up for different buffs. Once the exchange is successful, a tree will appear in a random area on the map. Players can stand under the tree to receive attribute enhancements.



Additionally, players can obtain special skills in random areas on the map. When players defeat monsters, the monsters may randomly drop skill scrolls, gems, healing items, and other useful items.
Map Design
The game features five maps: Ocean Zone, Swamp Zone, Desert Zone, Corrupted Zone, and Volcano Zone. The difficulty of the levels increases progressively, and the types of monsters also increase. These maps represent a world with a destroyed environment, and players need to defeat the final Boss to save the broken environment.



Map design sketch and final showcase in the game
Special attack behaviour
eagle can move within a certain range and will actively switch to pursuit mode when the player enters that range.Fire rubi's second skill can throw a boomerang to hit monster twice



Eagle's pursuit and patrol mechanism
When the player gets too close to the eagle's patrol area, the eagle's animation will switch to attack mode, and the attack angle will change with the player's current position. After the player is attacked, the eagle will stop attacking for 2 seconds, and then continue to pursue the player. When the player is out of the eagle's attack range, the eagle will give up the pursuit and return to the patrol area.Code:
Boss Stages mechanism
The final boss will have 4 different stages , each stage will have different animations and different sprites.


Monster sketch image. 4 pictures are boss's 4 different stage image



Icey rubi can use his spell to frozen lake.
Takeaways
Through this project, I gained valuable experience in game development using Unity, which was my first time working with this platform. Additionally, I learned how to convert Java code to C#, a new language for me but quite similar to Java. I applied various programming concepts such as designing monsters with different stages using a mechanism similar to FSM (Finite State Machine), and employing inheritance to create a superclass for all enemies, consolidating shared properties for easier maintenance and updates.
As the sole programmer in our group, I learned a tremendous amount this semester. The most valuable experience was the game development process itself. Although our group achieved third place, I believe that with more time, we could have done better. Reflecting on the evaluation, I realized that my focus on implementing unique code behaviors sometimes overlooked the user's actual experience, such as the creation of buffs and the number of keystrokes required. These aspects did not enhance the user experience in the game. Moving forward, I will place greater emphasis on user experience in game development to ensure a more enjoyable and accessible gameplay experience.
I am happy to have continually learned and mastered new coding techniques and gained a deep understanding of the importance of teamwork.
Game Trailer: https://youtu.be/Kdbb0OwBEQk
A video walkthrough of our game:https://www.youtube.com/watch?v=rolVSU1HBio&ab_channel=rtz