
A visual editor application presenting working of A* algorithm made in "Unity" game engine.
- This is a "Unity" project of a visual editor designed to present how A* algorithm works on a grid map.
- The project presents my programming skills and how I write code taking care of several optimisations.
- FLEXIBLE INPUT
- Moving the camera around the map
- Zooming in/out the camera
- Adjusting movement speed of the camera
- Adjusting zooming in/out sensitivity of the camera
- MAP GENERATION
- Generation of a map by the given dimensions in tiles (from 3x3 to 30x30)
- Adjusting dimensions (extending & shrinking) by the given size in the input fields
- MAP EDITING
- Changing position of map tiles
- Adjusting weight to each map tile
- Changing tiles type (passable/impassable) depending on their weight (if it is below 0, then the tile is impassable)
- ALGORITHM
- Finding a path between the start and destination tiles
- Support of both 4-way and 8-way (diagonal) movement
- Coloring on the map which define a path along with those that were set as visited
- Drawing an animated path trail
- HEURISTIC
- 3 types: Manhattan, Euclidean and Chebyshev distance metrics
- Adjusting weight (multiplier) by the input field
- SIMULATION MODE
- Showing how the algorithm works step by step
- 2 types: Timed (step between interval in seconds) and Stepwise (step after clicking a button)
- MISCELLANEOUS
- Taking screenshots of the map
- Switching to fullscreen/windowed mode
- Displaying of the map area along with additional offset around it in tiles (can be disabled)
- Localization support: Polish and English
- Multiplatform support: Standalone, WebGL and Android
A starting scene with buttons for selecting desired language.

A scene wherein the visualiser is shown.

| Platform |
Navigation |
Hovering a tile |
Dragging hovered tile |
Changing tile weight |
Zooming in/out the camera |
| Standalone & WebGL |
W / S / A / D or arrow keys |
Hovering a tile with a mouse cursor |
Left mouse button (press & hold) |
Mouse scroll wheel (if any tile is hovered) |
Mouse scroll wheel (if none tile is hovered) |
| Android |
Swipe (outside of UI panels) |
Tapping a tile |
Tapping already hovered tile |
Adjusting by the UI slider shown on top of the screen |
Pinch-to-zoom |
COMPLETED

The project is complete and ready to build.
This project was made entirely by Stanisław "Jason" Popowski.