HN
← Back to Home

Spell It Out

Unity gesture-based spell casting prototype featuring a robust, DP-based matching algorithm.

What is this?

Gesture-based spell casting prototype built in Unity. Originally developed for Nintendo Switch (Dev Kit) as a CS388 final project, then rebuilt as a public PC/Web version for touch & mouse-based gesture recognition and deployed to itch.io.

Team Info

  • Role: Gameplay Programmer (Gesture Recognition & Deployment)
  • Team: CS388 Final Project
  • Engine/Tools: Unity, C#, Weighted Levenshtein Distance, Dynamic Programming, WebGL, GitHub Actions, itch.io

Contributions

  • Built a stroke capture pipeline (touch/mouse) and a recognition layer that normalizes and resamples strokes for stable matching.
  • Engineered a robust gesture recognition system using Weighted Levenshtein Distance (Dynamic Programming), providing high tolerance for noisy or shaky input by calculating minimal edit costs between sequences.
  • Set up CI/CD: GitHub Actions builds WebGL (GameCI unity-builder) and publishes to itch.io via butler on pushes to main.

Challenges & Solutions

  • Resolved recognition failures caused by inconsistent stroke length (shaky input) by implementing a space-optimized (2-row) DP approach to handle insertion, deletion, and substitution of direction tokens in real-time.
  • Improved tuning speed with on-screen debug visualization (stroke rendering and match scores) to see why gestures failed.
  • Shipped a public version without Nintendo Switch SDK dependencies while preserving the core gesture and gameplay loop.

Gallery

Links

Contact

Feel free to reach out.