Path Creation

There are 15 replies in this Thread. The last Post () by SWAT_OP-R8R.

  • blaster he meant the general path creation for mods since even after 5 years nobody really knows how it does work even if its just a logical process


    and yes im working on it but since i am no coder i can only do the logical part of the creation

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • ok - path creation
    what do we know for sure?
    we know that tools like FLscan dont really work and that the fact that they create illegal paths which are bigger than the normal system paths is not very good for the stability of mods



    we also know how paths should look like


    Example:
    A Path from system A to system D crossing all other systems between


    Path = A, D, A, B, C, D


    next thing we know is that 3 files are needed
    system_shortest_paths.ini (all paths included)
    shortest_legal_paths.ini (only jumpgates)
    shortest_illegal_paths.ini (only jumpholes)


    ok
    actually more we dont know for sure except that the few thousands paths i created by hand are working better automatically generated ones


    FL scan does use an option to change the weight of legal and illegal paths... something which i consider pure bullshit since logic does only know one solution and not 22 different solutions like in FLscan



    Are locked games included?
    well i would need to have a look at it but basically it easy to test if they cause crashes
    simply unlock them and set a path to these systems
    if its crashing you have your answer



    a tool analysing the system files could find out which systems are connected and create a system_shortest_paths.ini (independent on the question if they are connected by gates or holes)


    and now the complicated stuff starts... the creation of legal and illegal paths and the question if locked gates are excluded from the overall calculation of paths



    one thing i also noticed is that paths are re-calculated after every jump and that this is the actual reason for crashes on servers with wrong paths since 2 different paths could be incompatible with each other

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • ok thats complicated to explain so i created some small graphics which should explain them


    the problem itself are splitted paths with the same lenght
    those are "fishy paths" ^^




    well - assuming that the starting points are A + B and the end system is H we are going to have following possible paths






    Path = A, H, A, C, D, E, H
    Path = A, H, A, C, F, G, H
    Path = B, H, B, C, D, E, H
    Path = B, H, B, C, F, G, H


    All 4 paths are correct, all have the same lenght.


    Now lets assume C is the starting system:




    Path = C, H, C, D, E, H
    Path = C, H, C, F, G, H


    Again we have 2 valid paths with the same length. So which of those has to be used since a ship can only fly one way at the same time?
    Having both paths in the files would definitly cause a crash.
    There has to be a rule in a path generating script with decides which path is correct. And yes there are such "fishy paths" in FL.


    ok but now to the recalculation of paths...
    lets say we start at system A and want to go to system H again on this path

    what happens is that in system A the path to system H is calculated (you can see it on the map)
    As soon you enter the System C FL starts to read the path files again and calculates the route again.
    Now the new path that is calculated in system C could look like this

    which would mean no real change in the path... the ship would continue its way to H on the orginal path that also was calculated in system A


    but if the path calculation in system C looks like this

    the ship would need to go a different way... the original path from system A is not valid anymore


    if this does lead to a crash is something im not 100% sure of but there is the chance that crappy written tools generate paths that lead to the same destination but that are crossing each other which would result in a logical error or a loop in the path creation (when system S tells you to go to system T and system T tells you to go to system S)

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • Hm to solve this issues of shortest path there is an algorithm described in the "traveling salesmen problem" This algorithm can find different ways with different importance's to the target point. Also navigation programs uses these algorithms as well... But sure if there are parallel ways to the target then there are more possible ways. You could solve this by giving each way (route between two way points) a special weighting....


    I am sure the algorithm of this tool must be extended to avoid reroute to the starting point. So mathematically seen this is solvable, but dunno yet how to program it ;D

  • i would have a go, but i am packed


    but i am willing to assist any programmer on this task!


    please contact Op to give it a chance!!

    General - DC commanding staff member & DC Truchsess
    DC Website: http://www.swat-portal.com/php…hp?page=Board&boardID=413


    (\__/)
    (='.'=) This is Bunny. Copy and paste bunny into your
    (" )_(" ) signature to help him gain world domination.

    --
    Karl Marx: To do is to be!
    Lenin: To be is to do!
    Freddie Mercury: Doo be doo be doo!
    --
    RPG: Es gibt keinen Alkohol in Mittelerde! -> Mist!
    --
    I heard that's me having a beer (^^):
    ..... O
    LI² \ ' /
    ..... ^
    ..... / \

  • Holy cow!!!
    That would mean that different paths can be incompatible to each other and cause crashs while the paths are correct if they would be viewed seperated?


    That would explain why nobody at LR is able to create paths. They don't understand how they work together and it does look like they would be interested in such info.


    Good work so far.

  • well ehmm yeah... i was a bit busy with working on the portal and this LR issue


    but in the end i coder is needed to create such a tool (that means someone which is not called haegar coz he is busy enough)

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • Quote

    Originally posted by SWAT_OP-R8R
    well ehmm yeah... i was a bit busy with working on the portal and this LR issue


    but in the end i coder is needed to create such a tool (that means someone which is not called haegar coz he is busy enough)


    I already made some minds about such a tool, i need to figure out how to start with and what especially in needed.


    The basis of this tool would be to put all systems into a global grid. Now it is important if only the systems itself should be calculated or every single POI within the system should be calculated as well. Another thing that i am thinking of is what would be if the algorithm would find shorter ways like the already existing ones - and for now i do not know how to consider already existing paths.


    I need to research my university documents, hopefully i will find some information about it ;D


    By the way i gladly would start with coding but i first need to collect the details, how to start with, how it should work, what features are needed etc... And of course i need the time too - coz i am very busy with my work like Heager is too...

  • well with the details about what is needed and how it should work i can help

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!

  • Cosidering that im not coder and have no idea about it i will drop a question that migth be stupid...


    Does this "to be created tool", consider the distance inside each system? i mean, in OP graphics he shows same lengh paths taking in acount only the number of systems you have to cross, but does it take care about the distance inside each system you have to travel?


    I ask this cause i consider very hard that the distance to cross 2 different systems is exactly the same, and if the tool consider this variable the chances to have 2 same distance routes in my opinion is remote.


    But as i said due to my lack of knowledge the question can be stupid hehe...

  • yes i guess distance calculations would be needed

    signew.jpg


    cfmoddblogo.png5904.png5904.png
    http://www.moddb.com/scripts/topsite.php?ts=4766


    Only dead fish swim with the stream.
    Don't discuss with idiots. They only drag you down to their level and then beat you with experience there.


    This is ten percent luck,
    Twenty percent skill,
    Fifteen percent concentrated power of will,
    Five percent pleasure,
    Fifty percent pain,
    And a hundred percent reason to remember the name!