Es war einmal ein Seepack...und wird wieder sein!

Ich mach euch gerne 'nen Delphin, wenn ihr wollt :+1:

Btw die Grafik der Quallen sieht etwas unscharf aus, habt ihr die hochskaliert? Da könnte ich auch eine neue machen

1 „Gefällt mir“

Leider wissen wir nicht mehr wo wir die Qualle her haben. Quelldateien haben wir dafür nicht mehr.
Wenn du uns eine neue baust, wäre das toll aber klingt nach ziemlich viel Arbeit für eine kleine Verbesserung.

Die Delfine haben wir nochmal zurückgestellt, nachdem uns aufgefallen ist dass es bereits reitbare Wassertiere in Clonk gibt, nämlich Seepferdchen. Interessanter wäre es die für alle Clonk-Typen verfügbar zu machen.

Das mit dem abbrennbaren Öl und die nicht geteilten Siedlungspunkte ist tatsächlich blöd aber das Problem haben ja leider alle Szenarien mit diesen Spielzielen. Aber mindestens das Angleichen der Siedlungspunkte könnten wir versuchen im Szenarioskript zu lösen.

Eigentlich nicht unbedingt, ist ja ein kleines Objekt. :)

Stimmt, die Seepferdchen gibt es noch :D Aber wie ihr wollt, ich hatte nur eh vor demnächst ein paar Unterwasser Assets zu bauen, weil ich auf kurz oder lang ein Unterwasserszenario/-pack für OpenClonk machen möchte :+1:

2 „Gefällt mir“

Ihr müsst mal in den Missionsordner von LC schauen. Version: 4.9.10.14
Da gibt es die Gemeinschaftskontoregel die für alles gilt. Also Gold, Punkte, Basismaterial, Baupläne und Zauber.

1 „Gefällt mir“

Find das Pack eig recht geil da es mal was anderes ist, aber es gibt da irgendwie öfters mal Desyncs wodurch halt längere Siedelrunden nicht praktikabel sind…

Ah, super, danke @Sam für den Tip mit der Gemeinschaftskonto-Regel aus dem LC-Missionsordner! Genau sowas haben wir für die Siedelszenarien gesucht! Ab der nächsten Version werden dann also auch die Siedelpunkte geteilt.

Das mit den Desyncs haben wir auch gemerkt - das scheint vor allem an den Schiffen zu liegen, möglicherweise an einer Funktion zum Wasserspiegelausgleich. Wir hoffen, dass wir das in der nächsten Version etwas besser in den Griff bekommen, da das wirklich ärgerlich ist. Wir haben das vor allem auch beim Laden von Spielständen erlebt, wobei es meist geholfen hat, die PXS.c4b-Datei im Spielstand zu löschen oder zur Not die Schiffe aus der Objects.txt zu entfernen. Das sollte aber keine Dauerlösung sein… :frowning:

Wir arbeiten übrigens weiter am Pack und haben inzwischen eine Reihe von Bugs gefixt und Verbesserungen eingebaut. Der Händler wird z.B. zukünftig wie gewünscht eine Kajüte auf seinem Schiff haben statt den bisherigen beiden Handelsfahrzeugen, sodass man z.B. Loren besser beladen kann etc. - ich denke, damit würde sich ein Hafen als „Basis“ erübrigen. Neu wird auch ein Wasserrad als alternativer Energiequelle sein, welches z.B. durch Regenwasser angetrieben wird, wenn man es geschickt in einen Hang o.ä. einbaut. Lustiges Feuerwehr-Gimmick auch: Hält ein Clonk eine Wasser-Abflussleitung in der Hand, kann er damit herumspritzen und brennende Dinge löschen. Lädt ein zum Bau von „Hydranten“ in Szenarien mit vielen Bränden. Vor dem Release wollen wir aber z.B. noch Probleme an den Schiffen beheben…

