A Wizard's Journey - 3D Role-Playing Game

[Link to play A Wizard’s Journey]

This is the 5th video game that I created for a Coursera.com class.

The Coursera class did not provide any templates or game assets for this one. But the sky was the limit for what can be used.

I’m a huge fan of spell-caster/role-playing games so I naturally decided to build one of those types of games for my capstone project.

When I started working on this project, I first started with a big-picture vision of what I wanted to create. I started with the general skeletal structure of zone levels leading to boss fights, and then repeating with the pattern of zone levels to boss fights. The style/theme that I was going for was magical spell-caster vs. giant bugs with some cosmic elements.

With enough details to start building, I decided to use one of my previous projects as a foundation to build upon. Although, I would still need to develop changes to the game in order to transform it to what I intend it to be. The game that I used as a foundation is linked [here.] Features that I developed for the game include:

  1. Replaced the guns with hands for spell-casting
    1. I used free hand models from the Unity asset store.
  2. Created new projectiles including fireballs, frost-blocks, and poison arrows
    1. I used projectiles from the base game as a template to build upon
    2. I modified the models of the projectiles, I added particle systems to the projectiles, I added sound effects to the projectiles, I modified damage values and movement speed values of the projectiles to create 3 completely new and unique projectiles
  3. Created the idle hands with a source fireball, source frost-block, and healing orb
  4. Created a system for the player to heal
    1. I transformed a gun into a healing orb and this took much building on my part
    2. I delved into using new inputs to be able to use the mouse right-click in order to heal.
    3. I implemented an animation for the casting of heals
    4. I coded a system for reading right-click input and connecting it to a heal event that would play an animation and heal the player for set amounts
  5. Created a system of flight
    1. I increased the amount of allowed double jumps
    2. I created a UI meter for the amount of “flaps” the player can use to fly
  6. Created UI components for player’s health, player’s lives, and boss health
  7. Made sure that projectiles behave properly when coming into contact with other game objects
    1. I made it so that when fireballs hit other objects, they would explode with a sound effect and leave a lingering flame for 10 seconds
    2. I made it so that frost-blocks would shatter when hitting other objects
  8. Re-skinned many enemies including:
    1. Red shrimp
    2. Red stationary flying enemies
    3. Red chasing flying enemies
    4. Blue chasing flying enemies
    5. Green chasing flying enemies
    6. Blue stationary grounded enemies
    7. Blue shrimp boss
    8. Blue stationary flying enemies
    9. In order to do this, I had to go through each of the components of the skin, which included changing the color of about 10 different components for each entity.
  9. Created special enemy features including:
    1. Chasing flying enemies leaving a cloud of smoke when they die
    2. Stationary and grounded enemies shooting new projectiles that match their element
    3. The interaction between enemies, with enemies being able to harm each other
    4. The Bug Queen boss being protected by the adds being alive
  10. Created 4 zone levels
    1. I mapped out the levels with terrain
    2. I placed enemies throughout the map
    3. I played through the zone levels over and over to fine-tune the experience
    4. I adjusted enemy concentration in specific areas so as to avoid having boring moments, but also to avoid being overly challenging
  11. Created the ball of light, Blite, boss from scratch
    1. I created this boss by first building a model composed of a sphere collider, particle systems, and light objects.
    2. I developed the ideas for what the Blite boss fight experience would be like.
    3. I then set out to implement all of the features in order to bring the boss fight experience to fruition.
    4. I placed waypoints and added a script for Blite to move from waypoint to waypoint.
    5. I coded Blite’s attack to trigger a sphere of darkness to rapidly grow until the sphere of darkness hit the player to inflict 5 damage upon reaching waypoints.
    6. I tailored and fine-tuned the experience by adjusting variables such as how many waypoints the boss would travel to, where the waypoints are, and how much health the boss would have.
  12. Created the Greng and Blught Twins boss fight
    1. I started by developing the idea of the boss fight
    2. I created the 2 boss entities and made them children of the same parent object in order to move in sync with each other
    3. I built the system of entities and mechanics in order to create the boss fight experience of the Greng and Blught Twins
    4. Modified the team ID values of the two different colored enemy entities so that they can do damage to each other
  13. Created the Flite boss fight experience
    1. My goal was to make this boss fight challenging through demanding a certain level of multi-tasking and thinking outside of the box
    2. I created the rising acid floor game object by creating a box collider game object and giving it a skin that would be fitting for an acid floor, then coding the acid floor to grow at a set rate for a certain duration until reaching a specific height.
    3. I populated the level with adds in an escalating concentration.
    4. I used coding to make it so that Flite will jump to specific points when the player is within a certain distance from the boss.
  14. Created the Bug Queen boss fight experience
    1. The original game object of the Bug Queen was not able to fly. I gave her wings and put together her flight animation.
    2. I populated the level with 7 adds and used coding to protect the Bug Queen as long as the 7 adds are alive.
    3. I created a new type of projectile that the Bug Queen shoots. This new projectile is a poison arrow that tracks to the player, and thus creating a constant stream of damage that requires the player to constantly be healing.
    4. I created a new type of projectile for 2 of the adds. This is the growing smoke cloud projectile that tracks to the player and leaves a damaging cloud that acts as area of denial (AoD). These AoD’s will create a shroud to protect the Bug Queen by causing the player’s projectiles to explode or shatter upon contacting the cloud instead of letting it pass through. With this mechanic in place, the player must strategically control their body as to not cover the Bug Queen with the clouds and the player should prioritize taking out the sources of the clouds.

I went far above and beyond the requirements of what was to be submitted for the final project of this Coursera class.

If I were to continue developing this game, these are things that I would add:

  1. HUD feedback for low health
  2. Flapping sound effect for flight ability
  3. Health bars for enemies
  4. Polishing details such as bones strewn about, rocks and trees for the terrain, etc.
  5. More zone and boss levels

With this game, I earned a Coursera.com certificate for Game Design and Development 5: Capstone Project. The certificate is linked [here.]