Status Update #20 - XEvent

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Status Update #20 - XEvent




      Vorwort

      Ich arbeite nun schon viele Jahre an Kadcon. Ganz grundlegend habe ich damit begonnen und über die Jahre fortgeführt, weil ich an Dingen arbeiten kann die mir Spaß* machen. Es gibt da natürlich immer Hoch- und Tiefphasen. Mal hat man Angst um seine Existenz (verdiene ich noch genug Geld?) - denn Kadcon ist mein Lebensunterhalt. Mal ist man frustriert, weil es Wochen oder gar Monate dauert nur um auf das nächste Minecraft-Update umsteigen zu können. Verbunden mit einer Menge an Arbeitsstunden die Woche, die über ein gesundes Maß hinaus gehen führt dies irgendwann dazu, dass der Spaß auf der Strecke bleibt. Diese Erfahrung durfte ich dann leider auch machen. Ohne nun auf Details einzugehen und nur das Resultat dabei zu betrachtet: Ein Projekt wie Kadcon kann nur funktionieren, wenn der Spaß dabei ist. Dies ist beispielsweise auch der Grund dafür, warum die Crates in der letzten Zeit etwas seltener und nicht an klaren Terminen erstellt wurden: Sie sind für mich absolut langweilig, auch wenn sie einen Großteil der Einnahmen auf Kadcon bedeuten. Ich hoffe für den ein oder anderen beantwortet dies die Frage „Warum macht Kade jetzt dies und nicht das?!“
      * Edit: Spaß ist vielleicht das falsche Wort. Dinge die für mich interessant sind.

      Nun aber zum interessanten Teil:

      Vom Problem bis zur Umsetzung #3: XEvents
      (oder "Events müssen cooler sein")



      Die Idee war eigentlich relativ simpel: Statt Items vom Himmel fallen zu lassen lässt man einfach "Befehle" vom Himmel fallen.
      Im SourceCode wird aus "ItemDropEvent" ein "CommandDropEvent". Der Code wird etwas umgeschrieben und zack fertig! Man kann Befehle vom Himmel werfen und darüber dann ganz viele verschiedene Events veranstalten. Zum Beispiel kann man Monster fallen lassen. Effekte anzeigen....alles was man eben über Befehle so auslösen kann :thumbup:
      Am Ende wurde aus CommandDropEvent dann XDropEvent, weil es wesentlich umfangreicher geworden ist als zunächst geplant.

      Von dieser Grundidee bis zum Video dauert es dann aber noch etwa einen Monat - was dauert da so lange ?( ?(





      Wenn man probiert dies für Minecraft zu basteln entfernt man sich leider relativ schnell vom Grundgedanken "einfach Befehle am Ort X starten".
      Ohne zu technisch zu werden hier eine kleine Auflistung zum Kopfzerbrechen :P :
      • Befehle speichern
        Bevor man überhaupt daran gehen kann die Befehle ausführen zu können muss man sie irgendwo abspeichern - und wiederfinden können. Jeder gespeicherte Befehl muss also auch einen eindeutigen Namen bekommen. Es braucht also schon mal eine Verwaltung für diese ganzen (Name -> Befehl)
      • Befehle eingeben
        Speichern kann man aber nur dann, wenn man den Befehl auch eingeben kann. Direkt an Dateien rum zu pfuschen ist keine gute Lösung. Es sollte schon möglich sein diese Dinge über den Chat oder die ServerConsole zu tun. Wer sich schon mal mit Regex/Befehlsverarbeitung oder Parsern beschäftigt hat weiß: "Befehle über Befehle übergeben" klingt nicht gut. Wie erkenne ich was nur gespeichert und was bearbeitet werden soll? Es braucht also eine Sonderbehandlung (zu anderen Befehlen) nur um die Befehle speichern zu können.


      • Befehle ausführen ^^
        Versucht man nun einen Befehl von der Console auszuführen (so muss es am Ende für die Events laufen) fallen gleich ein Haufen an Problemen auf:
        1. Die Befehle gehen nur wenn ein Spieler in der Umgebung ist.
        2. Die Befehle gehen nur in der Hauptwelt - es geht in keiner anderen Welt.
        3. Die Befehle brauchen einen Ort - das heißt jeder einzelne Befehl muss bei seiner Ausführung verändert werden, damit er am richtigen Ort ausgeführt wird - denn jedes Event findet an einem anderen Ort statt.
        4. Und wie führt man überhaupt aus dem Code vanilla Befehle aus ohne einen Spieler? Und wie sagt man dann in welcher Welt?
      • Befehle ausführen! :cursing:
        Jetzt können wir gespeicherte Befehle über die Console ausführen - wundervoll!
        Und wie machen wir jetzt etwas wirklich cooles damit?
        Wie Packen wir Crate-Gewinne noch irgendwie in die Befehle?
        Wie verbindet man coole Effekte mit Befehlen?
        Wie führt man Befehle nach einander aus - immer an der Stelle wo als letzte etwas passiert ist?
        Wie führe ich einen Befehl mehrfach nach einander aus?
        Wie weiß ich ob ein Monster in der Welt durch das Event entstanden ist oder ganz normal existiert hat?
      • Befehle ausführen? ;(
        Und wenn wir schon dabei sind - wie übergebe ich dem Befehl noch Rotationen/Richtungsänderungen, damit coole Effekte entstehen?
        Wie führe ich Befehle in einem zeitlichen Abstand immer wieder aus, damit über das ganze Event etwas wiederholt passiert?
        Und was ist eigentlich wenn das Event zu Ende ist? Was ist mit den Monstern, die müssen ja irgendwie noch gelöscht werden? Muss ich jetzt alle Monster indexieren/durchsuchen/markieren?
        Und wie können eigentlich die Spieler zwischen Event-Monstern und normalen Monstern unterscheiden?
      • Befehle ausführen... :poop:
        Mit sehr viel testen, überlegen, umbauen, umplanen, neudenken und anpassen ist dann irgendwann der "Kade Befehls-Baukausten-Manager :love: " in einer ersten Version fertig. Ich habe viel dabei gelernt und mir gleichzeitig auch darüber den Kopf zerbrochen. Es hat 4-5 mal so lange gedauert wie gedacht und es war anstrengend - aber das Ziel war klar vor Augen und es hat Spaß gemacht. (y)
        Der doppelte Raketen-Ring kann dann z.B. zur Laufzeit (der Teil der Sehr viel vom Aufwand für einen Programmierer erklärt) über die Console so definiert werden:
      Spoiler anzeigen

      # Initial Rocket-Ring
      flibcmd delete XAttack1_RCircle
      flibcmd create XAttack1_RCircle 10 @@raw:/summon fireworks_rocket {{Loc}} {LifeTime:5,FireworksItem:{id:fireworks,Count:1,tag:{Fireworks:{Explosions:[{Type:2,Colors:[I;16711680]}]}}}}
      flibcmd lifetime XAttack1_RCircle 5
      flibcmd modmotion XAttack1_RCircle 0.75,-0.15,0 0,36,0
      flibcmd modoffsetinitial XAttack1_RCircle 0,2,0
      flibcmd repititiontype XAttack1_RCircle Death
      flibcmd modglowing XAttack1_RCircle false
      flibcmd modteam XAttack1_RCircle Attack1

      # Initial Rocket-Ring2
      flibcmd delete XAttack1_RCircle2
      flibcmd create XAttack1_RCircle2 10 @@raw:/summon fireworks_rocket {{Loc}} {LifeTime:5,FireworksItem:{id:fireworks,Count:1,tag:{Fireworks:{Explosions:[{Type:2,Colors:[I;16711680]}]}}}}
      flibcmd lifetime XAttack1_RCircle2 5
      flibcmd modmotion XAttack1_RCircle2 -0.75,-0.15,0 0,36,0
      flibcmd modoffsetinitial XAttack1_RCircle2 0,2,0
      flibcmd repititiontype XAttack1_RCircle2 Death
      flibcmd modglowing XAttack1_RCircle2 false
      flibcmd modteam XAttack1_RCircle2 Attack1

      # Initial DoubleRing
      flibcmd delete XAttack1_RDoubleRing
      flibcmd create XAttack1_RDoubleRing 1 @@raw:/summon fireworks_rocket {{Loc}} {LifeTime:0}
      flibcmd modoffsetinitial XAttack1_RDoubleRing 0,15,0
      flibcmd setdeathcommands XAttack1_RDoubleRing XAttack1_RCircle2:1,XAttack1_RCircle:1


      Dieses Verwaltungssystem erlaubt dann aber auch noch viel mehr - und das soll in den nächsten Tagen dann auch den Weg auf die Server finden. Es wird zunächst mit Tests los gehen, bei denen noch letzte Fehler gesucht und behoben werden. Wenn dann alles soweit klappt wir es ein neues Event im Shop geben:

      Aber es geht noch weiter :D
      • Befehle ausführen? :rip:
        Neben dieser Art von technischen Problemen oder spezifischen Problemen bei der Umsetzung gibt es aber noch viele weitere Punkte die man dann auf Kadcon beachten muss.
        Wie stellt man sicher, dass die Events nicht 'falsch' genutzt werden?
        Kann man die Events nutzen um andere Spieler zu ärgern? Ist dies ein Problem?
        Kann man das Event irgendwie 'Einbauen' und dadurch irgendwie das Event manipulieren?
        Was ist mit Villager-Farmen in der Nähe? Werden die Villager angegriffen?
        Was ist mit AFK-Spielern die genau am Ort des Events AFK sind schon bevor das Event startet? Sterben diese?
        Was passiert wenn die Menge an Monstern zu groß wird? Laggt dann der Server?
        Was ist mit Effekten durch die Effekt-Wolte in der Mitte?

      Diese Fragen sind teilweise gelöst, teilweise eingeschränkt und teilweise müssen wir einfach mal schauen was die Spieler am Ende denn mit diesen Events machen.
      Ohne nun auf alles ein zu gehen hier ein paar Anpassungen die für das XEvent getroffen wurden:
      • Effekte werden beim Teleport erstmal generell Entfernt. Vielleicht aktivieren wir diese Teilweise mal wieder aber dafür muss etwas mehr Erfahrung her (siehe Das Kadcon-Changelog ).
      • Es können nur zwei XEvents gleichzeitig gestartet werden ( vs. 4 Drop Events). Der Timeout bis man ein weiteres XEvent starten kann beträgt 90 Sekunden (vs. 60 Sec bei Drop Events).
      • XEvents können nicht direkt auf einem Warp gestartet werden.
      • XEvents können nur auf einer einigermaßen ebenen Fläche unter freiem Himmel gestartet werden.
      • XEvents können nicht an Orten gestartet werden an denen Unbesiegbarkeit aktiv ist oder Monster-Spawning verboten ist (gilt auch für die Umgebung, knapp neben dem Spawn geht es also auch nicht).
      • Die Highscore-Tafel ist doppelseitig für die Lesbarkeit.
      • Man bekommt Punkte für Kills als auch für Damage. Somit ist die Punkteverteilung fairer.
      • Wer kein Monster geschlagen hat bekommt auch keinen Schaden von den Monstern (AFK Hilfe).
      • Alle Monster die zum Event gehören haben eine farbliche Umrandung.
      • Alle Monster im ersten (Test)Event sind zunächst sehr einfach/langsam.







      Dies soll es für das Status Update gewesen sein. Aufgespielt wird das Update voraussichtlich morgen früh. In den nächsten Tagen werden dann die ersten Tests stattfinden, sicherlich einige Updates nachgereicht und am Ende gibt es dann hoffentlich komplett neue Events im Shop auch für alle Spieler zu kaufen.
      Kade

      PS: Dieses Topic macht jetzt wohl etwas mehr Sinn: [Suche] CommandBlock Befehle


      Bilder
      • att.jpg

        796,82 kB, 2.000×1.645, 990 mal angesehen
      • nice.png

        4,27 kB, 612×77, 981 mal angesehen
      Dateien
      • attack1sd.mp4

        (4,04 MB, 2.572 mal heruntergeladen, zuletzt: )
      • attack2sd.mp4

        (3,47 MB, 2.461 mal heruntergeladen, zuletzt: )
      • rocketdoblecirclesd.mp4

        (1,84 MB, 2.422 mal heruntergeladen, zuletzt: )
      • xeventsd.mp4

        (2,44 MB, 65.918 mal heruntergeladen, zuletzt: )
      blog.kadcon.de
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Sehr schöne Idee, gerade der detaillierte Werdegang des Projektes gefällt mir. Danke dafür.

      Ich sehe schon die ersten Warps mit Hunger Games Maps entstehen ! :thumbsup:

      Dinge die mir spontan dazu eingefallen sind:
      - Maximale Anzahl an gleichzeitig laufenden Events?
      - Einfach "Safe Spots" erstellen und absahnen ohne wirklich was dafür zu tun
      - Stehende Mobs bei entladenen chunks? Despawning?

      Ich denke, dass die art der Mobs ect konfigurierbar sein könnte ist eh schon als Idee vorhanden ;)

      Ich bin gespannt wie sich das entwickelt :)

      ~ Sky
      Heyho,

      Xx_Skymine_xX schrieb:

      - Maximale Anzahl an gleichzeitig laufenden Events?

      ​Solltest du das meinen, ist das hier schon mal beantwortet :)

      Kademlia schrieb:

      Es können nur zwei XEvents gleichzeitig gestartet werden ( vs. 4 Drop Events). Der Timeout bis man ein weiteres XEvent starten kann beträgt 90 Sekunden (vs. 60 Sec bei Drop Events).


      ​~Wolf
      Wer die MC263:0 nicht ehrt ist den MC264:0 nicht wert!

      Kademlia schrieb:

      XEvents können nicht an Orten gestartet werden an denen Unbesiegbarkeit aktiv ist oder Monster-Spawning verboten ist (gilt auch für die Umgebung, knapp neben dem Spawn geht es also auch nicht).


      Sollte das klären. (Ich gehe davon aus, kann gut sein, dass ich da falsch liege, dass die Biomabfrage mit beinhaltet ist. Wenn nicht - Guter Punkt).

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „JaKen04“ ()

      Lechos13 schrieb:

      Aber wenn es nun ein Monster-Spawn Befehl ist: Was geschieht denn, wenn das Land darunter unter einem "Void" Biom existiert?


      Das Void Biome verhindert nur das natürliche Spawnen von Monstern. Über ein Spawn-Ei z.B. kann man auch dort spawnen. Entsprechend werden über Befehle die Monster dort auch gespawnt. Dies ist u.A. der Grund dafür, dass man nur dann schaden von den Monstern bekommen soll, wenn man sie selber vorher geschlagen hat.

      Ggf. wird noch eingebaut, dass in Mushroom/Void-Biome nicht gestartet werden kann. Das will ich aber eigentlich nicht.

      Kade
      blog.kadcon.de
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Wird es einen Bereich geben wo es maximal von einem Warp weg sein darf? Und dass es z.B. nur an der Oberfläche geht weil ich sehe es jetzt schon das diverse Lwute in Ihren Kellern wo man den Zugang ev hat aber ihn bis Eventbeginn niemals findet ect.
      Zudem steht da das man Punkte für Kills und Schaden bekommt, aber Punkte bringen mir ja nichts, was kann man mit den Punkten machen kann man die an einer Tombola wie beim Letzten Osterevent eintauschen gegen z.B. Monatlich ändernde Preise die Punkte muss man dann aber selber einteilen? Oder was schwebt dir da so vor.
      Übrigens coole Sache ist auch ansätze davei die ich mir wünschte nur bist du viel weiter gegangen.
      Das gibt sicher coole Events. :)
      Was passiert wenn jemand bei dem event durch die Eventmobs stirbt, droppt dann sein Inventar? Fände ich doof da bisher bei Drooevents man auch nicht das Inventar durch die Crates verliert. Man sollte aber durch notmale Mobs und Umgebung ect nachwievor sterben mit Inventaverlust. Durch Mobdrops sollte man meiner Meinung nach nur zum Spawn teleportiert werden was ja schlimm genug ist da man wieder zum Event gelangen muss um weiter zu machen.
      Somit tritt die nächste Frage auf, ist es fertig wenn man stirbt? Oder kann man einfach wieder da hin und weiter machen?
      Kann man das zurückgelangen zum Event mit /Back , /tpa oder /Home (falls zuvor gesetzt) schneller wieder zum Event oder wird das im Eventgebiet deaktiviert?
      Sry Kade für die vielen Fragen aber ev. Helfen sie dir ja auch was neben dem dass ich hoffe meine Neugier stillen zu können :)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Jonas151993“ ()

      Zitat DrBlackWolf von oben ^^

      DrBlackWolf schrieb:

      Heyho,

      Xx_Skymine_xX schrieb:

      - Maximale Anzahl an gleichzeitig laufenden Events?

      ​Solltest du das meinen, ist das hier schon mal beantwortet :)

      Kademlia schrieb:

      Es können nur zwei XEvents gleichzeitig gestartet werden ( vs. 4 Drop Events). Der Timeout bis man ein weiteres XEvent starten kann beträgt 90 Sekunden (vs. 60 Sec bei Drop Events).


      ​~Wolf


      Jain,

      Wenn ich jetzt bei mir 2 Events starte, kannst du dann 1000 Block weiter auch welche starten? Das war eher punkt der Frage ^^
      Aber danke für die Antwort, meine Frage war wohl etwas unpräzise gestellt :D

      Kademlia schrieb:

      Im SourceCode wird aus "ItemDropEvent" ein "CommandDropEvent". Der Code wird etwas umgeschrieben und zack fertig!
      Na wenn es so einfach ist, warum hat's dann so lange gedauert :P
      Aber das Grundproblem kenne ich auch von meinen eigenen Projekten. Das Proof of Concept steht nach einer Stunde, bis es halbwegs benutzbar ist (keine hart codierten Variablen, Endlosschleifen, etc) enthält vergehen einige Stunden bis Tage, und wenn das ganze auch noch von anderen Leuten benutzt werden soll vergehen Wochen.

      Kademlia schrieb:

      Wer sich schon mal mit Regex/Befehlsverarbeitung oder Parsern beschäftigt hat weiß: "Befehle über Befehle übergeben" klingt nicht gut. Wie erkenne ich was nur gespeichert und was bearbeitet werden soll?
      Und wie erkennst du, dass da jemand absichtlich rumtrollt'); DROP TABLE XEvent;--

      Kademlia schrieb:

      Und wie machen wir jetzt etwas wirklich cooles damit?
      Wie Packen wir Crate-Gewinne noch irgendwie in die Befehle?
      Wie verbindet man coole Effekte mit Befehlen?
      Wie führt man Befehle nach einander aus - immer an der Stelle wo als letzte etwas passiert ist?
      Wie führe ich einen Befehl mehrfach nach einander aus?
      Wie weiß ich ob ein Monster in der Welt durch das Event entstanden ist oder ganz normal existiert hat?
      65535 Ebenen tief genästelte Befehle, und für uns Normalos die das ganze im Chat eingeben auch noch ohne Zeilenumbruch und Einrückung ;)

      Kademlia schrieb:

      Wie führe ich Befehle in einem zeitlichen Abstand immer wieder aus, damit über das ganze Event etwas wiederholt passiert?
      For und While Schleifen natürlich, falls Minecraft sowas überhaupt unterstützt. Ansonsten einfach Repeater and den entsprechenden Stellen einfügen...

      Kademlia schrieb:

      Dieses Verwaltungssystem erlaubt dann aber auch noch viel mehr - und das soll in den nächsten Tagen dann auch den Weg auf die Server finden. Es wird zunächst mit Tests los gehen, bei denen noch letzte Fehler gesucht und behoben werden. Wenn dann alles soweit klappt wir es ein neues Event im Shop geben:
      Für die Verwaltung könnte sowas ähnliches wie die UUID's bei und auf der Arbeit schon reichen. Da sind z.B. Bundesland und Datenmodell drin kodiert. Hier ein Beispiel:

      Quellcode

      1. DESH3A090000N0ob
      2. DE - Deutschland
      3. SH - Schleswig-Holstein
      4. 3A - Datenmodell
      5. 09 - Nochmal Schleswig-Holstein, aber anders codiert
      6. 0000N0ob - Fortlaufende Nummer in Base62


      Kademlia schrieb:

      Wie stellt man sicher, dass die Events nicht 'falsch' genutzt werden?
      Kann man die Events nutzen um andere Spieler zu ärgern? Ist dies ein Problem?
      *unschuldig Pfeif*

      Kademlia schrieb:

      Was passiert wenn die Menge an Monstern zu groß wird? Laggt dann der Server?
      Nach so vielen Jahren Kadcon solltest DU doch am besten wissen, wie viele Mobs, bzw Entitys im allgemeinen ausreichen und den Server zum laggen zu bringen.


      @Kadcom Ich freu mich schon auf die Arenen, die Ihr auf die Welten zaubern werdet :D
      Hinweis für Allergiker:
      Meine Beiträge könen Spuren von Sarkasmus, Ironie, Haselnüssen, schwarzem Humor und anderen Hülsenfrüchten enthalten.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „njulian“ ()

      @njulian

      Rumtrollen bei Befehlen: Nicht wirklich relevant da nur Admins diese definieren können.

      For und While Schleifen: Würde dann den Hauptprozess pausieren aber das war ein Scherz nehme ich mal an ;)

      Verwaltung: "Kurze ID" wie die von dir genannt sind dann hilfreich, wenn sie auf ein Dokument müssen oder übers Telefon diktiert werden könnten.
      Bei etwas wie dem hier ist dann eine ganz normale UUID besser oder eben wie hier genutzt angehängte Tags an das Monster. Der Grund dafür ist, dass man über die Tags keine Indexierung braucht sondern nur "onEvent(...)" schauen muss ob es getaggt ist.

      Indexieren wäre hier sogar relativ schwer, weil die Ausführung der Befehle über MC keinerlei Feedback liefert. Du musst am jeweiligen Ort dann nochmal schauen ob da etwas entstanden ist - wäre sehr eklig. Alternativ eben das Spawning selber übernehmen - da müsste man dann den Parser/Interpreter/Spawnercode aus MC komplett selber neu schreiben.

      Kade
      blog.kadcon.de
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.

      Kademlia schrieb:

      Rumtrollen bei Befehlen: Nicht wirklich relevant da nur Admins diese definieren können.
      Die größe Gefahr ist damit ja gebannt ;)

      Kademlia schrieb:

      For und While Schleifen: Würde dann den Hauptprozess pausieren aber das war ein Scherz nehme ich mal an
      Das war eigendlich ernst gemeint, aber schön dass es jemand besser weiß.
      Das mit den Repeatern war zwar wirklich ein Scherz, aber da man mit Repeatern problemlos Pausen, Schleifen und Zähler bauen kann hätte ich noch die Idee mit Commandblöcken und vanilla Redstone das Event zu bauen und in einen Structureblock zu speichern. Per Befehl wird der Struktureblock gesetzt, der wiederum das gebaute Event plaziert und startet.
      Hinweis für Allergiker:
      Meine Beiträge könen Spuren von Sarkasmus, Ironie, Haselnüssen, schwarzem Humor und anderen Hülsenfrüchten enthalten.
      @njulian
      Okay - schriftlich ja immer schwer zu erraten ;)

      Mit Commandblöcke geht so etwas ja prinzipiell allerdings musst du dafür die Spielwelt eben verändern - das kommt dann wieder nicht in Frage wenn es um Spieler-GS geht. Da könnte man natürlich auch irgendwie tricksen aber die schönere Lösung ist eben eine mit keinerlei Änderungen an der Spielwelt.

      Ganz grob gesehen läuft es dann so, dass ich einen 'virtuellen CommandBlock' erstellt habe, welcher Befehle auslöst ohne in der Spielwelt zu existieren. Diese führt dann genau wie ein normaler Commandblock Befehle in der Welt aus. Die auszuführenden Befehle werden dann aber noch mal speziell bearbeitet bei jeder Ausführung um die ganzen Sonderfunktionen mit ein zu fügen. Je nach gewolltem Umfang dieser Funktionen braucht man dann einiges an Extra-Daten. Ein paar davon kann man im Spoiler erahnen. Das könnte ich natürlich auch noch genauer erklären aber ich glaube das Interesse daran ist nicht ganz so groß hier ^^

      Kade
      blog.kadcon.de
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.

      Kademlia schrieb:

      Wer kein Monster geschlagen hat bekommt auch keinen Schaden von den Monstern (AFK Hilfe).

      Finde ich sehr gut und stellt sicher auch einen ganz guten Schutz vor "andere Spieler ärgern" dar. (y)


      Kademlia schrieb:

      XEvents können nur auf einer einigermaßen ebenen Fläche unter freiem Himmel gestartet werden.

      Ich könnte mir vorstellen, dass spezielle Mob-Spawnings im "Untergrund" sehr gut genutzt werden könnten für Labyrinthe etc., wo man Spielerhorden auf Zeit durchschickt o. ä. - hälst du sowas grundsätzlich für machbar?
      Schock deine Eltern: Lies ein Buch!
      (Fratzenbuch? Nein danke ...) (... und auch kein whatsdreck!!!)
      Hey,

      kurzes Update: Es sind noch ein paar Bugs und Features aufgefallen, die ich in der ersten Version drin haben will. Das Update verschiebe ich daher auf den Vormittag von Mittwoch oder Donnerstag - je nach Fortschritt.
      Beispielhaft hier die neuen Änderungen bisher:
      • Umbau des Scoresystems auf Gleitkommazahlen, dies ist ähnlicher zu den Jumpmaps.
      • Um ein gutes Verhältnis von Schadens-Punkten und Tötungs-Punkten zu haben braucht man mindestens 10:1 oder bei Bossen 100:1 hier eignen sich auch eher Gleitkommazahlen sonst sind die Scores direkt bei tausenden Punkten und nicht so schön lesbar.
      • Fehler behoben, bei der Vergabe von Gewinnen über die Highscores.
      • Automatische Vergabe der Gewinne wenn eine Score ausgewertet wird.
      • Chat-Info-Spam entfernt wenn ein Gewinn ausgegeben wird.
      • Info-Leiste eingebaut um jederzeit die eigene Score sehen zu können.
      • Anpassung der Info-Leiste, damit man sehen kann welcher Gewinn zu erwarten ist für die jeweilige Score.
        Darüber kann man dann z.B. gezielt bestimmte Crates farmen.
      • Timeout-Zeit der Scores so eingestellt, dass die Info-Leiste in etwa aussagt wann man das nächste Monster schlagen muss (wird eventuell wieder entfernt die Zeit von 5 Sekunden ist sehr kurz).





      @doofi
      Die Crates bzw. nun auch die Monster fallen absichtlich an der Oberfläche. Wäre dies nicht der Fall könnten die Grundstücksbesitzer sich Keller bauen in denen nur sie alleine Farmen können (gewollt oder ungewollt ist dabei relativ egal; es regt alle anderen auf). Aus diesem Grund muss eine leichte Erreichbarkeit für alle möglichst garantiert sein.
      Möglich ist dies aber aktuell einigermaßen wenn man als Decke Glas oder andere Blöcke nimmt, die vom Spiel als "Lichtdurchlässig" angesehen werden.
      Dort würden dann aber nur Monster drin spawnen wenn sie nicht über eine Kugel verschossen werden wie oben im Video. Diese langen oben auf dem Glas. Werden sie random gespawnt wie die Crates funktioniert es.


      Kade
      Dateien
      • scorebar.webm

        (813,88 kB, 677 mal heruntergeladen, zuletzt: )
      blog.kadcon.de
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.