LUMI

High Concept

All humankind is placed under a curse by a dark force, forcing them to live underwater in the form of an animal spirit. Venture through the three different underwater environments and collect the orbs of power to defeat the curse. This game was made using Unity, with a group of 6 students. I was the lead programmer of the project.

Project Info

  • Project: Carleton University Capstone Project
  • Role: UI Programmer, Gameplay Programmer
  • Engine: Unity
  • Programming Languages: C#

Responsibilities

UI Implementation

  • Main Menu/Pause Menu/End Screen implementation
  • Health and Speical ability bars
  • Mini map that you can expand to see the full map that shows walls, enemies, interactables, quests, end point
  • Level up icons when you comlete quests
  • Dialogue text that comes up when you chat with NPCs that gets updated when you complete a quest for them
  • Crosshair when you are in range of enemy
  • In game UI: enemy health, quest icon on NPC, chat icon on NPC
  • Full keyboard/controller implementation
Lumi Screenshot
Lumi Screenshot

AI Implementation

  • Enemy type 1 - Shark: Follows player when a certain radius in front, bites the player at certain intervals. Chose a melee type attack since the player has a ranged attack so they can dodge this enemy easier
  • Enemy type 2 - Ink Blob: These ink blobs would float around in the water thorughout the level, and if the player got close enough it would slowly follow the player. Player has to hit the blobs to get rid of them, they sometimes drop health.
  • Boss - The Kraken: This boss had 8 tentacles that would move around and try to hit the player when close enough. The kraken shot ink blobs that would follow and hit the player unless the player shot it in time. Kraken would take some damage when hit on the mesh, but had a weak spot in the back of its head that would open/close in certain intervals that when hit would take extra damage.

Dialogue System

  • Created dialogue system for core storyline with sidekick and enemy, and side quest NPCs
  • Dialogue would update based on how much you had progressed, for example on a jellyfish collection quest it would update the text if you had already picked up a jellyfish before talking to the quest giver to acknowledge that you had started the quest already
  • Dialogue system included input prompts in the UI that came up when near an interactable character, click to advance feature, and sound effects based on who was speaking to you
Lumi Screenshot
Lumi Screenshot

Quest System

  • Game included a main quest to pass each level and defeat the boss and 3 side quests, one per level
  • Created a quest system to keep track of where the player was in game and what quests they had finished
  • Player got a permanent buff when side quests were complete that were kept for the rest of the game
  • I created three different side quests - a collection quest, kill enemies in certain time, and a racing quest

Environment Generator

  • To assist in the level design of our three vast underwater levels, I created a random environment generator that took in assets from the artists and an amount and placed them randomly on a flat plane and would attach to either the floor or other models in the way
  • It was made designer friendly so it could be placed on the ground, on rocks, and on other items placed on the ocean surface
  • It was also very flexible for the designer to play around with the assets and amounts in the generator to make it look right
Lumi Screenshot