The Last Card Pack (3D Fighting Game)

Role: 3D Gameplay Animator, Voice Acting Direction, Audio Engineer, Illustrator

- Animated 12 attack animations, 2 idle animations, and walk and jump animations within Blender, organized to be implemented in Godot 4.6

- Adjusted hitboxes and frame data within Godot to ensure satisfying player experience

- Assisted with voice acting direction during recording sessions

- Implemented 3 announcer voicelines and 3 soundtracks

- Illustrated robot fighter design, artwork for menu background and fighter selection portraits

Demonstration of my animations in-game (left character only)


Process

Our team communicated through Discord voice calls to discuss the core gameplay loop and art direction on Figma boards. Much of our inspiration came from classic arcade fighting games such as Street Fighter. Tasks and deadlines were assigned during this phase.

I was assigned to design and animate all gameplay animations for Z, the robotic fighter in a trenchcoat


After I created the turnaround sheet for Z (who was heavily inspired by Q from Street Fighter 3: Third Strike), I designed different color palettes before our team settled with the blue trenchcoat. The eyes were changed to pink for contrast.

Silhouette readability was a huge factor in designing Z, especially since fighting games tend to only be viewed from one angle.

A longer trenchcoat was considered, but after some discussion, we settled with a shorter coat to avoid potential rigging issues once it was time for me to animate Z.


All of Z’s animations were created in a single .blend file, cleanly organized as separate, appropriately named actions for easier implementation for our tech artist.

Any animations that required different states, such as start-up, loop, and end, were first animated as a whole cycle to ensure smooth transitions before being separated into individual actions.


After Z’s animations were implemented by Matthew Leung, I helped in tweaking all of the damage settings, frame data, block properties (low, mid, or high), and some hitboxes to create a hard-hitting fighter.



All of Z’s attack data were documented on a spreadsheet. This streamlined the process of creating 2 fighters with unique strengths and weaknesses from each other by being able to directly compare our data on one screen.


I had the honor of working together with Frank Todaro in directing him to create some voicelines for the game’s announcer.

I implemented each voiceline by adding an “AudioStreamPlayer” child node onto a “label” for each relevant scene and importing the .wav files into these nodes.