Noch ein Tip für die Siedelszenarien: Man kann bereits jetzt über das Kontextmenü einen zweiten Händler auf der anderen Kartenseite einsetzen, falls man das möchte. Ein Händler will aber auch „gepflegt“ werden: Wenn er z.B. umsonst kommt, weil sich niemand bei ihm blicken lässt, dann kann es passieren, dass er etwas verärgert reagiert. Ist also eher was fürs Late Game, wenn man beide Seiten „bespielen“ kann. Für das Spielziel „Händlersympathie“, das bei „Tiefe Schätze“ zur Anwendung kommt, zählt dann nur der „glücklichere“ von beiden Händlern, also der mit dem höchsten Sympathielevel.

3 „Gefällt mir“

Beim Testen des Fixes für skalierte Grafiken in Menüs ist mir gerade was aufgefallen.

Objekte die auf Activate() reagieren sollten immer true returnen, damit weiteres Engine-Verhalten unterdrückt wird. Ist das nicht der Fall fängt der Clonk zum Beispiel an einen Baum zu fällen oder er nimmt eine Leitung ab, wenn man das Objekt aktiviert. Das mit dem Fällen passierte mir beim Rumspielen mit der Boje.

2 „Gefällt mir“

Clonktourette :smiley:

Wir haben nun die Seepack-Version 2.1 :partying_face: veröffentlicht! Inzwischen läuft alles viel runder als noch bei der Version 2.0, insbesondere scheint es so, als hätten wir die Desync-Probleme in Netzwerkspielen in den Griff bekommen. Die Changes-Liste (siehe im Pack) ist um immerhin knapp 80 Einträge gewachsen – es gab also ordentlich Verbesserungspotential! Hier die wichtigsten Neuerungen und Verbesserungen:

  • Eine der wichtigsten Änderungen betrifft die Schiffe: Wir haben uns nun gegen die ‚volle‘ Solidmask aus Version 2.0 entschieden, weil die jede Menge Probleme verursacht hat. Stattdessen besteht die Solidmask nun vor allem aus dem Deck. Dadurch verhalten sich die Schiffe zuverlässiger.

  • Der Ausguck der Fregatte wurde überarbeitet, sodass man nun am Mast hinaufklettern kann und dann oben in einem kleinen Korb steht. Kettenkugeln können die Schiffe am Mast treffen und sind somit sehr mächtig gegen Schiffe.

  • Ein ganze neues und sehr praktisches Objekt steht ganz im Zeichen der Energiewende: das Wasserrad, welches Strom aus einfließendem Wasser (z.B. Regen an einem Hang) generiert. Es ist robuster gegen Naturkatastrophen als das Windrad, dafür aber effektiv schwerer zu betreiben. Am besten ergänzen sich die beiden Gebäude, um Windflauten und Wassermangel auszugleichen.

  • Eine Rumdumerneuerung hat die Boje bekommen. Sie hat nun nicht nur eine schöne neue Grafik (großen Dank an @RoboClonk!), sondern kann – ähnlich wie die Eisenbahn-Signale – mit einem Wendesignal ausgestattet werden, um automatische Fährlinien einzurichten: Ein Schiff mit einem steuernden Clonk fährt automatisch zwischen zwei Bojen hin- und her und wartet kurz zum Be- und Entladen. Insbesondere eine hilfreiche Option für Siedelszenarien.

  • Der Händler hat nun eine Kajüte statt seinen vorherigen Handelsfahrzeugen – damit können Gegenstände deutlich einfacher ge- und verkauft werden. Fragt man den Händler nach Neuigkeiten, verrät er in Melees nun manchmal Informationen über den Gegner (z.B. über Käufe, Verkäufe oder vorhandene Waffen). Außerdem kann er bei Bedarf gegen Bezahlung etwas länger bleiben. Von einer ganzen Reihe von Fixes und Verbesserungen am Händler und seinen Quests ganz zu schweigen.

  • Nach einer Menge komplizierter Tests konnten wir die Quelle der Desync-Probleme in Netzwerkspielen ausmachen und durch einen Fix an der Hafenrampe (und evtl. auch die Änderungen an den Schiffen) beheben, sowie allgemein die Performance einiger Objekte verbessern.

  • Außerdem haben wir kritische Fehler in Szenarien behoben, beispielsweise waren Aufgaben 1 und 2 zuvor nicht spielbar. Hinzu kommen noch weitere Verbesserungen und Überarbeitungen an fast allen Szenarien, wie Map-Verbesserungen und angepasste Startbedingungen und -materialien.

