header YouTube
Clonk Livestream auf Twitch.tv!

Clonkspot

LegacyClonk ist da! (Community-Update für Clonk Rage)

#1

Nach langer Arbeit und langen Pausen sind wir nun endlich bereit für das erste LegacyClonk-Release (kurz LC).

Was ist LegacyClonk?

LegacyClonk ist ein Fanprojekt basierend auf Clonk Rage.
Es ist geplant, dass es weitere Updates erhalten wird, aber trotzdem mit den Spielinhalten von Clonk Rage kompatibel bleibt.

Unser Ziel für LC ist es, zu den bestehenden Clonk Rage-Inhalten 100% kompatibel zu bleiben.
Also dass alle Szenarien genau gleich funktionieren wie zuvor, also beispielsweise auch der etwas heikle Turm der Verzweiflung. Wir möchten möglichst viele Bugs und Unschönheiten beheben, die genau diese Bedingung nicht verletzen und nette Zusatzfeatures einbauen die das Leben erleichtern sollen.

Der Plan

Bis jetzt haben wir viel Code aufgeräumt, etwas modernisiert, aber was für euch viel wichtiger ist, wir haben viele kleinere Bugs und Unschönheiten behoben und ein paar kleine Features eingebaut, als kleines Appetithäppchen dafür was noch so kommen könnte.

Wir haben uns ein bisschen Mehraufwand angetan, damit dieses, und nur dieses, erste Release vollständig zur offiziellen Clonk Rage-Engine kompatibel ist. Das heißt, es ist auch möglich mit Leuten die die offizielle Engine verwenden gemeinsam über das Netzwerk zu spielen. Der Gedanke dabei ist, dass beim Auftreten von unerwarteten Bugs einfach zurückgewechselt werden kann, bis diese gefixt sind. Sobald dieses erste Update reibungslos läuft, werden wir weitere Updates machen, die dann aber nicht mehr abwärtskompatibel zu alten Engines, aber immernoch voll kompatibel mit den ganzen Szenarien sein werden.
Die aktuelle Version [331] ist nicht mehr abwärtskompatibel zu alten Engines. Die Spielinhalte sind aber weiterhin kompatibel.

Die wichtigsten Änderungen von LC [330] (Screenshots weiter unten):

  • Einige Desyncs zwischen Linux/Mac und Windows wurden gefixt
  • Backport der “Bereit”-Checkbox für die Lobby aus OC (zeigt zusätzlich an wenn ein Client dieses Feature nicht unterstützt)
  • Eine Option um die Chatnachrichten im laufenden Spiel weiß einzufärben
  • Für Hosts ein Neustart-Button im “Runde abbrechen”-Dialog (der der beim Drücken von Escape erscheint)
  • Für Hosts beim Game-Over-Dialog ein Neustart-Button, und falls das Szenario SetNextMission verwendet wird das als zusätzlicher Button realisiert. Weiterspielen ist also jetzt immer möglich!
  • Neuer Credits-Screen (dynamisch generiert, anstatt eines statischen Hintergrundbilds)
  • Vorbereitungen für automatische Updates

Das sind nur die wichtigsten Dinge und ist keine vollständige Aufzählung aller Änderungen.
Ganz neugierige sehen sich am besten den Commit-Log an.

Habt ihr eine Idee für ein tolles Feature, das die obig erklärten Bedingungen erfüllt?
Am besten hier vorschlagen.

Vorerst unterstützt LC nur noch OpenGL (also kein DirectX mehr), da wir zurzeit keinen haben der das richtig pflegen kann. In späteren Updates könnte allerdings DirectX wieder zurück kommen, falls OpenGL zu viele Probleme bereitet.

Screenshots einiger Features

Bereit-Checkbox


Hier die Bereit-Checkbox im Einsatz.
Comic Universe hat in diesem Screenshot die offizielle Engine, die das Feature nicht unterstützt.
Tod’s Laptop ist noch nicht bereit und Tod’s Laptop2 ist schon bereit.
Die Bereitschaftsanzeige ist nur eine Unterstützung für den Host. Er kann auch starten obwohl nicht alle bereit angehakt haben.

