Thanh Dang Duc’s Game Design Portfolio

A showcase of my projects designed and produced.

“The Game gives you a Purpose. The Real Game is, to Find a Purpose.”

- Vineet Raj Kapoor

College Projects

Projects developed by and with my fellow students

Enjoy my portfolio!
Feel free to contact me for any questions.

Game Jam Projects

Games developed during Game Jams

Solo Projects

Projects I have worked on alone. Including solo projects outside and inside my college time

Fam Cram

2nd semester - 2D Project

JaNiThaRo - Unity Engine

“The art of simplicity is a puzzle of complexity.”

- Douglas Horton

Fam Cram is my first digital project at my degree. FamCram is a 2D puzzle game about two dads parenting their two daughters. You'll play each level as one dad trying to get his daughters to bed, into the bathtub, or to sit down for dinner. Experience unique levels, obstacles, items and behaviors and adjust your strategy to beat each level in the least amount of steps possible.

Fam Cram's main mechanic is movement; specifically, the movement of the two daughters in relation to their dad. When you move the dad on the grid, his daughters will follow suit in the same direction. Dad moves up one step, daughters move up as well. That is, unless blocked by an obstacle. The trick is using obstacles, items and the daughters' behaviours strategically to make them move simultaneously onto the right tiles.

Roles:

  1. Game System Design

  2. Level Design

  3. General Implementation

Noteworthy:

  • We have created a program, to solve and determine one optimal solution of a level. It is based on the Dijkstra / A* algorithm or rather a BFS / Brute Force algorithm, since all edges have the same value (one step). The optimized A* uses the estimated cost of the cheapest path to the goal, which improves the solving time.

Level Selection Screen

The selection screen is designed as a photoalbum. Each picture features the specified design and comes with new challenges!

Level 1 - The Basics

The first level introduces the Player to the basic mechanic of the game. Only obstacles and no other environmental mechanics.

Super Simple Mechanics

 The father is moving in one direction and the
daughters try to mimic the movement.

    BUT the daughters can block each other or be
blocked by obstacles.

Prototyping

We started prototype our levels analog and validated the solveability manually.

Team JaNiThaRo

My project team. The team name is based on our first names!
(Ja)ime (Ni)na (Tha)nh (Ro)sa

Might

3rd semester - 3D Project

GiMiVaThaSe - Unity Engine

"The courage to walk into the Darkness, but strength to return to the Light."

- Destiny

MIGHT is a third-person single-player action-adventure game featuring the mouse "Poe" that goes on a dangerous adventure to save their beloved world. However, can they outlast the world of fiction? Escape the obscure universe and finish one level after another to reach the end. However, don’t lose sight of the creeping shadows that are desperately seeking to swallow the last drop of light. Use different attacks to slay your opponents and solve puzzles to make progress.

MIGHT's core mechanic is movement, which is mostly determined by a moving light source. Poe has to follow the light while defending itself against enemies. Besides the main light, the character additionally owns a personal light source kept inside it's sword. It allows Poe to depart from the light for a certain amount of time and is reflected by the intensity of the sword light. As soon as the sword light is depleted, Poe loses healthpoints and needs to return to the spotlight in order to refrain itself from losing health and charge it's sword light.

Roles:

  1. Game System Design

  2. Game Mechanic Design

  3. Programming

Noteworthy:

  • First time working on a 3D - isometric project

  • Usage of NavMesh

  • Finding out myself how difficult it is, to create a smooth fighting system

  • Game Balancing and smoothing out Game Feel as a challenge

Level 1

While following the light, dark creatures are trying to attack you. Our first level plays in a forest. One of the difficulties were how the light and colour palette can affect the feel. Small fireflies give it a nice touch!

Puzzles

We also included small puzzles. In this case emblems needed to be shot down, otherwise the path further wouldn’t open and the light would loop eternally.

Presenting our project to fellow students

