Inspiration
I built CRT TRIGGER after seeing the Reddit game jam and wanting to create something that captures the feeling of classic arcade games.
As a self-taught developer who started with Phaser 3, I wanted this project to reflect the parts of video game history I love most: arcade cabinets, daily challenges, CRT screens, and leaderboards. My goal was to recreate that feeling of discovering a game, losing, learning, and coming back with a better strategy.
I also wanted the project to reflect a more personal reality. I am from Benin, and one of the biggest challenges I faced while building this game was unreliable internet and limited access to stable resources.
What it does
CRT TRIGGER is a browser game inspired by arcade culture and quick replayable challenge loops.
It is designed to give players a retro experience through simple visuals, a CRT-style atmosphere, daily challenges, and leaderboard-driven gameplay. The game is meant to encourage discovery, adaptation, and improvement through repeated play.
How we built it
I built CRT TRIGGER with Phaser 4.
One of the main technical goals was to keep the game fully self-contained, so it does not rely on external assets. There is no traditional preload for fonts or art assets. Instead, I generated the textures dynamically using retroFont, glyph arrays, the Graphics API, and Phaser game objects.
I also used Blitter to render several elements efficiently, and I built the remaining visuals with Phaser Graphics and standard game objects. I especially enjoyed working with the new effects in Phaser 4 and with the camera API, which is still very intuitive to use.
Challenges we ran into
The biggest challenge was the internet connection. I joined the hackathon late, and the best connection I could find was only around 100 kb/s, which made everything slower and more fragile than usual.
I also ran into Devvit CLI authentication issues. Even when whoami showed that I was logged in, uploads still failed with authentication errors. To keep working, I moved to Google Cloud Shell, but building in a browser environment with a weak connection and an old 8 GB RAM machine was not easy.
I also spent a lot of time installing packages, dealing with time limits, and recovering from abrupt stops when missing dependencies caused the process to fail.
Accomplishments that we're proud of
I am proud that I managed to finish the project under difficult conditions.
I am especially proud that the game was built without external assets and still has a clear retro identity. I also like that I was able to use Phaser 4 in a practical way, including its graphics, blitter, and camera features, while keeping the project playable and focused.
What we learned
This project taught me a lot about debugging lower-level issues, handling package installation problems, and working around network constraints.
I also learned more about optimizing under pressure. I would have liked more time to reduce the Phaser 4 bundle size, but the project still taught me a lot about making useful tradeoffs when time is limited.
On the creative side, I learned that a strong atmosphere does not always need many assets. With the right structure, simple shapes and procedural visuals can still create a memorable experience.
What's next for CRT TRIGGER
Next, I want to polish CRT TRIGGER and make the experience feel more complete.
I would like to add new games, improve the retro presentation, and make the gameplay feel even more authentic. I also want to strengthen the community aspect so that players can share scores, compete more naturally, and feel more connected through the game.
My long-term goal is to turn CRT TRIGGER into a richer arcade-inspired experience that feels alive, social, and replayable.
Built With
- css3
- html5
- node.js
- phaser4
- typescript
- vite