To paint a level directly onto the grid, click on a level from
the options in the top-right, then click and drag on the grid
to draw. You can make these walls by ensuring the level
difference of a cell from its neighbours is at least 5.
Change the Start/Stop
Click on the start/stop (shown below) and drag to the correct
location. Note that it is possible to drag them out of the grid,
and not possible to bring them back in, so please don't.
Change the speed of the simulation
Enter a value in the top right under "Set the tick speed"
and hit enter. The higher the tick speed, the faster the
Resetting the Map to a flat surface
Click on "Reset Terrain"
Creating a new random map
Click on "Random Terrain"
Toggle between Pathfinding mode and Exploration mode
Click on the "Switch Modes" button. This will reset the map.
Martian Surface Explorer
This is a rover built to operate on the Martian surface. Its
primary functions are:
Pathfind the way to a given destination, given a map
For unexplored terrain, map out a given area
In each case, you can pick a certain number of
pathfinding/mapping algorithms available, and (in case of the
pathfinder) you can also choose a parameter you wish to
optimise the path for.
The Martian Surface
The Martian surface is not flat, nor full of random walls - it
has hills, valleys, plains, and plateaus. So, the map of the
surface provided here is similar: Each cell has a height level,
and the rover in navigating can choose to stay on the same
level, climb, or speed downhill. This choice affects its
energy consumption and speed: going downhill for example is
very fast, but also a lot more energy-consuming than either of
the other two (as it needs to constantly monitor to balance
The differences in height levels also determines
if navigating past a slope is impractical; thus creating "walls".
It's not impossible to get past them, just more impractical due
to the energy expenditure.
For pathfinding, the rover can try either Djikstra's algorithm
or A-Star search. In each case, the answer should be the same,
the "optimal" path according to the parameters set. Djikstra's
however can be slower, as A-Star search also uses a
heuristic (Manhattan Distance) to try optimise its search
The parameters can be either Time optimisation or
Energy optimisation - as seen earlier, some paths may
be more beneficial for time, and others for energy. Of course,
in both cases, if at any point the slope is too large, the rover won't
go in that direction.
Exploration is simple: the terrain is unknown, and the rover
must estimate the height levels of various cells in its visible
range the best it can, and then move to try and cover more area.
The rover's scanning ability is limited by geometry. If there
is an obstacle in its line of sight, it is unable to see beyond