This is a simple “escape the maze” game but I put a clever spin on it by wrapping the maze to a cylinder. It uses three’s instancedMesh’s to render the kernals and the cob beneath them which are all dynamically generated based on width, height and curvature parameters. I borrowed an existing maze generator originally written by chirpinternet.eu and adapted it to create “tunnels” at the top and bottom so that the user can go all the way around the cylinder. ReactJS manages the app state and I leveraged a lot of R3F to manage the scene graph and Drei for some effects. The movement system was a bit complicated (and could still use some work!) but at this point it should work fairly consistently across devices (pc, mobile, mouse, touch, etc).
Give it a try and share if you like it: https://maiz.uno
The source code is here: Dave Seidman / Maiz · GitLab
Thanks for considering this submission to the showcase!