CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Auf der Suche nach einem Handelspartner? Poste dein Angebot hier!
daddlertl
Vampir 5. Generation
Beiträge: 104
Registriert: 24. Mai 2010 22:00

CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von daddlertl »

Erstmal: ich wusste nicht in welche Rubrik ich es packen soll, hab erstmal "Handel" gewählt, weil das Tool hauptsächlich für das Tätigen von Handel bzw. den Rohstofftransport gedacht ist. Falls die Rubrik falsch ist: bitte verschieben


Da mich bereits mehrere Spieler nach dem CI-Navi gefragt haben, werde ich es hiermit veröffentlichen, damit jeder es nutzen kann. Ursprünglich hatte ich es nur für mich und ein paar Allymember programmiert, es hatte am Anfang auch noch einige Fehler, mittlerweile habe ich es aber so weit verbessert, dass ich es nun vorzeigen kann. Insbesondere bei der Geschwindigkeit und der Qualität der Rechenergebnisse hat sich einiges getan.

Nun erstmal zu der Frage, was das CI-Navi überhaupt ist: trägt man in die sprtore.txt bekannte Sprungtorverbindungen ein, kann man mit diesem Tool sich die kürzeste Verbindung unter Nutzung der eingetragenen Sprungtore errechnen lassen (sofern es eine sinnvolle Abkürzung über Sprungtore gibt).

Hier ist der Downloadlink für das Tool: Server, gibs her

Bevor man das Tool benutzen kann, muss man es entpacken und anschließend in die sprtore.txt die Sprungtorverbindungen eingeben, die man kennt (kann man zum Beispiel mit der Universumsansicht suchen). Die sprtore.txt hat folgendes Format (die bereits voreingetragenen Beispiele bitte vorher löschen, das sind keine real existierenden Sprungtorverbindungen, die dienen nur zur Verdeutlichung des Syntax):

Code: Alles auswählen

eigen;1:2:3;1:44:5
fremd;1:66:7;1:88:9
bzw kurz gesagt: typ;KoordinateSprungtor1;KoordinateSprungtor2

dabei sind für den Typ folgende Angaben gültig:

eigen: es handelt sich um eine allianzeigene Sprungtorverbindung
fremd: es handelt sich um eine allianzfremde Sprungtorverbindung

Man kann die Definition, was "eigen" und was "fremd" ist natürlich auch beliebig nach anderen Kriterien festlegen.

Die Werte für KoordinateSprungtor1 und KoordinateSprungtor2 sind ganz einfach die Koordinaten von wo nach wo die Sprungtorverbindung geht, einfach so eintragen, wie sie im Spiel stehen, dabei als erste Koordinate immer die niedrigere eintragen.

Zu beachten ist, dass man Doppelpunkt und Semikolon nicht verwechselt, man sich also von der Struktur her an das Beispiel hält, ansonsten wird das Programm nicht oder nicht korrekt funktionieren.

Hat man alle bekannten Sprungtorverbindungen in die sprtore.txt eingetragen, kann man mit dem Programm nun beliebig viele Flugstrecken berechnen lassen.

Dazu startet man die CINAVI09.exe.

Ist das Programm gestartet, gibt man Start- und Zielkoordinate des gewünschten Flugs ein (wieder genauso wie im Spiel, also in der Form x:yy:z, dabei ist es egal ob man von einer niedrigen zu einer hohen oder von einer hohen zu einer niedrigen Koordinate fliegen will, das Programm erkennt automatisch die Flugrichtung).

Anschließend teilt man dem Programm noch mit, ob man allianzfremde Sprungtore ebenfalls benutzen möchte oder nicht (dafür war zur Unterscheidung die entsprechende Eintragung in der sprtore.txt nötig).

Zu guter letzt kann man noch festlegen, wieviele Sprungtorverbindungen man maximal benutzen möchte, hier empfehle ich einfach die Enter-Taste zu drücken, wodurch der Standardwert 3 verwendet wird oder einen Wert einzugeben, der maximal 3, oder höchstens 4 beträgt, andernfalls kann es zu sehr langen Rechenzeiten kommen, insbesondere wenn man wirklich alle Sprungore, die es gibt in die sprtore.txt eingetragen hat.

Nach dieser Eingabe fängt das Programm nun zu rechnen an, je nach Anzahl der Sprungtore und gewählter Flugparameter kann dieser Vorgang sofort beendet sein, aber auch mehrere Minuten dauern. Bei langer Rechenzeit sieht man den Fortschritt in Prozent.

Während und nach der Berechnung wird die kürzeste gefundene Strecke angezeigt (der eigentliche Sinn dieses Programms).

Das Ergebnis kann dann zum Beispiel so aussehen:

Code: Alles auswählen

Flug von 1:1:1 nach 1:99:9
--------------------------
 
 1) Flug   von 1:1:1 nach 1:2:3
 2) Sprung von 1:2:3 nach 1:44:5
 3) Flug   von 1:44:5 nach 1:66:7
 4) Sprung von 1:66:7 nach 1:88:9
 5) Flug   von 1:88:9 nach 1:99:9
 
