Posts

Showing posts from May, 2025

User Testing Results

Image
Gathering Feedback After months of development work on my sign language learning game "Sign Pals," I conducted my final round of user testing to evaluate the complete game experience. Between May 15-17, 2025, I worked with six participants who played through the entire game and provided detailed feedback on all aspects, from the opening animation to the competitive duel mode. Sign Pals was designed specifically for hearing family members and friends who want to learn sign language to better communicate with deaf loved ones. This audience focus shaped everything from the game's approachable design to its social gameplay elements, encouraging family members to learn together in a fun, low-pressure environment. I gathered in-depth feedback from a small but diverse group of testers who represented my target audience of hearing individuals interested in learning sign language. Their feedback provides valuable insight into how well Sign Pals achieves its goal of making sign la...

The Missing Piece: MUSIC

Image
 As I was preparing for user testing, I felt like something was still missing. MUSIC! I've always been someone who works better with background music. Whether I'm coding, studying, or just relaxing, the right soundtrack can completely transform my mood and focus. Playing through my own game in complete silence made me realize how much a simple musical backdrop could enhance the experience. Music Choices With user testing approaching, I didn't have time for extensive research or custom composition. I needed to add music quickly, but I still wanted it to feel right for Sign Pals. The music needed to: Support concentration during learning moments Create a welcoming atmosphere for all ages Not overwhelm or distract from the sign language content Match the playful, friendly aesthetic I'd worked so hard to create Finding I spent a couple of evenings browsing copyright-free music libraries and YouTube channels that offer no-copyright music. The challenge wasn't findin...

Solving Cross-Scene UDP Communication

The Problem: Broken Connection After successfully implementing both Learning Mode and Duel Mode, I discovered that the UDP connection between my game and the Python backend (which handles sign language detection) would break whenever players switched between modes. My game flow requires players to move between scenes frequently: Mode Selection → Learning Mode → Mode Selection → Duel Mode Each time a scene changed, the UDP socket connection would drop, forcing players to restart the application or manually reconnect the Python backend. This created a jarring experience that interrupted the learning flow and frustrated testers during my playtesting sessions. The Solution After exploring several options, I implemented a classic yet effective solution: a persistent singleton for UDP communication. Here's how I architected it: 1.  Single-Instance Architecture I implemented a classic singleton pattern for my UDPReceiver class. The key components included: A private static instance...

Setting Up Duel Game

Image
The Duel Mode Concept 1. Two players stand side-by-side in front of the camera 2. The game displays a random letter to sign 3. The first player to correctly form the sign wins the round 4. Players compete until one reaches the target score (6 points) This is simple concept when I planned it out. But to implement it, it presented some complex technical challenges, particularly in detecting and distinguishing between two players' hand signs simultaneously. Enhanced Python Detection System To support both Learning Mode and Duel Mode, I completely redesigned my Python detection script to dynamically adjust based on the current game mode. I don't think having two python scripts is effective. So, I had an idea of implementing  listener thread that receives scene information from Unity and automatically switches detection modes.  Player Separation in Duel Mode The most critical part of the Duel Mode detection system is distinguishing between two players standing side-by- side. I impl...