Kurzum, hier die kompletten Eigenschaften des Chaos-Raumes:
Form/Größe:
- Größe entspricht maximal 40 aneinanderhängende Felder!
- Generierung/Erzeugung jeweils rekursiv. (Neues feld an bestehendes feld > zielfeld frei? > generieren / wenn zielfeld nicht frei > neuen platz suchen) Somit keine "einzelnen Felder frei schwebend"
- Form absolut zufällig, jedoch aufgrund rekursiver generierung stets "in einem stück"
SpoilerAnzeigen
Da der Chaos-Raum bei jedem auftauchen neu generiert wird, ist natürlich auch eine systemschonende, möglcihst schnelle Berechnung selbiger nötig. Dafür bietet sich nicht nur eine rekursive, sondern auch eine objektorientierte umsetzung an.
Im Grunde gibt man erst ein Feld an, von wo aus die Generierung starten soll. Nun setzt man dieses Feld in ein Array, wo später sämtliche Felder, welche noch freie Felder um sich herum haben, gespeichert werden.
Nun geht man via Zufalls-Auswahl aus diesem Array stets davon aus, dass das ausgewählte Feld mindestens 1 Seite frei hat und sucht diese. Dort erzeugt man ein neues Feld. Nun wird direkt bei diesem neuen Feld in alle Richtungen geprüft, ob dort Felder frei sind. Sollte ein anliegendes Feld bereits ein Chaos-Raum-Feld sein, welches NICHT das Ausgangs-Feld ist, wird diese Prüfung auch für dieses Feld erneut durchgeführt, ohne jedoch von dort aus diese Rekursion fortzuführen. Das heißt: Nur 1 Ebene dieser Prüfung wiederholen.
Ist die Prüfung positiv (mindestens 1 Feld anliegend frei) ausgefallen, wird das neue Feld dem Array hinzugefügt. Ist bei den anliegenden, bereits vorhandenen Chaos-Feldern diese Prüfung negativ ausgefallen, wird das Feld vom Array entfernt. Und es wird ein separater Counter um 1 erhöht.
Vor jedem Erzeugen eines neuen Chaos-Feldes prüft man, ob die Länge des Array's + Counter > Maximalanzahl ist. Wenn ja, wird die Generierung unterbrochen und es findet keine Prüfung mehr statt und der Chaos-Raum-Bereich ist fertig generiert.
Im Grunde gibt man erst ein Feld an, von wo aus die Generierung starten soll. Nun setzt man dieses Feld in ein Array, wo später sämtliche Felder, welche noch freie Felder um sich herum haben, gespeichert werden.
Nun geht man via Zufalls-Auswahl aus diesem Array stets davon aus, dass das ausgewählte Feld mindestens 1 Seite frei hat und sucht diese. Dort erzeugt man ein neues Feld. Nun wird direkt bei diesem neuen Feld in alle Richtungen geprüft, ob dort Felder frei sind. Sollte ein anliegendes Feld bereits ein Chaos-Raum-Feld sein, welches NICHT das Ausgangs-Feld ist, wird diese Prüfung auch für dieses Feld erneut durchgeführt, ohne jedoch von dort aus diese Rekursion fortzuführen. Das heißt: Nur 1 Ebene dieser Prüfung wiederholen.
Ist die Prüfung positiv (mindestens 1 Feld anliegend frei) ausgefallen, wird das neue Feld dem Array hinzugefügt. Ist bei den anliegenden, bereits vorhandenen Chaos-Feldern diese Prüfung negativ ausgefallen, wird das Feld vom Array entfernt. Und es wird ein separater Counter um 1 erhöht.
Vor jedem Erzeugen eines neuen Chaos-Feldes prüft man, ob die Länge des Array's + Counter > Maximalanzahl ist. Wenn ja, wird die Generierung unterbrochen und es findet keine Prüfung mehr statt und der Chaos-Raum-Bereich ist fertig generiert.
- Ein Feld des Chaos-Raumes ist als normales Feld zu sehen.
- Mit einer Chance von 30% fallen Scanner, Sprungantrieb, Waffen und Module aus.
- Mit einer Chance von 70%, wenn Scanner, Sprungantrieb, Waffen und Module ausgefallen sind, versagen die Schilde und fallen für 10 bis 60 Sekunden auf 0.
- Mit einer Chance von 2%, wenn Scanner, Sprungantrieb, Waffen und Module ausgefallen sind, verringert sich die regenerierung der Schifsenergie um 90%, solange sie über 20 Energiepunkten liegt.
- - Beispiel: Wenn Energie auf 50 von 200 Punkten steht, kann die Regenerierungsrate von 60 Energiepunkten pro Minute auf 6 fallen.
- - Ist die Energie bereits unter 20 von 200 Punkten gefallen, ist die Regenerationsrate auf 60 Energiepunkten pro Minute. Selbst, wenn der vorherige Fall eingetreten ist.
- Mit einer Chance von 50%, wenn Scanner, Sprungantrieb, Waffen und Module ausgefallen sind, wird man beim Bewegen auf ein angrenzendes Feld auf ein zufälliges Feld innerhalb des Chaos-Raumes teleportiert.
- Mit einer Chance von 10%, wenn Scanner, Sprungantrieb, Waffen und Module ausgefallen sind, wird man an die Grenze des Chaos-Raumes auf ein normales Feld teleportiert.
- Mit einer Chance von 0.01% ist es möglich, dass man, unabhängig ob einer der vorherigen Ereignisse eingetreten ist, an einen vollständig zufälligen Punkt der gesamten Sternenkarte teleportiert wird.
- Sollte Punkt 2 in Kraft treten, werden sämtliche Felder schwarz dargestellt. Unabhängig, ob es eine Raumstation, ein unbesetzter Planet, eine Gaswolke oder Sonstiges ist. Erst, wenn man den Chaos-Raum wieder verlässt, sieht man wieder die normale Karte.
Meldungen und Ereignisse:
- Betritt man ein Chaos-Raum-Feld, wird erst eine Meldung angezeigt, wenn Punkt 2 (30%ige Chance) in Kraft tritt. Diese kann z. b. lauten:
"Scanner, Sprungantrieb, Waffen und Module fallen plötzlich aus. Kurz zuvor konnten Raumanomalien und Gravitationsverzerrungen mit den Scannern erfasst werden."
- Verlässt man durch reguläre Bewegung den Chaos-Raum (Von einem Chaos-Raum-Feld auf ein normales Feld, nachdem Punkt 2 in Kraft trat), erhält man die Meldung: "Sprungantrieb wieder Einsatzbereit. Waffen wieder in Funktion. Module und Scanner arbeiten wieder. Wir sind aus dem Chaos-Raum herausgeflogen."
- Sollte Punkt 3 in Kraft treten (70%ige Chance nach Punkt 2), wird eine Meldung ausgegeben wie: "Gravitationsverzerrungen haben die Schilde ausfallen lassen. Sie sind für kurze Zeit nicht mehr aktiv."
- Sollte Punkt 4 in Kraft treten (2%ige Chance für Energieabfall nach Punkt 2), wird die Meldung ausgegeben: "Der Energiefluss ist stark gestört und es kommen nur noch 10% der maximalen Leistung am Energiespeicher an."
Besonderheiten
- Innerhalb des Chaos-Raumes gibt es keine seltsame Materie
- Innerhalb des Chaos-Raumes gibt es keine NPC's
- Innerhalb des Chaos-Raumes kann man keine Chat-Nachrichten funken oder empfangen, ausgenommen Gruppen-Nachrichten oder Flüster-Nachrichten. Lokale Nachrichten verschwinden nach 30 Sekunden.
- Man kann keine Spieler auf Chaos-Raum-Feldern sehen, insofern Punkt 2 in Kraft getreten ist. Unabhängig, ob bei dem jeweilig anderen Spieler Punkt 2 auch in Kraft getreten ist oder nicht.
- Innerhalb des Chaos-Raumes können mit einer Chance von 4% pro Zug Trümmer auf dem Feld auftauchen. Diese können eingesammelt werden.
- Verlässt man den Chaos-Raum, kann man die Trümmer analysieren und diverse Items daraus erhalten.
- Sollte innerhalb des Chaos-Raumes und nach Eintreten von Punkt 2 sowie Punkt 3 die Schiffsenergie auf unter 10 sinken, erhält man 10% der aktuellen Schiffsrüstungspunkte Schaden. Mindestens jedoch 1 RP. Beispiel: Bei 8 RP wäre der Schaden 0.8 RP, was bei mindestens 1 RP als Resultat hätte, dass man nur noch 7 RP hat. Hat man z. B. 41 RP, wäre der Schaden 4.1 RP, was jedoch normal gerundet wird und somit 4 RP schaden verursacht. (Kein stetiges aufrunden!). Man kann durch den Effekt maximal auf 1 RP abfallen.
- Der Chaos-Raum selbst bleibt für 6 Tage an seinem Ort, bevor er sich auflöst und an einer neuen, zufälligen Position auf der Sternenkarte neu generiert wird (Siehe Punkt 1 und 2 unter Form/Größe)
- Chaos-Raum-Felder können auch über Raumstationen entstehen. Jedoch nicht in der unmittelbaren Nähe von festen gebieten, Spieler-Planeten oder Wurmlöchern.
Wie man sieht, habe ich mir schon neue Gedanken gemacht. Denn die Idee ist schon cool. Wird zwar programmiertechnisch ein bischen Aufwand kosten, jedoch eine neue (sehr schwierg zu erlangende) Möglichkeit bieten, weit entfernte Gebiete zu erreichen.
Zerrupft es