3 „Gefällt mir“

Könnt ihr kurz erklären was die Desyncs ausgelöst hat?
Eigentlich wäre es gut mal eine Sammlung an bekannten Auslösern zu erstellen …

Ja, das war ein interessantes Phänomen, das wir nicht ganz verstanden haben, aber euch noch zukommen lassen wollten. Dann auf diesem Wege. Unsere These ist Folgende:
Im Seepack gibt es ein Hafengebäude, welches auf beiden Seiten eine Rampe setzen kann, um Schiffe einfacher zu beladen. Diese Rampe ist ein separates Objekt mit Solid Mask, dessen Position einmal pro Tick an die Position des Hafens angepasst wurde (quasi ein Fake-Attachment). Eine erste Entdeckung war: Diese Rampe hatte eine Action mit FLOAT-Prozedur - sobald man diese Prozedur herausnimmt, passierte es in den ersten Sekunden nach dem „Setzen“ der Rampe, dass ein Clonk beim Laufen über die Rampe in der schiefen Solid Mask „versinken“ konnte. Wenn man etwas wartete, konnte das aber nicht mehr passieren.
Die eigentlichen Probleme, die zu den Desyncs geführt haben, scheinen eher mit dem SetPosition-Aufruf in jedem Tick zusammenzuhängen. Wir konnten mehrmals beobachten, dass Objekte (sowohl Clonks als auch Collectibles) beim Bewegen über die Rampe völlig willkürlich in Y-Richtung versetzt wurden. Also einmal habe ich beispielsweise etwas mit einer Kanone verschossen, dabei die Rampe getroffen, und das verschossene Objekt landete in diesem Moment mehrere 100 Pixel weiter unten irgendwo im Bergwerk des Gegners (und bewegte sich dort auf seiner ursprünglichen Bahn weiter, nur eben nach unten versetzt). Ähnliches passierte mehrmals mit Clonks, die an der Rampe hinaufkletterten und dann plötzlich irgendwo in die Tiefe glitchten. Bei den Clonks war das nicht so tief wie bei dem verschossenen Objekt, also möglicherweise ist der Versatz geschwindigkeitsabhängig - aber dennoch machte die „Tiefe“ dieses Versatzes einen eher willkürlichen Eindruck.
Falls dieser fehlerhafte Versatz irgendwie client-seitig entsteht und vielleicht nur bei einem Client „berechnet“ wird, könnte es zu den Desyncs kommen. Wir konnten aber auch beobachten, dass der Glitch in einem Netzwerkspiel auf beiden Seiten auftauchte ohne das ein Desync entstand. Wenn ich mich nicht täusche, hat @Chemo auch einen Mitschnitt, in dem wir dieses Phänomen mehrmals hintereinander reproduzieren konnten.
Seit wir die SetPosition-Funktion einmal pro Frame entfernt haben, ist das Problem nicht mehr aufgetreten.

Genau, ich denke es war die Kombination Objekt mit Solidmask, das jeden Frame versetzt wird. Da treten diese beiden merkwürdigen Phänomene auf (Glitch in die Solidmask in den ersten Sekunden, außer wenn die Float-Procedure gesetzt ist und wahlloses glitchen hunderte Pixel tiefer). Andere Objekte, die jedes Frame versetzt werden aber keine solidmask haben scheinen die Probleme nicht zu provozieren.

Da die Deyncs aber schwer zu reproduzieren sind ist nicht hundertprozentig sicher, dass die von der Rampe kamen. Die Desyncs scheinen erst nach einer gewissen Spielzeit >1h aufzutreten. Eine frische Test-Welt voller Rampen konnte auch nach längerem laufen lassen keine Desyncs erzeugen. Bei langen Spielen traten Desyncs aber bereits wenige Sekunden oder Minuten nach dem ersten Erstellen der ersten Rampe auf.

