PDA

View Full Version : COD2 Meatbot vs Pezbot



Ni3ls
23rd February 2015, 12:37
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

Tally
23rd February 2015, 14:51
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

I am currently porting Pezbot to COD2 and COD1. It is different from Meatbot because of the waypoint handling and general coding.

Ni3ls
23rd February 2015, 16:56
Can you give some details about that waypoint handling? And will you make it public?

Tally
23rd February 2015, 17:12
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.

IzNoGoD
23rd February 2015, 17:50
Astar is the best-established algorithm for the general searching of optimal paths

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

Tally
23rd February 2015, 18:40
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

I'm not interested in re-inventing the wheel. The wheel turns, it gets the cart from A to B. Job done! Why try to find a different way of doing it when it's already being done by a fine enough method?

serthy
23rd February 2015, 21:01
I'm not interested in re-inventing the wheel. The wheel turns, it gets the cart from A to B. Job done! Why try to find a different way of doing it when it's already being done by a fine enough method?
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.

Tally
23rd February 2015, 22:22
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.

Thank you for proving my point.

filthy_freak_
24th February 2015, 09:51
I am currently porting Pezbot to COD2 and COD1. It is different from Meatbot because of the waypoint handling and general coding.

If you need a test server, with plenty of real players, pop me a message.

I am genuinely interested in performance differences between meatbot & pezbot because i'm running 5 meatbot servers.

Tally
24th February 2015, 10:34
If you need a test server, with plenty of real players, pop me a message.

I am genuinely interested in performance differences between meatbot & pezbot because i'm running 5 meatbot servers.

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.

Jeta1
25th February 2015, 02:38
Tally, I'm willing to let you use our dedicated server for testing, not sure what availability you have to dedicated servers, so thought I would offer.
TnT Jeta1

Jeta1
15th March 2015, 17:00
Tally, need any help testing this pezbot mod you're working on? When it's complete, are you going to make it available for download?
Getting bored with the predictability of Meatbot.
Thanks, TnT Jeta1