🎮 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
- horizoneditor
- meshyai
- typescript






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