Neustart im Escape-Dialog

neustart-esc

Game-Over-Dialog


Da hier das erste Tutorial gespielt wurde, sind alle 4 Buttons sichtbar.
Falls SetNextMission nicht verwendet wurde sind nur die ersten 3 Buttons sichtbar.

“Weißer Chat”


Die Option für den “weißen Chat” findet sich im Ingame-Spielermenü unter Optionen -> Anzeige -> Weißer Chat. (Hat noch kein eigenes Icon.)

Installation

Zum Installieren muss bereits das originale Clonk Rage installiert sein.
Zur Sicherheit solltet ihr zuerst von der offiziellen Clonk.exe eine Sicherungskopie machen. Alternativ kann auch durch erneute Installation von Clonk Rage der Originalzustand wiederhergestellt werden, falls gewünscht. Das Update beinhaltet nur eine neue Clonk-Anwendung (Clonk.exe / clonk / Clonk je nach OS) ein neues c4group (endlich ohne Registrierungsüberprüfung!). und eine Language.c4g. Alle anderen Daten bleiben unverändert. Seit [331] werden auch Graphics.c4g und System.c4g verändert.

Damit die Einstellungen von Clonk Rage automatisch nach LC übernommen werden muss zuerst von CR auf LC [330] (durchgestrichene Links) aktualisiert werden und diese Version einmal gestartet werden, bevor auf LC [331] aktualisiert wird. Danach muss allerdings die Sprache von LD wieder auf normales Deutsch gestellt werden. Es kann auch direkt von Clonk Rage auf [331] aktualisiert werden, allerdings müssen dann die Einstellungen manuell neu gemacht werden.

Windows

lc_331_win32.c4u lc_330_win32.c4u herunterladen und öffnen.
Sollte die Installation mit einem “Status: Extract: Could not extract entry” fehlschlagen.
Speichert lc_windows_admin.bat in denselben Ordner und führt dieses als Administrator aus.
Nach Installation ganz normal Clonk starten. Alle Einstellungen sollten übernommen werden.
Noch eine Vorwarnung: Einige Antivirus-Programme erkennen Clonk.exe möglicherweise als Virus oder warnen dass es unbekannt ist. Um euch vom Gegenteil zu überzeugen hier der Link zu einem Virustotal-Scan (und für c4group, c4group wird beim Installieren des Updates in “setup.exe” umbenannt). Außerdem ist der Sourcecode hier verfügbar.

Linux

Für 32 bit Update folgt in Kürze lc_330_linux.c4u und für 64 bit lc_331_linux64.c4u lc_330_linux64.c4u herunterladen und installieren. Es gibt noch eine Neuerung für 64 bit-Linux. Updates für Linux werden ab jetzt für 32 und 64 bit getrennt abgewickelt. Deshalb heißen auch unter 64 bit die LC-Anwendungen nur “clonk” und “c4group”, d.h. unter 64 bit-Linux muss eventuell die .desktop-Datei angepasst werden.
Um die Konfiguration zu übernehmen muss ~/.clonk/rage/config nach ~/.legacyclonk/config kopiert werden.

Mac

Update: Zurzeit gibt es aufgrund fehlender Expertise kein funktionierendes Update-Paket für Mac.
Bei Interesse bitte bei DerTod im IRC melden oder hier eine entsprechende Antwort posten.
Theoretisch sollte für Mac lc_330_mac.c4u (Link entfernt) funktionieren.
Um die Konfiguration von Clonk Rage zu übernehmen, muss ~/Library/Preferences/de.clonk.rage.config
nach ~/Library/Preferences/legacyclonk.config kopiert werden.
Höchstwahrscheinlich wird es für Mac später noch eine detailliertere Anleitung und eventuell ein neues Update mit Fixes geben. (Es kann sein, dass manche Texte einen Grünstich haben, das liegt irgendwie an den Bibliotheken und schau ich mir später noch genauer an.)

