Game Development Portfolio

Unity, C# | May 2025 ~ Present

This portfolio will go through the related projects I've worked on in game development courses such as PCG, Game AI, etc.

Procedural Content Generation Projects

Projects from PCG coursework exploring generated environments, plants, flocking, and creatures.

Terrain Generation

In this project I generated terrain in Unity, where I learned about procedural landscape variation through adjustable generation parameters and real-time iteration. Basically I wanted to make big maps like minecraft but lacked the graphics resources and skills (sob).

Terrain I generated in this project. You can set different variables and it uses different types of noise to do this. I added water to make itmore realistic. You can also make the terrain less spiky the mountains much smaller.

PCG Dungeon Generation

In this project I generated dungeon layouts by placing non-overlapping rooms, then using the remaining space as hallway areas. I don't play a lot of games with dungeons but the skills I learned from this project can be applicable to a wide range of games like the minesweeper one. Dungeons with different floors that are 3d would be also cool to generate but it would require more tweaking.

Top-down generated dungeon layout with multiple square rooms and wall openings
Second top-down dungeon layout variant generated in Unity
Third top-down dungeon layout variant generated in Unity

Tree & Plant Generation

I worked on this project that lets users procedurally generate trees with flowers or leaves based on adjustable parameters, including seed values, branching probabilities, radius decay, internode length, branch order, and color gradients. This is more realistic than minecraft trees and can even vary in shape based on botanical groups. I also made a option to have flowers or leaves.

Unity editor screenshot showing procedurally generated trees and plant generator controls
Some trees I generated in this project. You can generate based on seed and also decide on other variables. The orthotropic or plagiotropic option is useful for generating trees in different regions.

Flocking Simulation

I worked on a project that implements flocking behavior with local steering rules, producing coordinated group motion from simple agent-level interactions. The clip is sped up to show the simulation dynamics more clearly. You can see that when the fish get closer to each other they form a flock and once they are in a flock they move together in random directions inside the water.

Simulation of flocking behavior of fish characters I made in my project. If ran for long enough they all merge into one flock.
You can set different variables and behaviors before running the simulation too.

Creature Generation

In this project I generated stylized creature variations from seed-driven parameters, changing body proportions, ears, tails, limbs, facial features, accessories, and color palettes. This is kind of inspired from other games where you can make really dynamic monster characters based on your taste, but the rendenring for that will be slightly harder than what I did here. Randomly generated creatures could also be useful when making NPCs.

Generated creature examples with varied sizes, colors, ears, and tails
Generated creature examples with different proportions and accessories
Generated creature examples with alternate colors and body shapes

Game AI Projects

Fuzzy Logic Racetrack AI

I developed a fuzzy-logic vehicle controller to simulate driving behavior under dynamic track constraints.

These are the simulations run of the AI logic I coded. This is actually one of the better runs but it took a lot of modification to make the car stay in the track.

Path Planning & Navigation

I implemented grid navigation, path networks, A* pathfinding, and navigation mesh generation for AI movement.

Team AI Behavior

I worked with finite state machines and agent decision logic for team behavior in a Unity dodgeball environment.