Android

Maze Unlocker — Android Maze Game

A touch-controlled Android maze game built with Godot, packaged as an APK and tested on a real device. Draw, pause and resume your path through 50 levels, with image rewards and locally saved progress.

Maze Unlocker Android game branding beside a phone mockup showing a maze with a green path and gold exit.

About Maze Unlocker — Android Maze Game

About

Maze Unlocker is an Android mobile game I built in Godot 4.5.1, with an APK build tested on a real device. In portrait mode, the player draws a path from the starting cell to the exit, completes a level and unlocks an image reward. A gallery keeps those rewards available between sessions.

The game combines seeded maze generation, touch input, 50 levels of progression, sound effects and local persistence. The original version includes an 18+ reward gallery and an age notice. The screenshots here focus on the game mechanics.

Drawing a path that can pause and resume

The main interaction is drawing directly through the maze. Touch and mouse input are both supported. Lifting a finger pauses the stroke without discarding the trail; tapping a cell on the existing trail resumes play.

Wall handling and backtracking are configurable. Backtracking can erase the tail of a path or be blocked. A wall crossing can end the current stroke while preserving the progress already drawn. These rules make movement explicit without forcing every interrupted gesture to become a restart.

Procedural mazes and progression

Mazes are generated from seeds, with a progression list controlling their dimensions. The supplied gameplay captures show a 3 × 3 maze at level 1, a 9 × 12 maze at level 21 and a 14 × 20 maze at level 41.

Cell sizing adapts to the available viewport, with minimum and maximum sizes and space reserved for the bottom controls. The same gameplay scene handles the changing grid sizes. The portrait layout also accounts for display safe areas on touch devices.

Rewards, settings and saved progress

Completing a maze unlocks a reward image. The gallery supports separate thumbnails, falling back to the full image when a thumbnail is unavailable.

Progress, settings and the age-notice choice are stored locally in separate files. The settings screen includes a sound toggle and a progress reset. A completion indicator in the main menu gives the player a view of their progress through the game.

Implementation

The project separates maze generation, gameplay input, saving and audio into dedicated GDScript components. Scenes handle the main menu, game, gallery, age notice and settings.

The generator represents maze walls with bitmasks. The controller handles the trail, resume behavior and progression. Exported settings expose backtracking, wall-crossing behavior and cell sizing for tuning without changing the core interaction.

Android build and device testing

The project has an installable Android APK and has been tested on a physical device. Touch input, portrait layout and saved progression are central to the mobile game experience.

Gameplay captures

The screenshots are renders of the actual game scenes. A capture harness uses fixed seeds and scripted progress, then sends touch and drag events through the game's own input handler to draw the visible paths. This keeps the captures tied to the real interaction rather than a separately illustrated maze.

The capture workflow covers 1080 × 1920 and 1080 × 2400 portrait layouts using Godot's mobile renderer. The images included here are the taller 1080 × 2400 captures.

Release history

Version 1.0.0

Initial release on Android