top of page
AngelChronicles.png

Angel Chronicles

Angel Chronicles is a game made in Unity, as a group project for the Project II university course.

The goal of this project was to develop a full Unity game, along with shaders also developed by us.

We decided to implement a Puzzle-Platformer game, with toon shading.

The player takes the role of an Angel who can't fly and has to collect feathers, face enemies, use special mechanics and reach the aureola at the end of each level.

This game and its mechanics were heavily inspired by other games of similar genres, as explained below.

General Overview

Game Mechanics

Angel Chronicles' main mechanic is the ability to "consume" enemies to the players' own advantage.
This was hugely inspired by Klonoa: Door to Phantomile where, for instance, you can grab a flying type of enemy to get yourself off of the ground and reach higher places on the level.
Also, the star that follows the Angel all the time, indicating the number of tries in the current life, was inspired by Spyro.

Angel's Hand Mechanics

The Angel's hand is detached from the body and its behaviour allows it to be thrown a certain distance, in order to try to grab and hold enemies that it collides with, and possibly make use of its individual mechanic later on.
This was hugely inspired by Rayman 2: The Great Escape.

Levels Design

Our goal was always to allow the players to experience the basic game mechanics in a secure environment, i.e. without the risk of getting damaged or losing lives.
For instance, this can be seen in the initial interaction with the Spring Enemy on the first level, where the players can try to grab and consume its jumping mechanic without the interference of other external threats.
This was inspired by the level design from Super Mario Galaxy.

My Contributions

Game and Levels Design

As a team, we always gathered together and considered the game design ideas from every single one of us.

Personally, as a huge fan of Klonoa: Door to Phantomile, I really tried to make sure that the "consumable enemies' mechanics" feature was taken into consideration, as it would allow us to explore different game scenarios and test our capabilities both in programming and in 3D modelling, texturing & animation.

Angel's Hand Mechanics

Working on a side Unity testing scene, I programmed the Angels' hand mechanics of self-throwing and grabbing, consuming, throwing & charge-throwing enemies.

The charge-throw ability, in particular, made use of the projectiles' motion equations to make it possible for the player to visualize the trajectory of their throw as they aim.

Besides its hand mechanics, I also contributed to some punctual improvements on the movement behaviour code of the Angel, more specifically by making use of Quaternions so that the movement of the Angel would be relative to the Main Camera rather than to the World, and also by making sure that simultaneously moving in the two horizontal axis (diagonally) wouldn't add up and increase its velocity.

Angel Animations

I was responsible for the animations of the Angel, more specifically the creation of its rig, skin weights, fingers and toes' set driven keys, and finally the animation keyframes for Running, Idle (3 variants), Jumping and Falling, as well as for animations during the use of enemies' mechanics (OnHeli, OnJumperUp and OnJumperDown).

The Angel's hand has 3 additional animations that are independent of the body (Thrown, Returning and Grabbed), so the solution was to export it as a separate .FBX with the same pivot as the body, making it easier to import it all back together in Unity.

I also took care of the respective Animation Controllers and the C# code responsible for the animation clip switching logic.

Enemies Mechanics

Working on a side Unity project, I programmed the individual behaviours of 4 of the 6 enemies featured in Angel Chronicles. More specifically, the post-consumed mechanics of the Spring, Helicopter and Magnet, and the general behaviour of the Cannon:

  • Spring: created a Physics Material with bouncing characteristics, as well as a script to control the initial force and maximum duration of the bouncing;

  • Helicopter: wrote an upwards translation script with controls for the velocity and maximum duration of the flight;

  • Magnet: wrote a script for toggling the direction of the gravity force on the player's movement script, as well as for interpolating (lerp) its rotation Quaternion towards a default value during that transition;

  • Cannon: wrote a script that generates a field of vision where the Cannon can shoot a raycast check towards the player, based on maximum given values for the distance and angle of detection.
    If the Cannon's raycast directly hits the player, it will make use of the projectiles' motion equations to determine the necessary angle of shooting and the initial velocity of the firing cannonball itself.
    There's also a cooldown between each cannonball fired.
    On the other hand, if the player isn't detected anymore, the Cannon will interpolate its rotation Quaternion towards its default value.

 

Enemies Animations

I was also responsible for the animations of all the 6 enemies featured in Angel Chronicles:

  • Spring: Jumping;

  • Helicopter: Flying;

  • Magnet: Running (rig, skin weights, toes' set driven keys, and animation keyframes copied from the Angel's .FBX);

  • Cannon: TurningRight, TurningLeft, Shooting;

  • Spiky: Worming (tail's rig, skin weights, IK spline handle, locators, and animation keyframes), SpikesRetracting, SpikesOpening;

  • Piranha: Swimming.


As it happens with the Angel's hand, the Cannon's turret and the Spiky's spikes also have animations that are independent of the body, so they were also exported as separate .FBX with the same pivot as their respective bodies, making it easier to import it all back together in Unity.

 

I also took care of the respective Animation Controllers and the C# code responsible for the animation clip switching logic.

Sound Design

I researched all the sound effects present in Angel Chronicles, as well as the sound effects and background music present in the game's trailer.

I used Audacity to manipulate each sound effect.

©2021 by João Soares. Proudly created with Wix.com

bottom of page