Skip to content

AvanishSalunke/Mazify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‘พ Mazify ๐Ÿ‘พ

A "crazy," neon-themed arcade maze game built in Python.

Mazify is not just a maze generator; it's a complete, "juiced" arcade experience. It combines classic procedural generation algorithms with modern game-feel elements like sound, particle effects, and a pulsing neon aesthetic. The goal is to collect all the Data Fragments and reach the exit in the fastest time possible.


๐ŸŒŸ Features

This project is packed with features that make it a complete and polished game:

  • Dynamic Procedural Generation: Uses a Depth-First Search (DFS) algorithm to generate a new, unique, and perfect maze every single time.
  • "Beautiful" Generation Animation: Watch the maze get "carved out" in real-time with a pulsing magenta generator head.
  • Full Game Loop: Includes a "MAZIFY" Title Screen, a "GET READY!" transition, the main gameplay, and a "You Won!" end screen.
  • Collectible System: The player must collect all 10 "Data Fragments" (white pulsing orbs) before the exit (green flag) will work.
  • A* Pathfinding Hint: The player can press H to toggle a hint, which shows the optimal path calculated by the A* (A-Star) algorithm.
  • Instant Restart: Press G at any time (even during generation) to immediately abandon the current run and start a new one.

๐Ÿ’Ž "Crazy" Visuals & Game Feel

  • Neon "Tron" Aesthetic: A dark, high-contrast theme with glowing cyan walls, a pulsing player, and vibrant start/end flags.
  • Fading Player Trail: The player leaves a faint, fading trail of particles to show where they've been.
  • Particle Explosions: Collecting a Data Fragment triggers a satisfying burst of neon particles.
  • Screen Shake: A subtle screen shake effect plays when you restart or win the game.
  • Polished "Glass" HUD: The game features a clean, semi-transparent HUD for the timer, fragment count, and controls.
  • HUD "Pop" Animation: The "Fragments" text on the HUD flashes and scales up when you collect one.

๐Ÿ”Š Code-Generated Sound Effects

The game has a full sound system where all sounds are generated from code using numpy sine waves. No audio files are needed!

  • Player movement (bloop)
  • Collecting a fragment (ping!)
  • Winning the game (a two-tone fanfare!)
  • Restarting (whoosh!)
  • Toggling the hint (click)
  • Failing to exit (buzz!)

๐Ÿ› ๏ธ Built With

  • Python 3: The core language for the entire project.
  • Pygame: The library used for all graphics, input (keyboard), and sound.
  • Numpy: Used exclusively for generating the sound effect wave data.

๐Ÿš€ Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

You must have Python 3 and pip installed.

Installation

  1. Clone this repository (or just download the mazify.py file).
  2. Install the required Python libraries (pygame and numpy):
    pip install pygame numpy
  3. Run the game:
    python main.py
    (If you named the file something else, run that file instead.)

๐ŸŽฎ Controls

  • SPACE (on Title Screen): Start the game
  • ARROW KEYS (tap-to-move): Move the player (Up, Down, Left, Right)
  • H: Toggle the A* solution path (hint)
  • G: Restart the game and generate a new maze
  • Q or ESC: Quit the game

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages