Mini-Travesía

Mobile runner controlled by facial expressions

About

MiniTravesía condenses the essence of the epic Travesía adventure into an exhilarating mobile runner game. As Mariana flees from a relentless dog, your facial expressions become the ultimate control, guiding her every move. Master precise timing and skillfully evade obstacles as you embark on a high-stakes, endless pursuit for the highest score.



Info

Role: Team leader/Lead programmer

Team size: 3

State: Completed

Time frame: 3 months

Introduction
Mini-Travesía is your passport to an exciting mobile adventure. Step into Mariana's running shoes as she races away from a determined dog. This game merges real-world facial expressions with high-speed action in a compact mobile package, offering you a captivating experience.

Join Mariana as she sprints through an ever-changing world. Your mobile device's camera becomes your control panel, mimicking your every move. Tilt your face left or right to steer Mariana with precision and skill. To navigate obstacles, lower your head for a swift roll, or choose a jumping method that best suits your style, whether it's blinking, raising your eyebrows, or opening your mouth. Timing and quick reflexes are essential as you aim for the highest score by skillfully avoiding the obstacles.

Much like Travesía, Mini-Travesía promises an immersive adventure, condensed into the palm of your hand. Discover the magic that unfolds as you become part of Mariana's endless race to safety.
What I learned...
Computer vision

Just like in the case of Travesía, the implementation of computer vision in Mini-Travesía posed a significant challenge. However, the challenge was amplified due to the mobile platform. Extensive optimization was carried out to ensure the game runs seamlessly on mobile devices.

Face Detection

MiniTravesía utilized a specialized approach to implement face detection due to the limitations of mobile devices compared to PCs.

  • Given the reduced computational power of mobile devices, a deep neural network-based face detection algorithm, like that used in Travesía, was not feasible.
  • Instead, MiniTravesía employed the Haar Cascade algorithm for face detection.
  • The Haar Cascade method leverages boosting techniques and is less computationally intensive than deep neural networks, making it suitable for mobile platforms.
  • To further enhance performance, a multi-threading system was implemented. This allowed the Haar Cascade processing to be performed in a parallel thread, significantly improving detection times and the overall game experience.
  • Facial Landmarks

    Facial landmarks play a crucial role in MiniTravesía, enhancing the interaction and gameplay experience.

  • Facial landmarks, essential for tracking and interpreting facial expressions, were detected using Kazemi's algorithm.
  • This algorithm utilizes regression trees to determine the highest probability of each landmark's position, making it computationally demanding.
  • Given the resource limitations of mobile devices, MiniTravesía incorporated a more efficient approach. The Dlib library provided a less complex model using the same technique as Kazemi.
  • Implementing this model resulted in a remarkable ~60% improvement in facial detection computation times, optimizing the game's overall performance.
  • UI/UX

    MiniTravesía posed a significant challenge in terms of UI/UX design. Unlike most mobile games, which typically require minimal setup, our game's core feature revolved around facial expressions, necessitating a calibration phase for players.

    User Interface (UI)

    Enhancing the game's user interface was pivotal for a seamless player experience:

    • Streamlined Calibration: Initially, a ~3-minute calibration process was implemented for first-time players. However, player engagement was a priority, leading to a shorter, more efficient calibration phase.
    • UI Element Refactoring: To facilitate the player's interaction with facial expression calibration, several UI elements were repositioned and refined.
    • Interruptible Calibration: The calibration process was transformed into a series of brief, interruptible steps, each taking no longer than 20 seconds to complete.
    User Experience (UX)

    The player's experience was at the forefront of our development efforts:

    • Optimized Calibration: Accommodating a more straightforward calibration process required a sophisticated backend calibration algorithm, ensuring the accuracy of facial expression detection.
    • Rapid Calibration: The calibration phase was refined to take less than 20 seconds to complete, and calibration data was stored for subsequent playthroughs, eliminating the need for repeat calibrations.
    • Flexible Calibration: Players were granted the flexibility to redo specific calibration phases in any preferred order, enhancing customization and usability.
    MiniTravesía's main menu

    Main menu of MiniTravesía.

    MiniTravesía's calibration stage

    Main window of the calibration phase.