Reliable Softwares

The Complete Business Solutions – Our Thoughts

AIAppArticleBlogGames

Tap to ping. Swipe to move. Find exit. Avoid ghost.

Pitch

Dark screen. You are a glowing dot in a procedural maze you can’t see. Every tap emits a sonar ping — an expanding ring that briefly reveals nearby walls, the exit, and any ghost hunting you. The ping fades in ~2 seconds. Then you’re blind again, except for what your memory holds.

Every level grows the maze and adds more ghosts. The tension comes from rationing pings: each one gives the ghost time to close in.

Core loop

  1. Tap — emit sonar ping at your position.
  2. Walls within ping radius fade in, then fade out.
  3. Swipe in a direction — move one or more tiles that way until you hit a wall.
  4. Find the green glowing exit tile to advance.
  5. If the ghost reaches your tile, game over.

Design choices

  • Ping cooldown (0.5s) — prevents spamming and makes each ping count.
  • Fade map per cell — individual cells decay independently, so the “echo” feels analog rather than binary visible/invisible.
  • Player always faintly visible — pure darkness is disorienting; a low-opacity core keeps orientation.
  • Ghost visible only when revealed — the horror of seeing it one cell away for 0.4 seconds, then darkness again.
  • Exit far from start — recursive backtracker maze ensures a long path.

Maze generation

Standard DFS backtracker on a grid where each cell starts fully walled. Walls are a 4-bit bitmask per cell (N/E/S/W). Knock down shared wall between current and random unvisited neighbor, recurse via stack.

Ghost AI

Per tick (every 0.45s), pick the axis with the larger delta to the player. If wall blocks that direction, try perpendicular. If blocked both, snap to cell center and try again next tick. Simple but produces aggressive pursuit with organic hesitation at junctions.

Click here to download for free.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.