Will Zhang
My Silly Projects
Engine & Language: Unity, C#
Overview: A submission to Global Game Jam 2025 (Theme: Bubbles!). You know the annoying feeling of finishing the drink with tons of boba left still? In this fast-paced arcade game, players control a straw and race against time to drink every remaining bubble before the tea runs out. Balance speed and precision as the clock ticks down. Can you finish all the bubbles before the tea finishes you?
My Role: Gameplay / UI Programmer, Tech Artist, Designer
What I Did:
-
Game physics including slurping & collision
-
shader for milk tea
-
score tracking & game state logic, UI layout and events
Challenges:
-
Rapid ideation-to-implementation cycles under extreme time constraints
-
Unity layering systems🤦♂️
-
Re-familiarizing with Unity systems after a year focused on C++ and Unreal
-
Managing task prioritization and scope during a tight jam deadline
-
Maintaining clear communication and team morale under stress and limited sleep
What I Learned:
-
Strengthened understanding of Unity’s component architecture, event system, physics, and rendering pipeline
-
Designing systems for speed of iteration, not perfection: knowing when to write scalable code vs. “jam code”
-
Strengthened decision-making and communication in high-pressure environments, particularly when collaborating with non-technical team members
-
Reflected on personal workflow efficiency and stress management during intensive development environments
Aike Milktea
Time & Year: 2 days, 2025
Team Size: 6 Members
Time & Year: 4 months, 2023
Team Size: ~10 Members
Equinox
Engine & Language: Unity, C#
Overview: First-person puzzle solving set in space, where you can only move through with a Grappling hook! Can you fix the ship with Newton's Laws of Motion + the lack of direction trying to send you into the void? This is a group game project under the Georgia Tech Video Game Development Club.
My Role: Gameplay + UI/UX Programmer
What I Did:
-
Implemented the aiming system and the UI/UX associated with it
-
player rotation control
-
some physics logic of the grappling hook
Challenges:
-
Managing complex physics interactions across multiple object types with unique response behaviors
-
Design and implementation of how to convey different physics properties effectively with smart UI/UX design
-
First time working in a bigger team (~10), and how to collaborate and guide people with varying experience levels
-
Maintaining development momentum amid fluctuating team availability
-
Balancing project workload with coursework and part-time commitments
What I Learned:
-
Deepened understanding of 3D vector math, Unity's physics, UGUI, and line renderer system
-
Learned how to communicate with designers so that their abstract themes can be turned into concrete mechanics.
-
Improved cross-disciplinary communication in a larger team
-
Developed production awareness: tracking blockers, maintaining pipeline flow, and preventing bottlenecks
-
Maintaining forward momentum and motivation when life gets busy, and teammates drop out
Dungeon
Language: C
Time & Year: 1 month, 2021
Team Size: Solo
Overview: A 2D combat mini-game developed entirely in pure C for the Game Boy Advance (GBA) within an emulator environment. The project focused on implementing a complete gameplay experience without engine abstractions, working directly with low-level systems, memory management, and hardware constraints.
(If you choose to click the GBANinja link, click RUN ANYWAY in the pop-up page.)
My Role: Solo Developer
What I Did:
-
Designed and implemented the full game loop, combat system, and ability registration logic
-
Converted and optimized sprites, tile, and sound assets for GBA-compatible formats
-
Developed UI flow control and ability information interfaces
Challenges:
-
Working in pure C with raw pointers and manual memory management
-
Understanding and applying GBA hardware concepts (memory layout, bitmap/color modes, DMA, etc.)
-
Designing scalable gameplay systems without modern engine tooling
-
Optimizing assets and logic under strict hardware limitations
What I Learned:
-
Deepened understanding of low-level programming and memory management
-
Gained hands-on experience with hardware-aware optimization
-
Strengthened debugging skills in a minimal-tooling environment
-
Being the person that wear all the hats
Engine & Language: Unity, C#
Overview: A 2D mini-game submission to Global Game Jam 2024 (Make Me Laugh) with 'Best Use of Theme' Award.
Escape an insane Asylum with the power of a good laughing gas. Who is the laughing stock now!
My Role: Gameplay Programmer
What I Did:
-
Throwing body functionality
-
Enemy AI
Challenges:
-
Joining development after the first day and rapidly catching up on existing systems
-
Implemented better Enemy AI behavior, but have to be cut out in the final build due to time constraints
What I Learned:
-
Implementing A* pathfinding in Unity
-
Coroutines in Unity
-
The importance of scoping features realistically within strict time constraints
-
How to evaluate when a feature adds value versus when it risks project stability
-
How to detach from personal investment in a feature for the sake of the team’s overall success
Grin and Gas
Time & Year: 2 days, 2024
Team Size: 5 Members
Engine & Language: Unity, C#
Overview: A first-person interactive experience with light puzzle-solving mechanics, minimal horror elements, and a subtle yet metaphorical narrative. In the experience, players would navigate an endless subway. They need to carefully observe the clues provided in the scene and translate them into the passcode for the level. The game employs an infinite loop mechanic, trapping players in three connected subway carts, requiring puzzle resolution to progress to the next level.
My Role: Gameplay Programmer
What I Did:
-
first-person player controller and interaction systems
-
infinite subway loop system
-
Interactable object system
-
post-processing effects to reinforce atmosphere and narrative tone
Challenges:
-
Translating abstract narrative themes into concrete interactive mechanics
-
Creating the illusion of a moving subway environment efficiently
-
Designing an “infinite” loop system without breaking spatial continuity
-
Balancing creative ambition with achievable polish
What I Learned:
-
The “infinite subway” was implemented using controlled teleportation and carefully placed empty meshes to maintain spatial continuity, teaching me how player perception can be tricked in smart hacky ways that requires less effort
-
Technical solutions should serve the player experience, prioritize experiential impact over technical perfection
-
How to leverage Unity’s post-processing stack to shape mood and visual storytelling
-
How to effectively communicate with artist as a programmer and collaborate toward a unified atmosphere
Rail Transit Line 4
Time & Year: 2 weeks, 2023
Team Size: 2 Members
Engine & Language: Unity, C#
Overview: A top-down horror stealth game, where the player hides in the shadows to avoid luminous enemies who radiate light, shrouding their true appearance. Mechanical subversion of the horror game genre, where the player has to constantly use darkness as a resource to avoid detection, while having very limited vision.
My Role: Gameplay Programmer, Deigner
What I Did:
-
player movement and sprite synchronization
-
enemy AI and light-based detection mechanics
-
player–enemy interaction systems centered around dynamic light sources
-
game design documentation and concept iteration
-
post-processing effects (again)
Challenges:
-
Navigating creative differences within the team while maintaining forward momentum
-
Balancing collaborative decision-making with the need to ship a playable build
-
Recognizing when I was overextending myself and learning to distribute responsibility more effectively
What I Learned:
-
Raycast and AI behavior in Unity
-
Managing sprite rendering and tile-based environments effectively
-
How to communicate design ideas clearly through structured documentation
-
The importance of conflict resolution and professional communication in team environments
-
How to maintain production velocity even when team dynamics become challenging
-
The value of delegation and sustainable workload management
Flickering Reality
Time & Year: 3 weeks, 2023
Team Size: 4 Members
Overview: A third-person shooter that features illumination-based semi-aerial combat in airships. The player controls an airship in a perilous, near-ground environment in the dark. The game elements are illuminated only by the moon, the balloon’s flame, and the light from flaming projectiles, including those of your enemies.
Engine & Language: Unity, C#
My Role: Gameplay / UI Programmer
What I Did:
-
player flight controls, shooting mechanics, and animation systems
-
game design documentation and produced the gameplay trailer
-
tuned balloon movement physics to achieve responsive but weighty flight behavior
Challenges:
-
Designing and structuring effective playtest sessions to gather actionable feedback
-
Holding teammates accountable while maintaining positive collaboration
-
First-time use of version control in a multi-developer Unity project, including resolving merge conflicts
-
Achieving satisfying balloon movement in semi-aerial combat
What I Learned:
-
Deepened understanding of Unity’s execution order and tick/update logic
-
Learned how Unity projects interact with version control systems and ways to handle merge conflicts
-
Gained experience structuring playtests, identifying useful feedback, and iterating based on results
-
Strengthened collaboration skills in a multi-developer production environment
Moon Balloon
Time & Year: 6 weeks, 2023
Team Size: 5 Members