🎮 Inspiration

Breakout was one of the first games I played and deeply enjoyed on the Atari platform. Inspired by its simple yet addictive brick-breaking gameplay, I wanted to bring that classic arcade experience into Horizon.


🛠️ How We Built It

I started by laying out the basic frame using simple mesh entities to build a frame for the game. For each level, I used Meshy AI to generate unique brick designs and Meta AI to create the backgrounds and textures for the ball and paddle.
I also used two CustomUI Gizmos:

  • One for the game’s start menu
  • One for the in-game HUD

The Camera API allowed smooth transitions from the intro view to the game view.
I also used Focused Interaction so players could control the paddle with their finger and launch the ball with a touch.


⚠️ Challenges

The hardest part was the scripting — it ended up being just over 2,100 lines of TypeScript!
Getting the ball to bounce smoothly and stay on a 2D plane was tricky.
I used AI tools to speed up development and optimize performance, but there are still a few collision bugs where the ball can lose velocity briefly. It took a lot of trial and error to get things working smoothly.


🏆 Accomplishments

I'm most proud of the level designs. Each level is unique, with its own:

  • Style
  • Visual effects
  • Audio

No two levels share the same design or sound, keeping the gameplay fresh and engaging.

Additionally, I designed the game to be fully customizable behind the scenes:

  • Each level can specify its own components (balls, paddles, bricks, sounds, VFX)
  • If not specified, it falls back to a default set
  • The hierarchy is built so that adding a new level is as easy as creating a new hierarchy entity and plugging in assets

This structure makes it easy to expand the game or test new ideas without rewriting any code.


🚀 Next Steps

  • Add power-ups
  • Create multi-ball levels
  • Develop more levels to extend gameplay and keep players engaged

Built With

Share this project:

Updates