Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Private Server
You last visited: Today at 11:53

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



optimizing A* algorithm to fit conquer maps

Discussion on optimizing A* algorithm to fit conquer maps within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2016
Posts: 5
Received Thanks: 0
optimizing A* algorithm to fit conquer maps

that is my A* algorithm working on my custom bot at some private server


it's just taking a bit more time than i've seen before on major conquer online bots like conquer ai, chrome and such

i do understand the fact that the processing on those bots were done on the bot server which was way better than my pc, yet i am still interested in looking at others source code or listen to how they implemented the logic of A* into conquer with the 18 tiles scene coming into picture

also did anyone try out concurrent dijkstra's algo? would make more sense given the 18 tile part, wouldn't it be better performance wise ?

p.s. on the picture the closed list points are circles connected with the lines (lines represent path as by jumping/walking), the square around the entity is the 18 tile points around it with validation color coded
qqqqqqqqqqqw12qqqqqqq is offline  
Old 09/12/2016, 03:35   #2
 
elite*gold: 0
Join Date: Jul 2016
Posts: 79
Received Thanks: 22
Check out this paper:
SuperDaft is offline  
Old 09/12/2016, 09:50   #3
 
elite*gold: 0
Join Date: Sep 2016
Posts: 5
Received Thanks: 0
Quote:
Originally Posted by SuperDaft View Post
Check out this paper:
loved it, kinda drifted off from my point, here is a comparison in action

what i need to optimize is the grid vs the 18 tiles jumps, all i need is an idea of how to skip some open list points

as in

assume i'm at a point called x,y
ill get all points around me in a rectangular manner limited with the 18 tiles (aka those lines from x+18 to x-18 on both y+18 and y-18 and vice versa), then ill do the same for each point i get and recalculate the g/h costs, the problem is that the number of points escalate quickly caused by the big girde of tq maps, so a long path would take up to 9 seconds on an i7 cpu, not to mention the traffic and waiting for the server to confirm the jumps
qqqqqqqqqqqw12qqqqqqq is offline  
Old 09/12/2016, 10:24   #4


 
KraHen's Avatar
 
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 793
Quote:
Originally Posted by qqqqqqqqqqqw12qqqqqqq View Post
so a long path would take up to 9 seconds on an i7 cpu, not to mention the traffic and waiting for the server to confirm the jumps
There is something seriously wrong with your implementation, implemented correctly A* can work with HUGE grids (well that's the entire point of the heuristics that it's based upon), very quickly.
KraHen is offline  
Thanks
2 Users
Old 09/12/2016, 15:14   #5
 
elite*gold: 67
Join Date: Aug 2014
Posts: 1,321
Received Thanks: 927
I have been using this, I don't recall where I got it from but it works like a charm with conquer maps.

Edit: It might be based on Throne's or be Throne's.
Attached Files
File Type: zip Pathfinding.zip (5.1 KB, 33 views)
Xio. is offline  
Old 09/13/2016, 20:15   #6
 
U2_Caparzo's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 314
Received Thanks: 90
Time ago i was researching too, JPS (Jump point search) specifically, that was used with the A* algorithm, i'm pretty sure that Throne used JPS so you may want to check it out for an example or even the complete code.
U2_Caparzo is offline  
Reply


Similar Threads Similar Threads
Optimizing this code?
01/14/2014 - CO2 Private Server - 11 Replies
private static byte ReadPassword(byte raw) { int x = 0x14; int y = 0; byte Pass = new byte; while (x < 0x24) { Pass = raw; y++; x++;
[Just another graph-related algorithm] Kruskal`s algorithm
07/25/2012 - CO2 Programming - 11 Replies
(Scroll down for the code if you aren`t interested in my wall of text.) Okay, my previous post on Dijkstra`s algorithm didn`t really get the attention it was supposed to get, but I`m still starting a trend out of this. What exactly? I will be posting general purpose algorithms from time to time, as I truly believe that this is one of the most fundamental and important aspect of being a good coder : knowing the basic algorithms (lol?). If anyone can provide a way of implementing this in a CO...
Optimizing to use less CPU?
10/20/2011 - CO2 Private Server - 26 Replies
Hello everybody. I would like to ask you how could I optimize a server to use less CPU and use more RAM instead? I know that some things can't be taken by the RAM but even so there can be a lot of things to make a server run faster. So how could that be made?
How to add Dynamic Maps(5165 Houses) in conquer-sx's source?
07/06/2010 - CO2 Private Server - 0 Replies
like my title ... I'm see the Arco's shared method ... but it don't work on... when i go home .... the client display



All times are GMT +2. The time now is 11:53.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.