Viel Spaß beim Ausprobieren

Bei Problemen, Unklarheiten oder Rückfragen, insbesondere bei Mac oder Linux (aber auch unter Windows) meldet euch am besten im IRC in #legacyclonk, oder direkt bei mir (DerTod) oder Fulgen oder hier im Forum (Antwort braucht aber länger).
Rechnet aber im IRC damit, dass wir unter Umständen gerade keine Zeit haben oder offline sind (im Falle von offline sind wir auf away gesetzt), am ehesten antworten wir ab späterem Nachmittag.
Wartet also auf jeden Fall länger auf eine Antwort als nur ein paar Minuten.

Bei offensichtlichen Bugs und anderen Dingen die alle interessieren könnten, meldet diese allerdings bitte hier im Forum (könnt uns aber eventuell im IRC darauf hinweisen, damit wir es schneller sehen), damit Bug-Informationen und ähnliches für alle ersichtlich sind.

Zum Icon: LC hat momentan temporär ein von mir zusammengeschustertes Icon (bin nicht wirklich gut in solchen Dingen :x), bis wir ein gutes haben.
lc
Vorschläge für Icons sind gewünscht und gerne gesehen. Das fertige Icon sollte auch zu einem neuen Logo (das im Hauptmenü und in der Mitte des UpperBoards) passen, welches wir später einbauen werden. Da wir aber die originalen Spieldateien verwenden, werden im Spiel auch die originalen Grafiken angezeigt.

An dieser Stelle möchte ich mich recht herzlich bei @AniProGuy, @Alx und @Peder bedanken, die mir beim Testen der Windows-Version geholfen haben und einige Fehler aufgedeckt haben.
Außerdem möchte ich mich bei @Luchs bedanken, der uns bezüglich Clonkspot unterstützt.

Natürlich möchte ich mich auch bei matthes und dem ehemaligem Entwickler-Team bedanken, dass sie Clonk gemacht haben, und matthes dafür, dass er doch noch den kompletten Code Open Source gemacht hat.

Abschließend möchte ich mich auch noch beim OpenClonk-Team bedanken, da sie sehr viel Arbeit geleistet haben die uns beim Code-Aufräumen geholfen hat, und wir auch manche Features/Commits davon backported haben.

Dieses Update wird euch vom LegacyClonk-Team, aktuell bestehend aus @Jan, @Fulgen, @Kanibal und @Der_Tod bereitgestellt.

FAQ

Bringt OpenGL irgendwelche Nachteile?

Unter Linux und Mac macht es sowieso keinen Unterschied, da es dort sowieso immer nur OpenGL gab.

Unter Windows hat die OpenGL-Implementierung leider ein paar Ungereimtheiten, denen wir uns aber in nächster Zeit widmen werden.
Unter anderem ist das Ändern der Auflösung verbuggt, bis LC neu gestartet wird. Sollte dieses Problem auftreten, die Nachfrage mit Ja bestätigen (Alt+J falls der Dialog außerhalb des Sichtbereichs ist) und dann LC neustarten. Im Problemfall kann die Auflösung in der Registry unter HKEY_CURRENT_USER\Software\LegacyClonk Team\LegacyClonk\Graphics auch händisch (und für den Fenstermodus auf beliebige Werte) geändert werden.
Außerdem minimiert sich LC im Fenstermodus sobald es den Fokus verliert.

OpenGL bringt aber bereits in der originalen Engine ein cooles undokumentiertes Feature mit sich, das an derselben Stelle wie die Auflösung in der Registry unter dem Namen “ColorAnimation” aktiviert werden kann. Außerdem muss auch die Option “Shader” aktiviert werden. Es sorgt dafür, dass Flüssigkeiten einen Bewegungseffekt bekommen. Ist schwer zu erklären, am besten einfach mal ausprobieren.

Unter MacOS haben manche Texte einen Grünstich!

