• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Programmer Looking for programmer to add pathfinding to my bot

kuhi

Premium User
Premium User
Joined
Aug 26, 2012
Messages
197
Solutions
1
Reaction score
79
Location
x64dbg
GitHub
Kuhicop
Hello,

I have an internal C++ dll that reads XY coordinates source and XY coordinates dest.

Your task is to include a pathfinding algorithm that will allow me to loop it in my current code.

Parameters that we must check:

  • path->isWalkable
  • path->isPathable

I will provide access to that data you will only have to include the path finding with this parameters:

C++:
std::vector<int> player_position{ player.x, player.y, player.z };
std::vector<int> walking_to_position{ waypoint.x, waypoint.y, waypoint.z };
 
DWORD tile = getTile(map, *(DWORD*)&walking_to_position);

bool tile_isWalkable = isWalkable(*(DWORD*)tile, 0);
bool tile_isPathable = isPathable(*(DWORD*)tile);

For the algorithm, you can use A* (preferably), point search or this one which is point search enhanced https://github.com/fgenesis/tinypile/blob/master/jps.hh

Please if you're interested contact me kuhi#6402

My idea is a copy & paste task for someone that already knows this.

Thank you <3
 
Last edited:
You can't just use Dijkstra as it's not efficient for searching as it doesn't take the endpoint into consideration. A* would be the best viable algorithm for that.
 
You can't just use Dijkstra as it's not efficient for searching as it doesn't take the endpoint into consideration. A* would be the best viable algorithm for that.
thank you will edit my post
 
Yup. In the game I built, I used my own version of Djikstra's for methods such as finding the nearest target etc, as tetra20 said, it is branching out from a start point with no specified end point.

A* is one of the best pathfinding algorithms to find the shortest path from point A to point B. Ofc, you will have to modify it to a point where diagonals should only be forced to use where a natural NESW movement is not possible, i.e blocked tile or creature is in the way.

A fast way to do this is when you have found a successful path, loop back through each waypoint and see if the adjacent tiles either side of the diagonal is walkable, and if both are available, randomise which to use, and add this waypoint inbetween.
 
Back
Top