#maze #simulation #update #maze-generator #amazeing

app amazeing

Amazeing is a maze generator/solver application with simulation/visualization

1 unstable release

Uses new Rust 2024

new 0.6.0 Apr 29, 2025

#1 in #maze

AGPL-3.0

10MB
3K SLoC

Rust 2K SLoC // 0.0% comments BASH 796 SLoC

amazeing

Amazeing is a maze generator/solver application with simulation/visualization.

title_animation_1.gif title_animation_2.gif title_animation_3.gif

Installation

Clone the repository and build the project:

git clone https://github.com/eendroroy/amazeing.git
cd amazeing
make install # this will install shell-completions

Usage

Run amazeing --help

Key/Mouse events

  • Control+I - Save current screen as png in current directory

  • Create

    • G/<Space> - (Re)Generate Maze
    • Additional action in simulation mode (--verbose/-v):
      • LeftClick - Add/Remove Source
      • Shift+LeftClick - Set Destination
      • S/<Space> - Start Simulation
      • <Space> - Start/Pause/Resume Simulation
  • View - Update mode (--update/-u):

    • LeftClick - Open path
    • Shift+LeftClick - Block Path
    • Control+S - Save current maze to the same file
  • Solve

    • LeftClick - Select Source
    • Shift+LeftClick - Select Destination
    • Additional action in simulation mode (--verbose/-v):
      • S/<Space> - Start Simulation
      • <Space> - Start/Pause/Resume Simulation

Example Commands

Generate - single source

# generate 21x21 maze using BFS - single source
amazeing create rectangle --maze bfs_21_21.maze --rows 21 --cols 21 --source 10,10 --procedure bfs --unit-shape square
# short
amazeing C R -m bfs_21_21.maze -r 21 -c 21 -s 10,10 -p bfs -U square

# simulate - multi source
amazeing create rectangle --rows 21 --cols 21 --source 10,10 --procedure bfs --verbose --fps 25 --unit-shape hexagonal
# short
amazeing C R -r 21 -c 21 -s 10,10 -p bfs -v -F 25 -U hexagonal

Generate - multi source

# generate 21x21 maze using BFS - multi source
amazeing create rectangle --maze bfs_21_21.maze --rows 21 --cols 21 --source 7,7 --source 14,14 --procedure bfs --unit-shape sqaure
# short
amazeing C R -m bfs_21_21.maze -r 21 -c 21 -s 7,7 -s 14,14 -p bfs -U square

# simulate - multi source
amazeing create rectangle --rows 21 --cols 21 --source 7,7 --source 14,14 --procedure bfs --verbose --fps 25 --unit-shape hexagonal
# short
amazeing C R -r 21 -c 21 -s 7,7 -s 14,14 -p bfs -v -F 25 -U hexagonal

Update

# update bfs_21_21.maze
amazeing view --maze bfs_21_21.maze --update
# short
amazeing V -m bfs_21_21.maze -u

Solve

# solve bfs_21_21.maze
amazeing solve --maze bfs_21_21.maze --procedure bfs
# short
amazeing S -m bfs_21_21.maze -p bfs

# simulate
amazeing solve --maze bfs_21_21.maze --procedure bfs --verbose --fps 25
# short
amazeing S -m bfs_21_21.maze -p bfs -v -F 25

Generate Maze

Algorithm Maze Shape Unit Shape
Dfs Rectangle Hexagon
Dfs (Multi Source) Rectangle Square
Dfs Rectangle Square
Bfs Rectangle Square
Dfs Triangle Hexagon
A* (Manhattan) Circle Hexagon

Solve Maze

Algorithm Maze Shape Unit Shape
A* (Octile) Rectangle Hexagon
A* (Manhattan) Rectangle Square
DFS Rectangle Square
BFS Rectangle Square

Others

Color scheme generator

License

This project is licensed under the GNU AGPL-3.0 License. See the LICENSE file for more details.

Dependencies

~14MB
~319K SLoC