Das scheint ein Problem vom Bundlen der .dylibs (das sind die DLLs unter MacOS) zu sein, da ich es erst erlebt habe nachdem ich sie gebundlet habe, anstatt die installierten zu verwenden.

Es lagt dauerhaft leicht, mit durchschnittlich 30 FPS

Bei manchen Grafikkarten-Treibern scheint dies aufzutreten, wenn in den Einstellungen des Grafiktreibers VSync aktiviert ist. Die Lösung ist also, global oder für Clonk VSync zu deaktivieren.
Vermutlich wird durch aktiviertes VSync im Treiber doppelt synchronisiert, weil Clonk das separat macht, was bei einem 60 Hz-Bildschirm zu 30 FPS führt.

Absturz beim Start

Falls @Jan’s Ladestatusanzeige verwendet wird, welche mit Ersetzen der fmod.dll funktioniert, stürzt LC beim Start mit folgender Fehlermeldung ab:

Die modifizierte fmod.dll ist nur genau für die offizielle CR-Engine gemacht. Deshalb muss für LC die originale fmod.dll verwendet werden.

Bekannte Bugs

  • Ändern der Auflösung (siehe FAQ zu OpenGL)
  • Fenstermodus minimiert sich bei Fokusverlust (siehe FAQ zu OpenGL)
  • Grünstich bei manchen Texten in der Mac-Version (siehe FAQ)
  • MOTD vom Masterserver wird nicht angezeigt
12 Likes

Featurewünsche für LegacyClonk
LegacyClonk is here! (Community Update for Clonk Rage)
#2

Increase default MaxLoadFileSize to 100MB

Na endlich!

0 Likes

#3

@Der_Tod schreib doch bitte rein, dass man vorher die Änderungen an der fmod.dll von @Jan Ladestatusanzeige rückgängig machen muss.
Ansonsten erscheint die Fehlermeldung:

Die Anwendung konnte nicht korrekt gestartet werden (0xc0000142). Klicken Sie auf “OK”, um die Anwendung zu schließen.

1 Like

#4

Geplante Neuerungen für Version 331

Folgende Features habe ich geplant selber zu implementieren, weshalb es wahrscheinlich ist, dass sie es alle ins nächste Update schaffen.
Je nachdem wie viel Zeit die restlichen Entwickler haben, ist es auch möglich dass noch mehr Features dazukommen, wenn sie rechtzeitig fertig werden.

Überarbeiteter Vollbildmodus

Vorallem unter Windows ist der Vollbildmodus der OpenGL-Implementierung richtig merkwürdig.
Der Vollbildmodus wird aber generell durch einen moderneren Ansatz ersetzt.

Anstatt die Auflösung umzustellen und ein explizites Vollbildfenster zu erstellen, wird die beim Start eingestellte Auflösung beibehalten.
Damit nicht manche Leute Probleme haben, weil alles zu klein ist, gibt es anstatt der Auflösungsauswahl eine Möglichkeit um den Skalierungsfaktor einzustellen.

Vorerst wird einfach nur alles skaliert, ohne mögliche Grafiken und Texte in höherer Auflösung zu zeichnen. Es wird also zumindest vorerst nur einen Teil meines High-DPI-Featurevorschlags erfüllen. Trotzdem sollte es bereits ausreichen, damit LC auch auf High-DPI-Bildschirmen, wenn auch nicht mit bestmöglicher Qualität, in nativer Auflösung spielbar wird.

Im Endeffekt wird dadurch ein Verhalten erzielt, das von normalen Fenstern gewohnt ist, anstatt ein störrisches alles verdeckendes Clonk-Fenster zu haben, das außerdem verzögerungsfreies Minimieren und Wiederherstellen erlaubt.
Gleichzeitig sollte dadurch als Nebeneffekt ein etwas besserer Fenstermodus dabei herauskommen.

Checkbox für Gamma

Man konnte immer schon in der Registry Gamma deaktivieren.
Das soll in Zukunft auch ganz bequem über die normalen Grafikoptionen möglich sein.

Weißer Chat für die Lobby