Danke für die Beschreibung.
Kann ich irgendwo noch die Version 2.0 runterladen? Da war das Problem ja, oder?
Ich möchte mir nämlich anschauen wie ihr das genau hattet mit der Rampe.

Der vertikale Versatz klingt für mich danach, dass die Rampe konstant nach unten fällt und bis zu einem gewissen Punkt immer schneller wird. Objekte die in Kontakt mit einer SolidMask sind werden entsprechend der Geschwindigkeit des SolidMask-Objekts mit-versetzt.
Deshalb müsste man zusätzlich zu SetPosition auch immer die Geschwindigkeit zumindest auf 0 setzen.

Warum das Desyncs auslösen könnte verstehe ich aber momentan auch nicht wirklich.

Welche Betriebssysteme habt ihr denn und die 32- oder 64-Bit-Version von Clonk?

Ich hab Win 10 Pro mit 64 LC. Die Desyncs hatten wir auch öfters bei 2.0 mit TLK, Funni und Nepto.

Genau. Die 2.0 habe ich mal hier hochgeladen: WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free
Die Rampe liegt unter Seapack.c4d/Structures/Harbour/Ramp. Am schnellsten auszuprobieren im „Test“-Szenario, dafür in den Hafen gehen und Links oder Rechts drücken.

Oh, das klingt sehr plausibel.

Ebenfalls Windows 10 Pro mit 64bit.

Danke.

Ohne FLOAT-Procedure baut sich tatsächlich eine Y-Geschwindigkeit von mehreren Hundert Pixeln pro Frame auf, bis die Rampe (vermutlich) am unteren Spielrand rausfällt. Zumindest verschwindet sie nach einer Weile.
Das sollte auf jeden Fall den vertikalen Versatz erklären.

Leider weiß ich aber trotzdem nicht, was es mit dem Desync auf sich haben könnte.

Das einzige was mir einfällt ist, dass die 64-Bit-Windowsversion noch irgendwelche Probleme haben könnte. Immerhin mussten wir die 64-Bit-Windowsversion überhaupt erst ans laufen bekommen, da ist es theoretisch schon möglich, dass wir etwas übersehen haben.
Allerdings würde ich erwarten dass die Probleme nur dann auftreten wenn manche Teilnehmer 64 Bit und manche 32 Bit haben. Typischerweise würden dann alle desyncen die eine andere Version haben als der Host und die drin bleiben, die dieselbe haben.

In welcher Form ist der Mitschnitt?
Könnte ich den eventuell haben?

Edit: Dachte der Mitschnitt beinhaltet den Desync. Aber es ist wohl der Versatz gemeint. In dem Fall brauch ich ihn eigentlich nicht.

Runde Tiefe Schätze gespielt und dann wurde nach den Neuigkeiten gefragt und danach war der Händler komplett kaputt… https://puu.sh/JdJ75/f3f8529bfa.png

Vielen Dank für die Fehlermeldung. Habe es gefixt und - nur mit dieser Änderung - auf dem CCAN aktualisiert. Wer sich den kompletten Download sparen will, kann es bei Bedarf auch selbst fixen: Unter SeaPack.c4d/Rules/Trader/Talker müssen in den Dateien ScriptDE.c (Zeilen 208 und 209) sowie ScriptUS.c (Zeilen 162 und 163) jeweils die Zeichen „MEGG“ in „FMEG“ geändert werden (ID vom Feuermonsterei statt Monsterei).

Falls nochmal solche Fehler auftauchen, gerne wieder melden!

@Chemo arbeitet zur Zeit gelegentlich an neuer Wasservegetation und Lebewesen (mit toller Unterstützung durch @RoboClonk) - also vermutlich wird es irgendwann nochmal ein Update geben.

2 „Gefällt mir“