Technische Einblick - HawkeyeGreen/DWdR GitHub Wiki
Effektsystem
Wie kommt der 'Echte' Werte heraus?
Jeder Wert im Rundenspiel, auf den Effekte einen Einfluss haben können, wird vor seiner Nutzung wie folgt berechnet:
Alle Effekte, die als 'Basismodifikatoren' gelten werden als erstes auf den Wert gerechnet. Dabei werden alle diese Effekte separat gegen die Basis gerechnet. Wenn also ein Basis-Mod '+4' und einer '+10%' gegen einen Basiswert von 100 gerechnet werden, dann kommt 114 heraus. Einmal +4 und einmal +10.
Dann werden sogenannte 'Innere Modifikatoren' gegen die Basis mit allen Basismods gerechnet. Im obigen Beispiel werden also alle InMods gegen 114 gerechnet.
Die 'Äußeren Modifikatoren' wiederum werden gegen alle inneren Mods + Basis + Basismods gerechnet.
Wahrscheinlich werdet ihr im fertigen Spiel primär Innere Modifikatoren vorfinden und nur in Ausnahmen werdet ihr welche von den anderen beiden Typen haben.
Generierung und Verwaltung des Hyperlane-Netzwerkes, der Astralpfade und der karmal-verknüpften Systeme
Es gibt eine Reihe von Antrieben, die nur auf festen Pfaden von System zu System reisen können. Um diese Pfade effektiv technisch repräsentieren zu können, verwendet das SL-Tool Graphen. (Was Wikipedia dazu sagt)
In den Graphen sind die Systeme Knoten und die Wege Kanten. Dabei verwenden alle Netzwerke eigene Graphen (das erleichtert die Implementierung, da dann jeder Antrieb zur Wegfindung seinen eigenen Graphen verwenden kann).
Die Wegfindung erfolgt anhand des Dijkstra-Algorithmus (Was Wikipedia dazu sagt), was euch stets den kürzesten Weg zum Ziel garantieren sollte, wobei der Algorithmus etwas optimiert wird anhand der Meta-Informationen, die die wir durch die Repräsentation von Systeme, Systemshaufen o.ä. während der Generierung erstellt haben.
Die Erstellung der Netzwerke folgt für jedes Netzwerk etwas anderen Regeln.
Generierung des Hyperlane-Netzwerkes
Das Hyperlane-Netzwerk weist 5 Abstufungen auf. Es gibt die natürlichen Hyperraumpfade, die Tier-1-, Tier-2- und Tier-3-Hyperlanes und es gibt die Schattenpfade ("Shadow Lanes"). In dieser Reihenfolge werden auch die Graphen erzeugt, wobei die jeweils höheren Graphen stets aus den vorhergegangenen abgeleitet werden. Die natürlichen Pfade werden erzeugt, sobald alle Systeme in der Galaxie generiert wurden. Von einem zufälligen Startsystem aus wird ein Crawler mit einer zufälligen Tiefe auf die umgebenden Systeme losgelassen und fügt sie zu einer Zusammenhangskomponente des Graphen zusammen.(<- Dieser Prozess wird btw an verschiedensten Stellen der Galaixe durchgeführt) Von diesen Einzelteilen gehen die Crawler für das Tier-1-Netzwerk aus und davon wiederum die des Tier-2... Verändert sich beispielsweise eine Lane der Tier-2-Ebene ändert sie sich entsprechend auch im Graphen der Tier-3-Ebene und der Shadow Lane-Ebene. Das ausführlichste Netzwerk ist dabei die Tier-1-Ebene, welche mit den Startantrieben der Hyperlane-Klasse bereits nutzbar ist.
Generierung der Astralpfade
Die Astralpfade werden überall in der Galaxie von Systemen mit hoher magischer Stärke zu Systemen mit niedrigerer magischer Stärke gepflochten. Ähnlich wie bei den Hyperlanes gibt es hier eine Pfadstärke, die anzeigt, welche Antriebe ein Schiff braucht, um den Pfad zu nutzen. Umso geringer die Pfadstärke umso besser muss der Antrieb sein
Verknüpfung der karmal-ähnlichen Systeme
Die Erstellung des Karmalnetzwerkes erfolgt anhand der göttlichen Aspekte, die in einem System ausgeprägt sind. All jene Systeme, die sich ähnlich sind, werden miteinander verknüpft. Die Stärke der Verknüpfung hängt davon ab, wie stark die Karmalität in den Systemen ist. Diese Stärke entscheidet wieder, ob ein Schiff mit seinem Antrieb eine Verknüpfung nutzen kann.
So ähnlich: Massenportalnetzwerk
Die Massenportale sind ebenfalls in einem Graphen repräsentiert. Hierbei ist es so, dass alle primären (1-zu-1) Portale nur eine Kante aufweisen (zu ihrem Partner Portal), während alle Sekundären mit allen anderen Sekundären ihres Peer-Netzwerkes verknüpft werden. So kann auch hier eine Route via Graphen gebildet werden.