Inspiration
The core idea for Zone 4 was born from a classic mathematical concept called the graph coloring problem where no two adjacent regions can share the same color. I wanted to take that pure logic puzzle and inject it with a high energy cyberpunk aesthetic.
What it does
I jsut want to make a fun and interactive puzzle game. The goal was to create a daily ritual for Reddit communities. It acts as a neon district that players have to collectively colorize every day driving competition and regular returns.
How we built it
We used D3 Voronoi algorithms to generate organic city districts daily while Three js and WebGL render the interactive 3D neon city. Hono powers our API inside the Reddit Developer Platform. For storage Reddit native Redis handles daily state and leaderboard data and the Devvit Scheduler triggers new puzzle threads every midnight.
Challenges we ran into
Flat planes caused 3D hitbox click errors which we fixed by extruding invisible 3D columns for perfect selection accuracy. Overlapping neon glow layers caused depth conflict visual bugs until we disabled depth writing in the Z buffer. We also had to wrap native commands in safety blocks to prevent the sandboxed Reddit iframe environment from breaking the game loop.
Accomplishments that we're proud of
We are proud of our procedural art creating dynamic details like spinning hover drones and glowing skyscrapers. We achieved zero maintenance by building a completely serverless game that runs and resets itself autonomously. We also created a viral loop by adding an automated share button that naturally drives thread engagement.
What we learned
We learned how to turn abstract math graphs into intuitive 3D art. We also gained deep experience optimizing inputs for sandboxed webviews.
What's next for zone4
We plan to add subreddit reigonal competition featuring global leaderboards where different communities compete on average solve times. We also want to include a traffic simulation with animated monorails traveling between connected districts.
Log in or sign up for Devpost to join the conversation.