Matcha - Project Story

A Mobile-First Match Puzzle for Horizon Worlds

As a designer by trade, I've always loved match-3 puzzle games like TwoDots and some others I am too embarrassed to admit. I was addicted to the satisfaction of creating combos, the strategic thinking, the meditative flow state. But when I explored Horizon Worlds, I couldn't find a match puzzle game that captured what I loved about the genre. So I decided to build one myself.

Matcha is a mobile-first 3D tile-matching game that brings classic puzzle mechanics into immersive space. I wanted to create something that felt natural on touchscreens. A genuine cross-platform experience.

The Journey

Coming from a design background rather than engineering, I relied heavily on Claude Code for TypeScript development, Blender for 3D tile modeling, and Ableton to compose the audio experience. This combo became my creative toolkit.

Biggest challenge? I initially pursued a laser gun raycast system for interaction. It seemed fun and elegant. Point and click should work everywhere, right? Wrong. I spent weeks in that black hole before realizing Focused Interaction mode was the answer. The moment I switched, everything clicked. Direct touch on mobile. Finally, the interaction felt right.

A major evolution happened when I moved from a purely 3D spatial experience to a focused interaction menu-driven system. The Horizon editor isn't the most fun place to create UI, but I built out an entire custom UI system and it came out pretty good! I added a little Matcha character and their white corgi dog to all the menus to bring some personality and charm to the game.

I was able to get 15 levels stood up with a level select system that's evolving. It will turn into a level progression map eventually, but right now you can get to all the levels. I added boosters for when you get stuck and they're pretty fun. I'll continue to evolve them and almost have them hooked up to be monetized.

Design Vision

Visually, I drew inspiration from James Turrell's light installations. Clean, minimalist blocks with bold colors floating in space. No visual clutter, just pure geometric satisfaction animating in a rhythmic satisfying way.

For audio, I wrote custom loops for different scenes in Ableton using a Roland Jupiter-8 for that classic retro synthwave bassy sound. All the swap audio I wrote and played myself. I experimented with Meta AI for SFX, which was somewhat useful but a bit tedious trying to get greatness from the tool. The audio system creates progressing musical sequences during chained matches, turning gameplay into an improvisational performance.

The result? A meditative puzzle experience that feels at home in your hand.

What's Next

More levels are coming, including new obstacles, level layouts, and baddies to mess with your game. I've been experimenting with other game board tile shapes too. I'm continuing to improve the UI and HUD, building out a more fleshed out scoring system and leaderboards, and adding settings to control the ambient soundtrack.

After the competition, I need to refactor a bunch of scripts to improve efficiency. I overloaded a few of them. Beyond that cleanup, I'm planning to expand the meta game with special tiles, specific tasks, and even more audio improvements to make each match feel musical.

Built With

Share this project:

Updates

posted an update

Over the past week:

0/ General swapping, matching, and cascading chain match bug fixes.

1/ Implemented a three types of special tiles to the game.

  • TNT (when activated they remove a square of 1 tile beyond the origin of the tile)
  • Chevrons (there are 2 types (row or column) that eliminate every tile in the row/column)
  • Color Pickers (eliminates every tile of whatever color the picker is activated with in a swap)

2/ Added a Dual HUD system

  • score, tasks, & moves on the left side
  • goals and power tiles (future feature) to the right side

3/ Welcome Message and Horizon native Leaderboard system added to spawnpoint start stage

4/ Game Over Pop-up

  • this is part of my next stage development which is my focus this week of adding 15 levels with static tiles, baddies, and PowerTiles.

Log in or sign up for Devpost to join the conversation.