Analog zum weißen Ingame-Chat eine zusätzliche Option um auch den Lobby-Chat weiß zu färben.

Timestamps für den Chat

Die Überschrift ist ein Link, der zu einer genaueren Beschreibung des Features führt.

Ladestatusanzeige

@Jan hat schon vor Ewigkeiten eine Ladestatusanzeige gebaut, mit der jeder in der Lobby sehen kann wie viel die Mitspieler bereits geladen haben.
Bei längerer Benutzung fiel mir allerdings auf, dass die Anzeige manchmal 100% anzeigt obwohl es nicht stimmt.
Deshalb ist es vorgesehen es für LC so zu ändern, dass in diesem Fall kein Ladestatus angezeigt wird.

0 Likes

#5

Version [331]

Version [331] ist jetzt verfügbar.
Wie angekündigt ist diese Version im Netzwerkmodus nicht abwärtskompatibel zu älteren Engines.

Installation

Die Installation kann manuell wie oben beschrieben erfolgen (auch von CR aus), oder mit LC [330] auch über die spielinterne Update-Funktion.
Achtung: Da LC momentan immer noch nur unverschlüsseltes HTTP unterstützt, kann die Integrität der Update-Dateien nicht sichergestellt werden. Der sicherere Weg ist also die manuelle Installation.

Sollte von Version [330] aus aktualisiert werden, muss die Sprache manuell auf “normales” Deutsch zurückgestellt werden. Die Language.c4g im Clonk-Ordner kann dann gelöscht werden.

Manuell

Zur manuellen Installation nach der Anleitung vom ersten Post verfahren.
Windows: lc_331_win32.c4u
Linux 64 Bit: lc_331_linux64.c4u
Linux 32 Bit: Folgt in Kürze
Mac: Siehe Punkt Installation, Mac im ersten Post

Automatisch

In LC Version [330] im Hauptmenü auf “Info” klicken und dann “Updates suchen” anklicken und die Nachfrage mit “Ja” bestätigen.

Neuerungen

Hier wieder die Anführung der wichtigsten Neuerungen.

Neuer Vollbild- und Fenstermodus

Im Vollbild-Modus wird immer die aktuell eingestellte Auflösung verwendet.
Außerdem sollte gerade unter Windows das Minimieren und Wiederherstellen besser und schneller funktionieren.
Damit das Bild trotz eventuell höherer Auflösung nicht zu klein ist, gibt es anstatt der Auflösungswahl eine Option um die Skalierung einzustellen.

Der Fenstermodus kann jetzt ebenfalls direkt in den Optionen eingestellt werden.
Die Fenstergröße kann jetzt auch verändert werden, allerdings passt sich der Inhalt nur an, wenn man sich im laufenden Spiel befindet oder der Dialog gewechselt wird.

Weißer Chat und Zeitstempel

Der weiße Chat ist jetzt auch für die Lobby aktivierbar und für die Lobby und Nachrichten im Spiel können Zeitstempel eingeblendet werden.

Der weiße Chat für Ingame kann weiterhin über das Spielmenü eingestellt werden, der weiße Chat für die Lobby und die Zeitstempel finden sich jetzt auch in den Optionen.

Checkbox für Gamma

In den Problembehebungsoptionen im Tab Grafik gibt es jetzt die Möglichkeit Gamma zu deaktivieren.

Ladestatusanzeige für die Lobby

In der Lobby ist jetzt sichtbar, wie viel die anderen Mitspieler bereits von den Spieldaten geladen haben.
Diese Anzeige funktioniert nur, falls eine direkte Verbindung zum Client besteht (eine direkte Verbindung besteht, wenn der Ping sichtbar ist). Ist dies nicht der Fall, wird kein Ladestatus angezeigt.

Bekannte Fehler

  • Bei aktivierter Skalierung ist der zugängliche Bereich der Maussteuerung im Spiel eingeschränkt
  • Bei aktivierter Skalierung funktioniert /console nicht richtig
2 Likes

Featurewünsche für LegacyClonk