Back to projects
ShippedSole programmerWebGLArcade
Once Pro Shoot
Sole programmer on a WebGL arcade shoot-'em-up with a data-driven balancing pipeline and an online leaderboard.
- Role
- Sole Programmer
- Studio
- Varisoft
- Period
- 2021
- Platforms
- WebGL

Gallery
Once Pro Shoot is a 2D vertical shoot-’em-up with a candy / dessert theme, built for mobile-web (WebGL). You drag to move a princess at the bottom of the screen and tap or hold to fire upward at descending dessert enemies and bosses; collecting power-ups triggers a temporary power mode, and game-over posts your score to an online leaderboard.
I was the sole programmer — every line of the game’s code across all branches (~4,900 lines authored) — working alongside an artist and a game designer.
What I built
- Full gameplay — a
GameplayManagerorchestrating the stage loop, an HP / heart system with a degrading princess skin, power-up → power mode, scoring, and responsive portrait / landscape canvas scaling. - Clean inheritance hierarchy —
BaseMoveObject/BaseSpawnObjectsubclassed by enemy, boss, and item controllers; pooled bullets and projectiles. - Data-driven balancing — a Google Sheets → JSON import tool (Sheets API v4 + reflection) so enemy / boss / power / level tuning lives in a spreadsheet, not code.
- Online leaderboard — Firebase (UniTask REST) for username registration and score submission, with a race-guarded leaderboard fetch.
- WebGL-mobile polish — native mobile-keyboard interop via a
.jslibbridge, logger disabled in builds, and custom blur and additive shaders.
Engineering notes
- Reuses a studio “engine layer” I maintained across titles — singletons, object pooling, and an audio system with mixer math and BGM cross-fade.


