Tommy Hoang

Game Development Portfolio



World Warlock

  • A capstone project for the Algonquin College game development program.

  • Awarded 2nd place for "Achievement in Accessibility" at the 2024 Level Up Showcase.

  • Engine: Unreal Engine 5.2

  • Role: Programmer, UI Designer, Level Designer

  • Development Time: 8 months

  • April 2024


Wek arena

  • A personal project created in Unreal Engine 5.2. Created custom AI behaviours and mechanics to create an engaging and challenging enemies.

  • Engine: Unreal Engine 5.2

  • Role: Sole Developer

  • Development Time: 2 Months

  • August 2023


Wek Survivor

  • A personal project created in Unity. Utilizes a Microsoft Azure Playfab database to keep track of scores of over 1000 players.

  • Engine: Unity Engine

  • Role: Sole Developer

  • Development Time: 1 Week

  • September 2022


Discord RPg

  • A turn based RPG game that uses the discord.py library to facilitate battles. It features a SQLite3 database to manage and store unique player data.

  • Role: Sole Developer, Sole Artist

  • Development Time: ~1 Week

  • August 2023


Card Game

  • A prototype of a strategy card game created in Unity. All sprites were created using Adobe Illustrator and Animations were created using the Unity Editor.

  • Engine: Unity

  • Role: Sole Developer, Sole Artist

  • Development Time: ~1 Week

  • August 2021

Contact Me

Email: [email protected]
Discord: Tomqui

WORLD WARLOCK

  • An Algonquin College capstone project created in Unreal Engine 5 for the Level Up 2024 Showcase. Collaborated with a group of 15 students that comprised of both programmers and artists.

  • Throughout the course of this project, I worked on gameplay programming, level design, UI design and more!


Programming

  • Programming was my main role on this project. I created many key features and had to completely rewrite existing features that weren't working as intended. These are some of the things I worked on.

UI showing the queue of elemental ammo loaded into the gun
  • The Gun system uses a queue of bullet structs. Each bullet can be imbued with a different element to shoot enemies with.

  • The early versions of the AI were designed by me. These AI had the capabilities to strafe around the player and crouch behind cover, shooting the player when possible.

  • I ended up having to refactor 4 of the 5 spells, as well as many other gameplay components to fit the standards of the game.

  • Our Last Man Standing mode was also created by me. This is a endless wave based system where players can mess around with the game mechanics. More can be found out below.


User Interface

  • Over the course of development, I implemented different iterations of UI in the game.

  • In the prototyping stage I created a simple HUD to indicate player HP and ammo count. I also created a rudimentary menu for imbuing ammo to bullets

  • Further into development, I added UI for spell cooldowns and showing the upcoming queue of elmental ammo loaded. I also worked on things like damage and grenade indicators.


Level Design

  • More than halfway through development, I was tasked with creating our endless wave mode, Last Man Standing. In this mode, players are challenged with a wave of enemies charging at you from the trenches.

  • The main difficulty balancing this mode was that players ended up camping on rooftops. To stop this, and to add variety to the gameplay, I added round modifiers so that players would be forced to play differently. These modifiers caused a wide variety of things to occur such as artillery fire getting shot towards you, and a machine gunner constantly firing at you.

  • This game mode ended up being a pivitol part of the project as most players end up spending most of their time here to play around with the game's systems.


blueprint programming

  • Throughout development, I worked using a mix of C++ functions and blueprint callable events to create robust and efficient gameplay systems.


Wek arena

  • An Unreal Engine 5.2 game created in C++ .

  • The main focus of the game is the enganging AI created using finite state machines.


Dashing AI

  • The dashing AI consists of an enemy that attacks the player mainly through the use of dashes.

  • It was difficult making the dashing AI feel fair to players. This is circumvented by having the AI telegraph its next move. By using procederal animation via C++, the AI slowly moves backwards indicating that its preparing to dash.

  • When the AI reaches a certain health threshold, its attacks become faster and more frequent. It also has access to more abilities.


Fire AI

  • The fire AI consists of an enemy that attacks the player mainly through the use of flaming projectiles.

  • The goal was to create an enemy that overpowered you with its firepower. The issue with this was that it was difficult making each projectile feel different. The solution to this was to create projectiles with different speeds, sizes and effects.

  • Examples:

  • 1. Basic projectile shot at a regular interval

  • 2. Homing projectiles that can be shot down

  • 3. Large projectile that will hit the player if not shot.


Magician AI

  • The magician AI consists of an enemy that teleports around the map, throwing explosive cards at the player.

  • The goal of the magician was to portray it as a trickster through the gameplay. This is why it constantly switches location.

  • The magician has a unique mechanic where different colored platforms appear on the ground. The player must go to a platform with a corresponding color as the one on the enemy's head, otherwise taking damage.

Wek Survivor

  • A Unity game created in C#.

  • Integrated with a Microsoft Azure Playfab database to keep track of the scores of over 1000 players.

Discord RPG

  • TO DO