Everyone working on a project, presented their projects. We gave each other feedbacks and it was interesting to see other projects, what their vision was, and ended up with!

Hive Five 2023

The Hive Five was a semi anually event at my college. Every student of the degree presented their works of the semester and everyone was invited to chat with the developers and obviously try the games out.

Level 2

In the second level we tried out another mood setting, a sunset. This gives the game a totally other feel, especially the effects of shadow and the visibility changes a lot. This plays in old greek ruins.

Different enemies

We implemented 3 enemies, but only 2 finetuned until the end of the project. The Blob enemy just jumps around and tries to melee attack you, while the Flower tries to attack you with ranged attacks. By using dashes you can easily dodge them! The third one would be a charging enemy.

Team GiMiVaThaSe

From left to right:
(Mi)kheil (Gi)na (Va)nessa (Se)rafina (Tha)nh

Crush Hour

4th semester - Game Jam 1

JaThaSeVaRu - Unity Engine

"Many times, the wrong train took me to the right place."

- Paul Coelho

Crush Hour is an exciting 2D jump and run game that puts you in the shoes of the ultimate heartthrob, as you pickpocket people's hearts on a train ride while dodging obstacles and fending off a horde of admirers. The game's use of real world factors such as GPS location, weather time of day and speed adds an extra layer of excitement and immersion to the gameplay. So grab your phone, hop on that train, and get ready for a heart-pumping adventure that will make your commute fly by!

Roles:

  1. Game System Design

  2. Game Mechanic Design

  3. API Programming

  4. GPS Connection

Noteworthy:

  • First time working for a phone application

  • Google and Weather API Usage

  • Game Jam Environment is new, so fast solution to problems were needed

  • Game Balancing and smoothing out Game Feel as a challenge

Team JaThaSeVaRu

From left to right:
(Ja)ime (Tha)nh (Se)rafina (Va)nessa (Ru)ediger

UPRAWR

4th semester - Game Jam 2

LeViFrAcThan - Unreal Engine

"The Kid just rages for a while."

- Bastion

UPRAWR is a highscore action game about destroying your house! A little girl and her pet dinosaur are left alone while her parents enjoy an evening alone. What could possibly go wrong? Armed with a frying pan, players whack the dinosaur across the house like a ping-pong-ball, destroying everything in its path: From plates in the kitchen to valuable art objects and even real skeletons, nothing is spared.

Be clever about your path of destruction to maximise the output of damage, after all the fun's over when the parents come home!

Roles:

  1. Game System Design

  2. Game Mechanic Design

  3. UI

Noteworthy:

  • First time using Unreal Engine

  • Usage of Blueprints

  • Unreal Engine Destruction and Physics System

Team LeViFrAcThan

From left to right:
(Ac)hi (Vi)ktor (Le)on (Fr)anzi (Th)anh

Antibody LOT3190

College Application Project

Unity Engine

"The beginning is the most important part of the work."

- Plato

This is my application project for the degree. Our task was to design a game based on a word. In this case it was “LOT”. It could be interpreted in any way one wanted, and you were not restricted at all, you could do anything. A game concept would be sufficient, but because of my interests and my prior knowledge, I was determined to create a demo of the game.

I used the word as “a lot” - a huge amount, which lead me to the bullet hell genre. Always loved to have a challenge and dodging alot of bullet, whilst shooting the foe. So that’s what I did, I tried out to do the bullet hell game in Unity itself, but the progress was too slow and performance issues occured eventually and that’s why I was looking for another helpful Engine.

You can read my documentation and my submit below!

Noteworthy Firstimers:

  • Usage of Unity Engine

  • Creation of a Video Game

  • Usage of another Engine within Unity via github

What the player sees

Just a sample what the player would see. It’s based on an arcade style view.

Sample Patterns

With the help of the Engine, a lot of different shooting pattern could be created.
Some of them are shown above, and are all based on mathematics!