A mobile game I created in high school using the Godot game engine. The code reflects it, but the game design remains solid due to the hours I spent tweaking it. I designed the game to have a satisfying gameplay loop with a simple yet striking art style to compensate for the short time frame and limited resources I had available.
The shimmering background was created by randomly spawning several partially transparent trapezoids that disappear after a short timeout. A GLSL particle shader was used to display the hundreds of shapes efficiently. The colors are algorithmically calculated to maximize contrast.
I also used a shader for natural fade in and fade out transitions.
The game was animated to feel as smooth as possible. The player has several mid-air postures that change based on the player's distance to the ball.
These postures are the windup frames of the three punch animations.
Windups are a critical part of punch animations. This system allows for an instant punch response on tap, while keeping the windup. The punch impact is heightened by freezing the background for a frame, enlarging the ball, and queueing up a sound.
I also made sure that the player looked like he has a soul by adding a rest animation with an occasional blink.
If there is anything this project taught me, it's that the pixel-level decisions make or break the high level ideas. They should be deliberated over.