You will need :
- Visual Studio 2022 installed on your system.
To set up the project, run the following commands in your terminal:
git clone https://github.com/GamingCampus-MillieBourgois-25-26/pathfinding-dylan-janelle
cd pathfinding-dylan-janelle
GTECH_Maps.slnAnd you're ready to go!
The application includes three specific pathfinding algorithms.
- A*
- B.F.S (Breadth First Search)
- Dijkstra
G.TECH Maps! is a pathfinding app inspired by the OpenStreetMap.
It was developed in three weeks using SFML for the rendering and ImGui for the user interface.
Using ImGui SFML to link the two libraries to the same render context.
- Mouse wheel to zoom inside the map view.
- Hold left click and Move the mouse to move inside the map.
- Right click to add a start and an end point on the map.
- Distance (km)
- Time (hours)
- Average speed (km/h)
- Fuel consummation (L)
- Fuel price (€)
- Tolls taken by the path
- Number of explored nodes
- Speed graph over time (x-axis: steps, y-axis: speed (km/h))
- The itinerary found step by step.
Using the ImGui user interface included in the application, you can click on checkboxes to make those options appear.
You can click on the "Avoid toll" checkbox to generate a path without any toll cost, proventing any unnecessary expense in exchange for some time.
The paths generated in this mode still try to reduce the time cost as much as they can.
The application has a built-in import / export system for the user-generated .csv pathfinding files.
To export a file, you can click the "Log to file" button after finding a non-imported path.
To import a file, you can click the persistent "Import path file" button.
The generated CSV files contain multiple informations relative to a generated path, e.g:
id,x,y,type
1234,50.02,65.03,Motorway
772,65.73,49.15,Motorway
98654,75.46,85.72,Motorway
5547,42.89,46.71,Primary
129,21.75,78.89,Secondary
68426,75.65,52.78,Tertiary
2258,122.45,143.56,Residential
...The name of a generated CSV file is generated following this rule :
"<PathType>_<Date>_<Time>.csv"
e.g. "BFS_Nov_19_2025_15_58_37.csv"
The application internally uses the TinyFileDialogs library to open file dialogs when importing a file.
There are no known bugs at this time.
If you encounter one, please open an issue on this repository with a clear description of the problem.