Strecke ohne Sprungtornutzung: 295.6 Lichtjahre
Strecke mit  Sprungtornutzung: 103.6 Lichtjahre (Ersparnis 64.9 %)
 
Es wurden 7 Flugmoeglichkeiten getestet.
Hier hatte das Programm nicht viel zu tun, da in der sprtore.txt nur 2 Sprungtore eingetragen waren (die Syntaxbeispiele).

Probiert es einfach mal aus und gebt Rückmeldung, ob es funktioniert hat (bitte auch Betriebssystem angeben und ob 32 oder 64 bit, damit ich sehe, auf welchen Systemen es läuft, konnte selbst nur Vista 32 Bit und Win7 64 Bit testen).

Bei Fragen und Problemen, könnt ihr sie ebenfalls hier posten, soweit möglich kann man sicher Abhilfe schaffen.

Am Ende noch eine Bitte: nutzt dieses Tool bitte nur für friedliche Aktivitäten, ich habe es nicht dafür entwickelt um leichter Krieg führen zu können.

Das Tool ist Freeware und wird angeboten "wie es ist". Für Probleme, Abstürze oder Schäden keine Haftung ! (ich garantiere aber, dass es frei von Viren, Spyware oder anderen absichtlich eingebauten Gemeinheiten ist, es sendet auch nichts ins Internet)

Im Programmordner gibt es noch eine hinweise.txt mit weiteren Informationen.
alesan
Gebissener Mensch
Beiträge: 43
Registriert: 18. Aug 2010 12:00

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von alesan »

Hört sich gut an, sofort mal testen :D hatte mir früher schon mal gedacht sowas müsse es mal geben weil das wirklich scheiße ist immer den kürzesten weg selbst zu suchen, jetzt muss ich nur noch ein paar sprungtore suchen^^
94m3k1n9
Vampir 5. Generation
Beiträge: 194
Registriert: 28. Apr 2010 16:12

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von 94m3k1n9 »

sieht ganz schön aus, in welcher sprache ist das? kann man da evtl den quelltext für ein solches projekt für macs bekommen?

EDIT:
dann muss ich keine windoof vm verwenden
daddlertl
Vampir 5. Generation
Beiträge: 104
Registriert: 24. Mai 2010 22:00

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von daddlertl »

Für die Programmierung habe ich qb64 verwendet, das gibts aber nur für Windows, daher ist eine Konvertierung in ein Mac-Programm nicht möglich (die Entwicklungsumgebung kann nur .exe-Dateien erstellen)
94m3k1n9
Vampir 5. Generation
Beiträge: 194
Registriert: 28. Apr 2010 16:12

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von 94m3k1n9 »

mit dem quellcode könnte man aber etwas equivalentes erstellen. muss nu etwas umgeschrieben werden
daddlertl
Vampir 5. Generation
Beiträge: 104
Registriert: 24. Mai 2010 22:00

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von daddlertl »

Ich biete den Quellcode hiermit unter folgenden Nutzungsbedingungen an:
-die Bildschirmausgabe "programmiert von daddlertl" bleibt erhalten, eine Ergänzung wie "erweitert durch xyz" ist natürlich erlaubt
-es dürfen keine virenartigen Funktionen (z.B. Auslesen, Ändern oder Installieren von Dateien außerhalb des Programmordners, Ändern von Computereinstellungen, ungefragtes Lesen oder Senden von Daten aus oder ins Internet etc.) eingebaut werden
-geänderte, funktionsfähige Versionen sind in diesem Thread zu posten, damit alle was davon haben (bei Weiterverwendung mit qb64 reicht der Quellcode, bei Portierungen bitte Quellcode und alle zum Funktionieren benötigten Dateien in ein Archiv packen)

Hier ist der Quellcode: DOWNLOAD (es handelt sich hierbei um eine normale Textdatei, die mit jedem Texteditor geöffnet werden kann)

Anmerkung: Fehler mit Umlauten oder anderen Sonderzeichen entstehen durch die unterschiedlichen Zeichensätze zwischen dem Browser bzw. Windows und qb64. Bei Kopieren des Quellcodes in qb64 verschwinden diese Fehler, bei anderweitiger Verwendung muss der Nutzer des Quellcodes ggf. diese Fehler manuell oder durch automatische Ersetzung korrigieren.

Der Quellcode ist nicht sonderlich schön, da er nicht viel kommentiert ist und auch eher nach dem Motto "hauptsache es funktioniert" zusammengeschustert wurden. Es sind auch noch etliche auskommentierte Befehle drin, die ich zur Fehlersuche oder zum Testen benutzt habe. Ursprünglich hatte ich nicht vor den Quellcode zu veröffentlichen, daher ist er auch nicht besonders leserlich gestaltet.
devilsdance1000
Vampir 5. Generation
Beiträge: 122
Registriert: 13. Aug 2010 11:31

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von devilsdance1000 »

krasses Pferd
MfG devilsdance [TT]

Make trade not war

Ich hasse Stress...

