{"repo":"dammafra/drysland","free":true,"listed":false,"github":"https://github.com/dammafra/drysland","clone":"git clone https://github.com/dammafra/drysland.git","description":"🥇 First place in Three.js Journey Challenge 017 | Relaxing pipe-connection game built with Three.js, featuring online save support and mobile-friendly gameplay","language":"JavaScript","stars":87,"topics":["threejs","vercel","firebase","gsap","tailwindcss","gamedev"],"license":"AGPL-3.0","category":"game-templates","readme_excerpt":"🏝️ Drysland 🥇 1st place in the Three.js Journey Challenge 017 Try it live here 👉 drysland.dammafra.dev Inspired by classic pipe-connection games , Drysland is a relaxing, minimalist puzzle experience where you restore the flow of a river across a parched island by rotating and reconnecting its broken segments to bring water — and life — back to the land. Each level in Drysland is a procedurally generated island that gradually increases in size and difficulty. Pipe networks are created using a simplified version of the Growing Tree algorithm , ensuring each puzzle is both solvable and unique. Technologies Used - Three.js (3D rendering) - Tweakpane (Debug) - @yomotsu/camera-controls - @pmndrs/pointer-events - GSAP - Firebase - Tailwind Setup Features TBD Level Generation All levels in Drysland are guaranteed to be solvable. The game uses a custom adaptation of the Growing Tree algorithm , commonly used for maze generation. The core idea is to “carve” one or more continuous paths through a fixed-size hexagonal grid, primarily using a depth-first traversal (DFS). Once the main paths are generated, the algorithm performs a second pass to insert additional connections between blocks along the existing routes, subtly increasing the complexity without breaking solvability. Finally, all tiles are randomly rotated to scramble the solution and form the playable puzzle. The algorithm is configurable, the main parameters currently in use are: - Traversal strategy : defines the node sel","default_branch":null,"files":null,"tree":[],"storefront":"/r/dammafra","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dammafra/drysland/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}