Website 1 Logo Ruohan Lu
  • Professional Projects
  • Game Projects
  • Maya & UIUX Projects
  • About
  • Contact

Aqua's Will

A Unity 2D Platform-adventure Game

Aqua's Will is a 6 students' program at Shanghai University. By creating a single-player game, our goal is to make people realize the importance of protecting the environment with a compelling backstory and detailed action.

Project Info:
  • Platform: PC Windows10
  • Tools: Unity & C# & PhotoShop
  • Date of Completion: 2023.07
  • Controller: Mouse & Keyboard
  • Art Style: Cartoon
  • Contribution: Game Programmer&Game Designer
  • Project Download Link: Aqua's Will

What are we doing

Inspiration

Today, 40 percent of the world's oceans are severely impacted by humans, and more than half of the coastal habitats are being degraded. As humans enjoy the natural gifts of the ocean, we must remember the pain that the ocean has experienced. Thus, We created an ocean-themed game and hoped to use it to bring people into a marine life perspective.

My Duty

As the lead programmer and designer on the team, my responsibilities include building scene interactions, writing enemy AI to bring this game world to life and design game level and mechanics.

Introductory Scene

The gameplay experience begins with an introductory scene that invites the player into Aqua's world with a story opening. Through on-screen transitions, the player becomes Aqua and embarks on a quest to save his friends.

Gameplay
Main Character

Players take on the role of Aqua, a sea spirit, and use their skills to pass through various obstacles and travel to the deepest part of the ocean to purify the mutated whale sharks.

  • Aqua is the messenger of the ocean, so the level of pollution in the ocean is closely related to Aqua, who has an oxygen bar and a pollution bar, which will produce different results through different interactions with the surrounding environment:

    • In the dark, oxygen-free dead zone the oxygen bar decreases, the oxygen bar decreases to zero, and the game ends.
    • The Pollution Bar increases over time and increases dramatically when the Sea Spirit touches an oil or trash drop, is touched by an enemy, or is attacked by an enemy. Once the pollution bar is full, the game ends.
    • If Aqua is hit by a falling rock, falls into a giant vortex, or is struck by a spiked wolfsbane, the game is over.

Game Scene Design Iteration

At first, our team designed the following map, then we gradually added all kinds of organs and traps in the map, and built TileMap for user testing, then, we encountered problems:

Problem: In the initial map design, we created a vast and intricate world. However, during user testing, a player raised a critical issue - the immense open spaces made it difficult to find the path to the final boss. At the same time, players responded that they didn't know what the organs on the road were and how those organs worked on the players.

Solution: First, we restructured certain areas of the map, breaking down the larger open spaces into more manageable sections connected by well-defined pathways. This not only facilitated easier navigation but also enhanced the overall flow of gameplay.

Then, we added visual cues, landmarks, and defined pathways to guide players while revising the grand scale of the environment.

After this improvement, there was a noticeable increase in player ratings of the maps, which they felt were helpful in helping them understand the map's content and complete the flow of the game.

Here's the iteration of final map:

Customized Enemy AI System

Problem: When creating a platform-adventure game, one of the primary concerns is designing the enemy AI system.

Initially, we use simple conditional judgements to make enemies, which offered basic functionalities for patrolling, detecting the player, and engaging in combat. However, we encountered a significant challenge in achieving the desired level of complexity and intelligence in enemy behavior. Additionally, as our game heavily relies on the AI to provide dynamic and immersive gameplay experiences, we found it necessary to explore the development of a custom AI system to meet our specific requirements.

Solution: To overcome these challenges, I studied the following ways to compose an enemy AI.

  • Conditional judgment
  • Finite state machines
  • Behaviour Tree

After weighing the pros and the cons, I chose to customize the state machine to complete the writing of the enemy (specifically the Boss) AI. By calculating the state and position of the boss and the position of the player, the boss can "intelligently" track the player and make it more difficult for the player to hit the boss. In addition, our AI takes into account the collision system, so that when the player tries to get close to the boss, the boss will unleash the collision skill, so that the player will have to stay at a certain distance to fight the boss. I was responsible for the development of the entire state machine. After implementing the system and conducting several tests, we achieved remarkable results. The illustration shows the state description of the Boss.

Boss can achieve functions are as follows:

  • The boss can automatically follow the protagonist;
  • The boss model has a total of four actions: Idle (Idle) Run (Run) Attack (Attack) Death (Death) Impact (Smash);
  • The boss can respond to player's different action.

In this case the state machine can be subdivided into: the state machine system, the state base class, and the actual script mounted on the object. First, the different states are written using inherited state base classes, then the state machine system is called to control the state methods, and then the individual states are added by registering events in the actual script on the object.

Things I did

  • The code framework of the whole project.
  • Control system for player characters.
  • Interaction effects between the player and the scene.
  • Gameplay, game mechanics and game scenarios.

What I learned

  • Implement a 2D Platform-adventure game from 0 to 1.
  • Develop a custom finite state machines AI system within Unity.
  • Process of working with art, handover of documents
  • Teamwork to design the flow of the game