Wieder im Spiel !!! Schreibt mit mir wenn ihr Iwas braucht ich besorg es ^^
daddlertl
Vampir 5. Generation
Beiträge: 104
Registriert: 24. Mai 2010 22:00

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von daddlertl »

Heute habe ich während meiner Zugfahrt ein neues Feature ins CI-Navi eingebaut: man kann nun mehrere Ergebnisse speichern lassen, die dann in der Ergebnisdatei sortiert sind (zuerst die Flugmöglichkeit mit der größten Wegersparnis). Somit hat man die Möglichkeit sich alternative Flugmöglichkeiten zu suchen, die vielleicht nicht die kürzesten sind, aber vielleicht bequemer, z.B. mit weniger Flugmanövern.

Man kann festlegen, wieviele Ergebnisse in dieser "Highscore-Liste" (eher Ersparnisliste) gespeichert werden sollen, da dieses Feature ziemlich an der Performance nagt. Je mehr Ergebnisse man wünscht, desto länger wird die Berechnung dauern. Am Anfang (die ersten Fortschrittsprozente) geht es recht langsam, wird aber dann schneller.

Gibt man nichts an (indem man bei der Frage nach der maximalen Anzahl an Ergebnissen einfach Enter drückt), verhält sich das Programm wie in der Vorgängerversion, d.h., es wird nur die kürzeste Strecke ausgegeben.

Probiert es einfach mal aus.

Das Programm hat nun die Versionsnummer 10. Wer bereits die Version 09 im Einsatz hat, braucht nur die .exe-Datei austauschen, da alle anderen Dateien (auch die Sprungtordatenbank) mit der neuen Version kompatibel sind.

Hier die Downloads (CI-Navi v10):

Hier ist die komplette Version 10 mit allen Dateien (für neue Benutzer)

Hier ist nur die .exe - für die, die schon die v09 einsetzen
daddlertl
Vampir 5. Generation
Beiträge: 104
Registriert: 24. Mai 2010 22:00

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von daddlertl »

Ich hab soeben eine neue Version hochgeladen: Download CI-Navi v11

In dieser Version habe ich zwei Fehler behoben, die zu deutlichen Funktionsstörungen geführt haben, da diese nur unter bestimmten Umständen auftreten und nicht immer sofort auffallen, habe ich sie erst jetzt bemerkt:

-zum einen wurden unter bestimmten Umständen gute Alternativrouten "verschluckt" und stattdessen etwas schlechtere in der Ergebnisdatei gelistet, Ursache hierfür war ein logischer Fehler bei der Verwendung von Variablen
-zum anderen kam es ab und zu vor, dass das Programm Flüge vorgeschlagen hat, bei denen man trotz dass das Ziel bereits erreicht wurde noch eine "Ehrenrunde" drehen sollte, d.h. es wurden noch unnötige Schiffsbewegungen drangehängt, dieser Fehler ist systembedingt (entsteht durch den "Rechenaufwandsverringerungsalgorithmus") und lässt sich nicht direkt vermeiden, ich habe daher einen Filter eingebaut, der diesen Fehler erkennt und solche unsinnigen Ergebnisse rausschmeißt

Es gibt auch in dieser Version noch einen kleinen Fehler, der aber eher als Unschönheit zu betrachten ist, da er die Funktion des Programms nicht wesentlich beeinträchtigt: ab und zu kommt es bei der Auflistung von mehreren Routen vor, dass Routen, bei denen Rückwärtssprünge sinnvoll sind, im Ergebnis doppelt aufgelistet sind, dieser Fehler ist ebenfalls systembedingt (Programm kann nicht während der Berechnung erkennen, dass es zwei Routen berechnet hat, die im Endergebnis die gleiche Strecke ergeben, weil intern die Strecke aufgrund des Algorithmus unterschiedlich ist - das genau zu beschreiben würde hier zu weit führen) und kann nur durch weitreichende Programmänderungen vermieden werden. Dies werde ich in einer späteren Version versuchen zu beheben, dazu brauche ich aber viel Zeit und Ruhe, die ich im Moment nicht hab.
daddlertl
Vampir 5. Generation
Beiträge: 104
Registriert: 24. Mai 2010 22:00

Re: CI-Navi - Tool zum finden der kürzesten Sprungtorroute

Beitrag von daddlertl »

Ich habe mal wieder eine neue Version hochgeladen: Download CI-Navi v12

Folgendes wurde verbessert:

-Dateizugriffe auf Array umgelegt, dadurch signifikante Geschwindigkeitssteigerung, insbesondere, wenn man sich viele Ergebnisse anzeigen lässt
-Bug behoben, der zur Auflistung mehrerer gleicher Ergebnisse geführt hat
-Anzeige der Berechnungszeit (zur Info und zu Benchmarkzwecken)
-Bug behoben, der in seltenen Fällen dazu führte, dass als Endergebnis Unsinn angezeigt wurde.

Somit sind alle mir bekannten Fehler mit dieser Version behoben. Wer trotzdem einen Bug entdeckt: bitte hier in diesem Thread oder bei mir per PN in CI melden !
Antworten