Home

Lasso Lass

Lasso Lass Gameplay

Core combat-platforming with the lasso mechanic (Main View)

Technologies

  • Unity Engine (2D)
  • C#

Timeline

GMTK 2025 Game Jam (4 Days)

Team

6-Person Team (including first-time jammers)

About the Project

Lasso Lass is a puzzle-platformer built in 4 days for GMTK 2025 by a 6-person team. The game centers around a magical lasso that triggers effects like teleportation and platform creation to solve challenges.

I was the lead programmer, overseeing all game mechanics and Git code reviews. I solely designed and implemented the core lasso system.

Technical Highlights

  • Robust Lasso Drawing System: Implemented a multi-layered system for capturing player input that uses time-based collection, distance-based fallbacks, and adaptive point requirements based on draw duration. This ensures the lasso feels responsive and consistent across different screen sizes and framerates.
  • Advanced Loop Detection: Developed two forms of loop detection: a primary check for self-intersection using a line-segment algorithm and a secondary check for simple closed shapes. This allows for both complex and simple lasso gestures to be recognized reliably.
  • Point-in-Polygon Detection: Used a ray-casting algorithm to accurately determine which `DetectableObject`s were inside the completed lasso shape, forming the core of the interaction mechanic.
  • Modular Interaction System: Designed a flexible system using a base `DetectableObject` class with a virtual `OnDetected()` method. This allowed the team to rapidly create new interactions (teleportation, possession, platform activation) by simply inheriting from the base class and overriding its behavior.

Development Focus

  • Designing a core mechanic that was both intuitive and deep enough for interesting puzzles.
  • Collaborating effectively within a diverse team, integrating art, sound, and code.
  • Managing scope and prioritizing features to deliver a polished experience in a short timeframe.
  • Building a fun, satisfying player experience around the central concept of the lasso.

What I Learned

  • Implementing Complex Gameplay Mechanics: Gained practical experience translating complex geometric algorithms (line-segment intersection, point-in-polygon) into robust, functional C# code that served as the game's core mechanic.
  • Designing for Reliability: Learned to build an adaptive input system with multiple fallbacks (time-based, distance-based, adaptive point counts) to ensure the lasso felt consistent and responsive across different screen sizes and framerates.
  • Scalable & Modular Architecture: Solidified my understanding of polymorphism by designing the `DetectableObject` base class. This architecture allowed our team to rapidly add new, unique interactions (teleportation, possession, platform activation) without modifying the core lasso code.
  • Complex State Management: Practiced managing interdependent game states, such as disabling player input and switching camera control during the "Possession" mechanic, preventing conflicting behaviors and ensuring a smooth player experience.
  • Collaborative Development in a Jam Setting: Enhanced my ability to work effectively in a fast-paced team environment, using Git for version control and clear communication to integrate programming, art, and sound under a tight deadline.
  • Iterative Puzzle & Level Design: Learned to balance puzzle difficulty with player fun, iterating on level design to create challenges that were intuitive to understand but satisfying to solve using the core mechanics.

Connect With Me