Hi all,
What is the difference between Meatbot and Pezbot in COD2?
EDIT: please delete, it was just a meatbot mod which was called Pezbot
Hi all,
What is the difference between Meatbot and Pezbot in COD2?
EDIT: please delete, it was just a meatbot mod which was called Pezbot
Last edited by Ni3ls; 23rd February 2015 at 13:43.
Can you give some details about that waypoint handling? And will you make it public?
I'm not going to give you a tutorial on waypoint methods, but I will simply define the difference between the 2 - Pezbot uses Astar; meatbot does not. Astar is the best-established algorithm for the general searching of optimal paths. This heuristic search ranks each node by an estimate of the best route that goes through that node. The typical formula is expressed as:
f(n) = g(n) + h(n)
where: f(n) is the score assigned to node n g(n) is the actual cheapest cost of arriving at n from the start h(n) is the heuristic estimate of the cost to the goal from n:
priorityqueue Open
list Closed
Meatbot uses a simple moveto() based on the nearest waypoint. There is no weighting method, and it suffers from bots taking predictable paths each map. You can as such anticipate where the bots are going to be because they always take a predictable path.
Ni3ls (23rd February 2015)
Although for maps with lots of players Dijkstra's algorithm might be more beneficial, as it does not set any values for H. It just continues until it finds the closest node with a player in it.
This means that, comparing it to astar, instead of running the astar algorithm 10x for 10 players, you just run Dijkstra once (it is heavier though) and find a nice solution.
Ofcourse you can tweak astar to only consider the closest N players and whatnot, but above is the basic difference between astar and Dijkstra
"Does not work" is an error report for a bug between keyboard and chair.
All hail Artie Effem
When i was studying the ROTU/Meatbot code i was impressed how well the server runs with such algorithms (no offense tho!). I reimplemented them using a mix of navemsh + A* + a funnel-algorithm and was confused as my 'lightweight' (i still think its lightweight compared to the popular mods) performs not noticable better - more worse than the original ones.
Okay, it seems like what I've been trying to say hasn't gotten through because now that's 2 people who have mentioned performance - you and serthy. So, once again - Meatbot suffers from predictable paths; Pezbot does not. Nothing to do with performance. It's how the paths are chosen. Not how well the code is optimised (or not, as the case may be). I never mentioned performance once.