Projects
METAL BEANS (Link to Steam Page)
(Click image to expand)
A 3D low-poly roguelite action-arcade game where the player controls and upgrades their two desktop buddies to fight through virus creatures and protect the PC in the computer space.
As a programmer, I implemented the character controller, combat system (including player actions with combos and input buffers), enemy AI, the entire tutorial system (including dialogues), part of the sub-game mode logic, and UI. Then, I handled code maintenance with version control, expandable infrastructure, bug fixes, and optimizations such as object pooling and reference/memory management.
As a technical designer, I designed and prototyped both combat features (elements, abilities, combos) and enemy types and behaviors. Then I drafted the roguelite player/world progression system and partly worked on sub game modes. After that, I handled tutorial and narrative design.
I enjoyed working on this project and learned a lot during the creative process. With all of our hard works and support from friends and communities, the game went beyond my expectations and we are proudly announcing the release of METAL BEANS on Steam!
GPT Dungeon Curator (Link to demo video)
(Click image to expand)
This R&D project aimed to explore the potential of large language models as a Game AI assistant in guiding and curating player progression within a dungeon RPG setting. This initiative seeks to replace traditional game UI, which relies heavily on numerical statistics. The LLM receives a prompt with historical information like player stats and game state, then returns output parsed into game instructions, player guidance dialogues, battle information, and other explanatory texts.
I designed and prototyped a basic RPG player stats framework and set up AI prompt standards. Then, I studied OpenAI API and implemented formatted instructions and parser in Unity C# to fit GPT-4 so the AI feedback loop can adapt to battle and exploration situations.
Initially, my focus was on integrating the AI assistant system-wide. However, the team later pivoted towards emphasizing narrative elements after evaluating the capabilities of traditional game AI and weighing the costs associated with AI-generated content. Throughout the trial and error process of testing AI prompts, GPT-4 demonstrated remarkable capabilities in context analysis. I believe this integration pattern can enhance the narrative with AI curation and potentially help increase replayability.
THE FORSAKEN SCIENCE (Portal 2 Map)
(Click image to expand)
A Portal 2 custom map made with the original Puzzle Creator and BEE2.4. The map’s theme is the decaying and rusty Aperture Science Enrichment Center after countless years of testing. GlaDOS is still in charge, but the test seems not the same as before…
I’m a super Portal fan and have been fascinated by fan-made maps and mods over the decade. Portal’s level design and puzzle-making are tricky because there are many ways to achieve the goal if players are not limited to specific mechanic choices. However, this possibility and creativity is actually what makes it fun, so a clever level design where all mechanics make sense is the key. By reconfiguring the same level or replacing the available map mechanics, the same room could feel completely different. It is challenging, but that’s why I love it so much :) In this map, I tried guiding players by limiting the options at the beginning (using contrast and obvious tutorials) and leaving some freedom for players to choose their way to play mid-game. I also reconfigured the level along with player progression to reuse previous elements and make backtracking meaningful.
Dream of the Icy Mountain
(Link to Mod .zip file, require PC Celeste base game & Everest API)
(Click image to expand)
A Celeste mod for experienced players (finished Chapter 4 A-side and collected some strawberries along the way) with a small custom map illustrating a dream of Madeline’s.
This mod was a good level design practice. I liked playing Celeste and decided to make a level for it, so I began learning to use the Loenn map editor. I designed all level elements from sketching while imagining and drawing the player’s progression. According to the player’s metrics, I made a prototype level with documented ideas. Then I decorated the map tiles with a snowy theme and added player guidance. After a series of playtests, I added a checkpoint (spawnpoint) and rebalanced several challenge difficulties. I enjoyed making this map and looking at others play.
King of Kings
(Link to Age of Empires 4 mods page, requires Microsoft/Steam login)
(Click image to expand)
Mod description
An Age of Empires 4 mod that illustrates a capture-the-flag 2-player scenario in a crafted map.
This mod was an independent study project where we connected to Age 4 dev team members (from World’s Edge, a studio of Xbox Game Studios, Microsoft), including Senior Producer Seb Grinke and Yasemin Kuyumcu. After generating a good idea around the Capture-the-Flag game mode, our team worked closely with the dev team and the modding community throughout the development process. As the lead gameplay programmer, I learned to write Lua script with Age 4’s content editor and implemented the game mode prototype from 0 experience. After integrating the crafted map, I ported the game mode into a map scenario. I tweaked the details around core mechanics, including winning condition, objective UI, and flag respawn/tracking in fog-of-war. We conducted two playtests in an observation room and several with peer volunteers from all skill levels. Then we published the mod to the Age 4 mod’s page with live updates and is ready for players to enjoy.
AI Generated Sound Effects for Games
(Link to GameSoundCon 2022 event schedule, the talk is on Wednesday, October 26, at 11:50 am - 12:20 pm by Brian Hansen)
(Click image to expand)
Unity project
A research project about AI utilization to generate sound effects for implementation in games: explores the use of neural networks to model and synthesize “procedural audio” as an alternative to the main contemporary approach of playing back pre-recorded audio files.
I built a Unity scene with online assets to create a zombie/monster scene. With all animations tracked via specific parameters from body movement, I used Open Sound Control (OSC) plugin to send messages to the trained audio encoder/decoder model to guide the sound generation.
Project showcased as an example of the researched AI model on October 26, 2022, at Game Music and Sound Design Conference (GameSoundCon).
Range Shooter Plus (Link to Itch.io page and download)
(Click image to expand)
A singleplayer first-person shooter where players choose their weapons and either play without rules with sandbox targets or complete the built-in replayable scored trials and challenges for better scores.
This game was created as an experimental playground for newly learned skills as I wanted to implement several features inspired by many games I’ve played recently. I implemented the weapon system and gameplay mechanics such as character controller, shooting, recoil and weapon handling. I also created 3D assets like guns and map objects, then made animation, HUD, menu UI, particles, and sound/visual effects. Design wise, I constructed challenge levels and targets’ behaviors, and tweaked the project as the development progressed. In this project, I prototyped multiple system design approaches for large-scale systems. The game grew to have more content than I imagined and functioned well, so I decided to publish and share it on Itch.io.
KANGARUMBLE (Link to official site and download)
(Click image to expand)
A local multiplayer turn-based party platformer where up to 4 players compete as their unique choices of kangaroos. Players can only move during their turn, and for every stomp they score, their turn gets shorter. Action heats up as tension builds all the way to the final stomp, where only one kangaroo will be victorious!
This game was my capstone project, took a year to build with a team of 12 students. As the lead programmer, I was in charge of full-purpose coding and team code management. Starting from the pitch, I prototyped and contributed to physics, gameplay, menu/UI, character selection, cross-platform support, version control, code integration, optimization, etc. I also modified Unity’s new input system package code to adapt our gamepad and split-keyboard control scheme with cross-platform support. The KANGGANG worked as a whole and put our efforts and love together sprint from sprint to create this game that we are all proud of.
Game awarded Capstone Production Award and Peer Choice Award (Overall Excellence) at UCSC Games Showcase 2020.
Skyward Odyssey (Link to play in browser)
(Click image to expand)
An endless sidescroller where the player accompanies a ninja on his unending journey to the end of the world. The player navigates through the skies, leaping across clouds and evading inky threats while exploring temples to piece together the story of the ninja’s odyssey.
This game was 3-person teamwork over three months. We started with a simple endless runner (game state 1) and pitched new content to enrich the gameplay and story. I prototyped and implemented core mechanics into new states, integrated teamwork weekly with version control, and collaborated code optimization with team members.
Game nominated and showcased at UCSC Games Showcase 2019.
Smart-Tuney Karting
(Click image to expand)
An algorithmic soundtrack generator with goal-oriented action planner that responds to user input and chooses a BGM combination for a Unity Learn Microgame.
The research goal was to test a general model that responds to human input of desired quantified attributes and dynamically plan the best suitable progressive combination from predefined assets with weighted attribute values. In this project, these were musical instrument patterns and values for loudness, emotion, and tempo. Inspired by the behavior of AI in F.E.A.R., I decided to write an A* planner with only the goal value appointed and let it dynamically adjust the following steps based on the current state and average mathematical deviation from the goal (as heuristic). Theoretically, this model could be expanded and applied to any project with a demand of input-responsive customized experience with quantifiable factors and is possible to combine with other technologies and adapt to more complicated human inputs.
I served as the audio designer and AI Programmer, created layers of tracks in sound base (with PureData), and implemented AI planner (A* based search). Then I generated Unity plugin with hvcc compiler and modified the original project to integrate the sound generator.