Kategorien
OpenClonk

OpenClonk: Neue Features seit Clonk Rage

Dieser Artikel ist für all diejenigen geschrieben, die Clonk Rage kennen und nun wissen möchten, was es in OpenClonk Neues gibt. Seit das Projekt Open Source ist, wurden einige experimentelle Features eingeführt. Im neuesten Teil der Clonk-Spieleserie haben wir alte Fesseln abgeworfen und etwas erschaffen, das weiter fortgeschritten ist als alles was ihr jemals in Clonk gesehen habt.

Man kann mit Sicherheit sagen, dass wir mit OpenClonk den größten Sprung machen, was neue Features und Änderungen seit Clonk 4 angeht.

Allgemein

Neu in OpenClonk ist die Möglichkeit zu Zoomen. Der Clonk kann jetzt in einer angemessenen Größe angezeigt werden, also größer als ein Mauszeiger ;-). Zoomen kann man mit dem Mausrad oder den Tasten F5/F6.

3D-Rendering

Auch neu ist, dass 3D-Modelle im Spiel dargestellt werden können. Im Gegensatz zu den klassischen Sprite-Grafiken sind 3D-Modelle wesentlich vielseitiger: Erstens, die Modelle verwaschen nicht und die Animationen sehen nicht abgehackt aus wenn hineingezoomt wird. Animationen werden direkt im Modell gespeichert. Man muss sie nicht mehr aus Einzelbildern der verschiedenen Animationsphasen zusammenpuzzlen (Tschüss, anigrab.exe). Das ermöglicht viel mehr Animationen als früher. Im Moment hat der Clonk mehr als 100 verschiedene!

Der Renderer lädt Modelle im Ogre3D-Format, einem leichtgewichtigen Format für 3D-Modelle, das speziell auf Echtzeit-Darstellung zugeschnitten ist.  Modelle in der Landschaft werden orthogonal, Bilder von Objekten dagegen perspektivisch projiziert. Abgesehen vom Grundlegenden unterstützt der Renderer noch:

  • Texturen mit UV-Maps (einschließlich Multi-Texturing)
  • Transparente Texturen / Alpha-Maps
  • Texturanimation
  • Bones-Animation, einschließlich dem Mischen mehrerer Animationen gleichzeitig
  • Backface Culling
  • In Echtzeit Script-gesteuerte Mesh-Transformationen und Attachments

Siehe auch den Artists Guide dazu, wie man Modelle erstellt, die in Echtzeit gerendert werden sollen. Unser Ressourcen-Repository beinhaltet bereits viele solcher Modelle.

Neue Steuerung

Allerdings sind die meisten Änderungen, die wir gemacht haben und noch machen, nur deshalb möglich geworden, weil wir entschieden haben die Abwärtskompatibilität zu Clonk Rage über Bord zu werfen und alle Spielinhalte von Grund auf neu zu erstellen. Das ist auch der Grund, warum die Spielinhalte von OpenClonk noch weit davon entfernt sind, den Umfang derer von Clonk Rage zu erreichen.

Die Steuerung wurde komplett überarbeitet und wird jetzt komplett per Script bestimmt. Mit dem neuen Steuerungssystem ist es gleich viel einfacher und intuitiver seinen Clonk zu steuern. Für neue Spieler war die ungewöhnliche und unintuitive Steuerung schon immer eine große Hürde gewesen, bevor sie endlich in den Genuss des wuseligen Gameplays von Clonk kommen konnten.

Der Clonk gräbt in Richtung des Mauszeigers, solange die Maustaste gedrückt bleibt.

Die Steuerung ist jetzt vollständig anzupassen und kann in jedem Szenario/Mod verändert werden. Die Standard-Steuerung basiert auf dem allgemein bekannten Schema vieler anderer Spiele: Bewegen mit WASD, werfen, zielen und Werkzeuge benutzen mit der Maus. Leertaste, um Objekte in der Landschaft zu benutzen (wie etwa ein Gebäude betreten oder ein Fahrzeug anpacken). Die neue Steuerung schöpft die Maus vollständig aus, und gibt euch damit präzise Kontrolle über alle Gegenstände und Waffen. Die neue Schaufel zum Beispiel kann auch beim Klettern und Hangeln benutzt werden, und der Clonk gräbt einfach genau in Richtung Mauszeiger, solang der Mausknopf gedrückt gehalten wird. Weitere Details zur neuen Steuerung werden in den ersten Tutorial-Missionen im Spiel erläutert.

Abgesehen von der Steuerung mit Maus+Tastatur kann man auch ein Gamepad benutzen. Allerdings ist dieses Feature noch experimentell, und so funktioniert im Moment von mehreren angeschlossenen Gamepads immer nur eins. Es ist ebenfalls noch nicht möglich, dessen Belegung zu ändern, aber das ist für die Zukunft geplant. Eine frühe Version der Gamepad-Steuerung wurde in einem Blog-Post vorgestellt.
Umfassende Dokumentation zur anpassbaren Spielsteuerung findet ihr in der C4Script-Dokumentation.

Insgesamt ist der Clonk viel agiler als zuvor: Er kann nicht nur herumlaufen und Sachen im Sprung benutzen, darüber hinaus helfen ihm eine Menge Werkzeuge dabei, durch die Welt zu kraxeln – zum Beispiel Enterhaken, Strickleitern, die verbesserte Schaufel und viele weitere.

Werkzeuge und HUD

Eng im Zusammenhang mit der Steuerung steht das Inventar-System des Clonks. Jeder Clonk hat jetzt einen Rucksack, in dem er fünf Sachen (Kapazität änderbar durch die Szenarien) tragen kann. Er kann seinen Rucksack öffnen und leicht Objekte aus dem Rucksack und aus seinem Inventar hin- und hertauschen.

Stark im Mittelpunkt stehen die Werkzeuge in OpenClonk. Der Clonk braucht zum Graben eine Schaufel, zum Bäume Fällen eine Axt, und zum Bauen einen Hammer. Als Ausgleich kann der Clonk nicht nur mehr Dinge tragen als der klassische Clonk, er kann auch jeden Gegenstand benutzen: Schwert, Bogen, Schaufel, Muskete, Zauberstab, etc. Der Bedarf an spezialisierten Clonks ist Geschichte, denn die Fähigkeiten eines Clonks werden jetzt rein durch seine Ausrüstung bestimmt. Durch die Nutzung der Maus sind Werkzeuge vielseitiger und einfacher zu bedienen.

Spielerclonks, mit Rang, Energie und Atem. Wurzel trägt eine Schaufel, Carlo taucht.

Die neue Spielsteuerung geht auch Hand in Hand mit der gründlichen Überholung des HUD. Das minimalistische HUD war eine Sache, die wiederholt als Kritik an Clonk angebracht wurde.
Ab sofort wird das HUD vollständig per Script bestimmt (anstatt von der Engine), was mehr Flexibilität für Szenarien und Entwickler bedeutet. Die Standardoberfläche zeigt alle Clonks des Spielerteams am oberen Rand, jeweils mit einer Energie- und Atem-Leiste direkt unter ihrem Bild. Außerdem zeigt das Bild den Clonk live in Aktion, sprich, wenn er angegriffen wird oder gerade ertrinkt sieht man das dort.

Am unteren Bildschirmrand sieht man die zwei Gegenstände, die der Clonk in seinen Händen trägt.

Benutzbare Gegenstände: Inventar links (mit Zusatzinfo, z.B. Munition), eine Kiste beim Clonk rechts.

Sie können mit Links- oder Rechtsklick benutzt werden. Darüber hinaus werden dort auch alle Objekte in der Landschaft angezeigt, die der Clonk gerade benutzen kann.
Alle Knöpfe die man im HUD sieht kann man anklicken, um sie auszulösen oder auszuwählen, und Gegenstände kann man per Drag&Drop sinnvoll herumziehen. Dieses Feature ist interessant für Mod-Autoren.

Neue Spielinhalte und Konzepte

Da der gesamte Spielinhalt von Grund auf neu ist, muss man die vielen neuen oder erneuerten Werkzeuge, Waffen, Gegenstände, Gebäude, Fahrzeuge und Tiere, Regeln, Ziele und Umweltobjekte unbedingt erwähnen. Abgesehen von den Objekten ersetzen wir vollständig die alten Grafiken, Sound-Effekte und Texturen. Texturen zum Beispiel sind keine Graustufenbilder mehr, die nachher nach Farbe des Materials getönt werden, sondern Farbbilder mit mehr Variation. Dadurch sieht die Landschaft besser und detaillierter aus. Neue Sound-Effekte suchen wir uns bei den verschiedenen freien (Creative Commons) Archiven, oder wir machen sie selbst.
Die Frage sollte also eher lauten, was ist denn nicht neu?
Nun ja, was den Spielinhalt angeht, gar nichts. Allerdings haben wir nicht einfach nur alte Objekte neu entworfen. Ein paar ganz neue Konzepte sind bereits im Spielinhalt zu sehen. Beispielsweise wurde der nervige automatische Clonk-zu-Clonk-Kampf beseitigt und wird durch den Kampf mit diversen Nahkampfwaffen ersetzt. Die klassischen Flints, die sich eigentlich nur in ihrer Explosionsgröße unterschieden haben, werden jetzt durch spezialisiertere Bergbau-Werkzeuge und Waffen ersetzt, wie etwa der Dynamitkiste. Aber anstatt jetzt alle neuen oder erneuerten Objekte hier aufzulisten empfehle ich euch, spielt einfach eine Runde und seht selbst :-P.

Für Entwickler

Viele vorgenommene Änderungen sind für Scripter und Szenario-Entwickler interessant:

C4DT

Ein Tool für die Clonk-Entwicklung soll hier besonders hervorgehoben werden: C4DT, die Clonk-Entwickler-Werkzeuge für Eclipse. Eclipse ist eine erweiterbare open-source Entwicklungsumgebung, die eine Vielzahl an Programmier- und Scriptsprachen unterstützt. Ab sofort auch C4Script: Das C4DT-Plugin erlaubt es euch, neue Inhalte für Clonk mit der mächtigen Eclipse-IDE zu entwickeln. Und da C4DT nicht versucht, eine eigenständige IDE zu sein, übernimmt sie jede Menge Features von Eclipse, und erleichtert die Entwicklung dadurch enorm. Unter den Features sind:

Errors und Warnings werden direkt in Eclipse angezeigt
  • Syntax-Highlighting für C4Script, Landscape.txt und Konfig-Dateien wie DefCore.txt und Scenario.txt
  • Alle Referenzen auf gültige Identifier (Variablen, Funktionen) können wie Weblinks angeklickt werden, um zu ihren Deklarationen zu springen. Das funktioniert sogar mit den Platzhaltern für Einträge in den Stringtabellen.
  • Schnell zur Objektdefinition springen, einfach indem man den Namen oder die ID des Objektes eintippt
  • Kontextabhängige Hilfe und Hinweise zu Parametern und sonstigem Code beim Tippen(!) (siehe Bild unten)
  • Hilfreiche Auto-Vervollständigung und -Einrückung
  • Ein Überblick über das aktuell geöffnete Script
  • Ein eingebauter Parser zeigt Errors und Warnings im Script auf, sodass man dazu die Engine nicht starten muss(!)
  • Refactoring von Variablen und Funktionen
  • Ein echter Debug-Modus für die Engine: Debug-Szenarien im Eclipse-Debugger(!)

Die alte editor.exe aus Clonk Rage-Zeiten wurde entfernt. C4DT ist der eindeutige Nachfolger des alten Freundes aller C4Script-Entwickler. Und eigentlich ist es ein mehr als würdiger Nachfolger, denn die Clonk-Entwicklung könnte wirklich kaum fortgeschrittener sein als mit diesem Eclipse-Plugin.

Auto-Vervollständigung und kontextabhängige Hilfe, noch während man tippt

C4Script-Änderungen

Abgesehen davon wurden folgende große Änderungen an C4Script vorgenommen:

  • Die ID eines Objekts ist nicht mehr auf 4 Großbuchstaben beschränkt. Zum Beispiel geht jetzt CreateObject(Musket); statt CreateObject(MSKT);
  • Alle Funktionen, die mit Objektkontext arbeiten, wurden von ihrem Objektparameter befreit. Beispielsweise schreibt man jetzt clonk->GetX(); statt GetX(clonk);
  • Ein paar veraltete Funktionen sind weg oder ersetzt. So verhält sich jetzt etwa FindObject() wie FindObject2() aus Clonk Rage, FindObject2() gibt es nicht mehr.
  • Viele Funktionalitäten, wie das Klettern an Strickleitern, Seilphysik, Basisgebäude, Werkstatt oder Clonk-Steuerung wurden in einheitlichen Bibliotheks-Objekten thematisch zusammengefasst, und können jetzt von den konkreten Objekten genutzt werden. Das vereinfacht die Nutzung von Funktionalitäten anderer Objekte, ohne alles von ihnen erben zu müssen. Zum Beispiel haben alle Produktionsgebäude #include Library_Workshop in ihren Scripts stehen, um die Grundfunktionalitäten einer Werkstatt zu bekommen.
  • Ein neuer Datentyp, genannt „Proplist“. Proplisten sind assoziative Arrays mit Prototypvererbung, wie bei Javascript-Objekten. Ein Beispiel: var info = { XP = 1200, Comment = "I'm new here." }; Log("%d",info.XP); gibt „1200“ im Log aus. Objekte und Objektdefinitionen sind jetzt ebenfalls Proplisten und Objekte erben von ihrer Definition: Log("%s",Bow.Name); gibt sprachabhängig den übersetzten Namen des Bogens aus. Lokale benannte Variablen sind jetzt Properties eines Objekts.
  • ActMaps werden ebenfalls als Proplist in einer Property in der Objektdefinition gespeichert. Wahrscheinlich wird die DefCore.txt ihrem Beispiel folgen.
  • Die Dateien DescXX.txt und Names.txt werden nicht mehr genutzt. Der Name wird per Script gesetzt und je nach Sprache aus der entsprechenden StringTblXX.txt gelesen. Nur noch wenige Objekte benötigen eine Beschreibung, und diese wird ebenfalls im Script definiert und in der String-Tabelle übersetzt.
  • Die Steuerung wurde überarbeitet. Szenarien und Objekte können Tastatur, Maus und Gamepad beliebig nutzen und neu belegen. Das Script des Clonks definiert ein neues Interface (siehe ControlUse) für den Umgang mit Objekten.
  • Variablen können jetzt den Wert nil haben, egal von welchem Typ sie sind. nil ist wie null in anderen Programmiersprachen, und wird in C4Script üblicherweise benutzt um anzuzeigen, dass etwas nicht gesetzt ist. Ob eine Variable 0 oder nil ist, ist beispielsweise nicht dasselbe. Sie ist 0, wenn sie die Zahl 0 enthält und nil, wenn sie nicht gesetzt ist. Für Funktionen hingegen kann nil benutzt werden, um einen optionalen Parameter nicht festzulegen (das ist, als ob man ihn ausgelassen hätte). Zum Beispiel spielt Sound("Water",true,nil,nil,+1) den Wasser-Sound endlos für alle Spieler, mit 100% Lautstärke (dem Standard), während dieser Sound mit Sound("Water",true,nil,0,+1) nur für Spieler 0 zu hören ist. Außerdem erlaubt nil es, zwischen Funktionen zu unterscheiden die keinen Rückgabewert (also nil) liefern und z.B. solchen, die die Zahl 0 zurück geben.
    Unabhängig davon, ob eine Variable foo entweder nil, 0 oder false ist, dieser Ausdruck gibt immer noch „yay“ aus: if(!foo) Log("yay");
  • #strict und #strict 2 wurden abgeschafft. #strict 2 gilt implizit für alle Scripts.
  • Wie üblich gibt es einige neue Funktionen und Engine-Callbacks. Siehe dazu die Dokumentation.

Ursprünglicher Artikel von Newton im OpenClonk-Wiki, Stand: 16. September 2010

Kategorien
Commmunity

Neue clonk.de Links

Clonkblog und Clonkspot sind seit gestern in der offiziellen clonk.de Link-Liste. Ich denke Dragonclonk und mich hier freut das sehr, denn es zeigt, dass die Blogs bekannt werden. Ich höre viel positives über unserer beiden Blogs und freu mich auch, dass unsere Koexistenz so wunderbar funktioniert – ohne uns thematisch in die Quere zu kommen. Klar, mehr Artikel wären immer schön, aber mir fehlt teilweise die Zeit und dann sollten die Artikel ja auch noch qualitativ nicht unterstes Niveau sein. Wir geben uns Mühe, das ist die Hauptsache denke ich.

Zum Thema Linksliste auf clonk.de: Dort gibt’s auch andere interessante Links, die vielleicht noch nicht jeder kennt. Matthes ist kein toter Gott, er trägt zumindest noch clonkige Links ein ;)

Übrigens haben wir heute die Text-Breite auf angenehmere 775px vergrößert, vor allem um den Lesefluss weiter zu verbessern. Das betrifft insbesondere Bild-Text Kombinations-Bereiche. Wir werden die Tage vermutlich noch etwas hier und da am Design feilen, unter anderem möglicherweise auch prozentuale Lösung der Darstellung, daher nicht wundern, wenn etwas mal nicht ganz korrekt aussieht. Danke für das Verständis.

Kategorien
Commmunity

10 Jahre Clonk – I

Neulich kam mir der Gedanke mal zurückzublicken, wie lange ich schon bei Clonk dabei bin. Im gleichem Gedankensprung viel mir dazu Tyrons Artikel dazu ein. Sichtlich inspiriert davon, möchte ich meine Geschichte von Clonk erzählen. Ich erinnere mich recht gerne an all die Jahre. Und hey, 10 Jahre sind nicht wenig. Ich bin etwas mehr als doppelt so alt, das heißt mit Clonk habe ich bisher die Hälfte meines Lebens verbracht. Und das will für ein Computerspiel wirklich was bedeuten. Ich weiß nicht, ob es genau 10 Jahre sind. Möglicherweise 9.5, aber das ist nicht so wichtig. Vielleicht würfle ich mal das eine oder andere Jahr durcheinander, verzeiht mir dafür bitte. Ich werde wohl immer mal wieder abschweifen, aber das tut jeder, der in Erinnerungen schwelgt. Nehmt euch etwas Zeit zum lesen, ich schreibe so, wie es mir aus den Fingern gleitet. Aber halt, wir fangen doch mal von vorn an.

2000 – Clonk Planet

In diesem Jahr erschien Clonk Planet.  Auch bekannt als Clonk 4.65 – eine Weiterentwicklung von Clonk 4. Ich hatte nicht viele Freunde in meiner Kindheit. Das lag einerseits daran, dass (und das bin ich meist immer noch) ein nicht gerade einfacher Mensch bin. Zudem war ich von Grund auf schon immer der Meinung, dass ich mich nicht um viele Freunde gleichzeitig und gut kümmern kann. Jedenfalls hatte ich einen. Einen ganz besonderen. Hey, wir hatten keinen BFF Ring, aber trotzdem waren/sind(?) wir die Besten Freunde. Jedenfalls hatte er bei sich einen Computer stehen. So ein neumodisches Dingens. Frisch eingezogen in die Haushalte, erschwinglich für den Mittelstand. Fasziniert davon übernachtete ich häufig bei ihm und wir merkten, dass Spiele zu zweit besser sind, als wenn man sich immer abwechseln muss. Das Angebot war damals recht beschränkt. Für uns war LAN noch eher kein Begriff. Woher hätten wir auch einen zweiten Computer auftreiben können? Daher haben sich unsere, ich nenn es mal mit schmunzeln „Multiplayer-Sessions“ auf das Spiel GL Tron und JAZZ2 beschränkt. Beides grandiose Spiele, keine Frage. Aber es soll ja um Clonk gehen. Mein Freund, nennen wir ihn der Einfachheit mal „den Perserkönig“ hatte damals eine ComputerBILD Spiele erhalten. Ein Softwaremagazin, wo meist eine Vollversion und ein paar Demoversionen von diversen Spielen enthalten war. Wir hatten meist die Gamestar CDs ausgeschlachtet, aber nun hatten wir die neue in der Hand. Die anderen Spiele auf

Clonk Planet in all seiner Pracht

der CD konnten uns nicht lange beschäftigen. Da war noch „Clonk Planet“ übrig. Der Titel klang dämlich, also war das schon einmal ein gutes Zeichen. Das Titelbild sah extraordinär klasse aus, da ging wohl die Post ab, dachten wir uns. Und die ging auch ab, nur leider anders als wir dachten. Wir starteten in einer 2D Landschaft, dazu ein blödes Tröten aus den Soundboxen. Lachkrampf. Wir fanden das Spiel ziemlich albern, wollten es beenden. Einer von uns beiden – ich weiß wirklich nicht mehr wer, wollte allerdings noch ein bisschen Schabernack damit treiben. Ja, wenn es denn günge. Es ging nicht. Die Steuerung entlockte uns ein „urk“. Ja, damals kannten wir noch keine wtfs ;)

Elektrisiert von unserem Ehrgeiz die Steuerung zu meistern buddelten wir immer wieder komische Höhlensysteme in unsere kleine dynamisch erzeugte Sinuskurven-Map. Dabei hinderte uns immerzu der Regen, den irgendein asketischer Entwickler damals wohl eingebaut hat. So war unsere Hauptaufgabe nicht das Siedeln, oder Gold abbauen, sondern das anlegen von  Regenbassins und diversen Schutzsystemen. Allesamt hochprimitiv. Begriffe wie Lehmbrücken, in Erde pumpen und derolei lagen uns fern. Das eigentlich siedeln beschränkte sich danach dann auf maximal 20 Minuten. Spaßige Sache. In schätze wir haben etwa ein Jahr recht kontinuierlich so gesiedelt.

2001 – Shareware

Irgendwann 2001 wenn mich nicht alles täuscht haben wir unseren eigenen Heimcomputer erhalten. Strahlendes Windows 98, superschneller 800MhZ Prozessor, Leistungsfähige 16MB Onboard Grafikkarte und unglaublich große 15GB Festplatte. In meiner Schule war ich ein Held. Ich war so heldenhaft, ich habe es geschafft Windows in nur 9 Stunden zu installieren. Mit Handbuch und Vaters Hilfe, versteht sich. Für Druckertreiber weitere 2 Stunden, mindestens. Aber ich schweife ab. Und halt, ich muss zurückgreifen. Vor dem PC hatten wir einen von diesen angepriesenen Laptops. Firmenlaptop von meinen Vater, aber es gab ein Modem dazu. Überrascht von dem Einwahlgeräusch und noch mehr Überrascht vom Internet war das eine völlig neue Welt. Ich hatte bis dato noch nie Internet gehört. Computer waren höchstens in Banken zu sehen und waren für mich auch nur Schreibmaschinen mit Fernsehbildschirm. Jedenfalls, da war es. Das Internet. Auf einem Galeon Browser ging es mit rasanten 56k durch das www. Viel zu sehen gab es nun nicht für mich, wie auch. Begriffe wie Google, oder Suchmaschine waren noch nicht in meiner Welt vorhanden. Über einige Umstände gelang es mir allerdings die Clonk.de Seite auszumachen. Dort sah ich erstmalig eine unglaubliche Vielfalt an Screenshots, von allen möglichen Zusatzpaketen. Hazard, Jungle, Tiefsee, … mir leuchteten die Augen. Vor allem weil das Originalpack ziemlich viel beinhaltete, was unsere Sharewareversion nicht hatte. Ich wollte es unbedingt haben. Und zwar jetzt. Von meinem ehemaligen Taschengeld, was in etwa 1Deutsche Mark in der Woche betrug (das war sehr viel als Kind) sparte ich somit auf eine Registrierung hin. Das dauerte etwas, ich habe den Clonk Planet Lizenz Preis nicht mehr im Kopf. Ihr vielleicht? Jedenfalls, ich hatte es irgendwann. Jetzt nur noch ins Internet und irgendwie das Geld dort hin. Aber halt…Bankkonto? Das klang zu hoch für mich. Vater geholt, der meinte man muss es Überweisen. Und das war ihm zu heikel. Punkt aus. Ein Traum fing an zu platzen, bevor er überhaupt angefangen hatte. Ich hatte das Geld, aber mein Vater meinte, dass diese sogenannte „Redwolf“ Firma bestimmt Betrüger sind, die mich um mein erspartes bringen wollen. Jawohl, Betrüger im Internet. Wenn der gewusst hätte was heute so alles im Internet los ist… ;)

Das Ende vom Lied war, dass ich mich im Haushalt mit beteiligte, beim kochen helfen, Müll runtertragen, Keller aufräumen, gute Noten in der Schule haben, fleissig Hausaufgaben machen und ähnliches. Vermutlich für die heutigen Kinder in ihren NintendoDS (oder welche Konsole gerade total hip ist, whatever) und Wii Welten nicht vorstellbar. Nun, da ich meine Tugenden unter Beweis gestellt hatte, durfte ich es mir kaufen. Von meinem selbst ersparen Geld. Welch eine Großzügigkeit. Wie dem auch sei, nach etwa drei Wochen warten und zaudern, lag die Email von Matthes Bender, welchen ich schon damals als Gott verehrte, in unserem AOL 5.0 Postfach. Allerdings erst 20.30 Uhr. Meine Eltern wachten streng über die Computerzeit. Maximal zwei Stunden am Tag. Das heißt, Computer aus und auf den nächsten Tag warten. Ich konnte kein Auge zu tun. Ich wälzte mich stundenlang im Bett, in der Schule bekam ich nichts mit. Beinahe unvorstellbar heute für mich in Zeiten von OneKlick Buy über Steam, mit Einkommen und schon lange kein Elternhaus mehr.

Mein erster Clonknick war ziemlich gediegen:  „Clonkfreak“. Mit dem Namen war ich aber nie in der Community, daher sollte der wohl recht unbekannt sein. Übrigens malte ich mit Leib und Seele Maps für Clonk. Denn ich hatte Erfahren, das man das mit der Vollversion machen könne. So malte ich immerzu heftige Melees, ähnlich dem Screenshot da oben. Es sah ziemlich toll aus, ging aber wohl leider mit einigen anderen Sachen aus meiner Kindheit unter. Ich kann es euch nicht mehr zeigen. Fast 10 Jahre später erfuhr ich dann von PeterW(?) übrigens auch, das der Screenshot gefakt war. Man sieht es auch mit etwas genauem hinschauen. All die Jahre wurde ich betrogen. Unfassbar ;)

2002 – Community

Der Entwicklermodus. Der Anfang vom Lied.

Es gab kein anderes Spiel mehr für mich. Clonk war absolut das tollste. Dem Entwicklermodus entlockte ich langsam einige Kartenskills, mit Paint. Die Palette zu verstehen war nicht sehr einfach. Ich merkte irgendwann: Clonk+Internet. Moment, da geht was. Und tatsächlich, über den AOL Browser kam ich per Javaclient nach #clonken. Ein reges treiben herrschte dort. Chatten in Echtzeit mit völlig unbekannten Leuten. Eine Faszination, die bis heute anhält. Jedenfalls gab es schon gehostete Runden, über IPs bekam ich das mit. Ich versuchte zu joinen und ja, ich kam rein. Es gab übrigens noch keinen Masterserver, oder gar Lobby. Das ganze war recht primitiv. Und ich stieß recht schnell mit meinem 56k Internet an die Grenzen, mehr als zum joinen kam ich nicht, ich flog immerzu raus. Frustrierend. Wenn mich nicht alles täuscht waren damals boni und ck da, die mich von ihren Elfenbeinenen-ISDN Türmen aus ignorierten. Seis drum, es blieb noch der Entwicklermodus.

Fortsetzung Teil II

Kategorien
OpenClonk

OpenClonk: Website Redesign

Vor einiger Zeit hat sich Newton darangesetzt und ein fortgeschrittenes Konzept der Hauptseite von OC gestaltet.

Aus diesem Design lässt sich eine Menge entnehmen. Angefangen bei dem Aussehen, sieht man langsam, wohin denn OC vom Stil her steuern möchte: Handfest, holzig, robust…eben clonkig! Es scheint sich auch langsam ein Logostil zu etablieren, der sich auch eindeutig mit den Vorgänger-Logos anfreunden möchte. Aber vor allem möchte das Redesign eines erreichen: Ein freundliches, übersichtliches auftreten. Clonkige Items als Symbole, kleine Javascript Galerien zum durchklicken, was meiner Meinung nach mit am wichtigsten ist: Ein schnell auffindbarer Download Button und eine kleine Newsspalte. 100 Punkte im Web-Fengshui ;)  Denn seien wir ehrlich, vom viel verwirrenden Developerfachgeplänkel mit Mercurial Übersicht – Seiten hat der Otto-normal-Clonker nicht viel, außer die Möglichkeit frustriert den Tab wieder zu schließen.

Ihr merkt, das soll sich alles ändern. Und ich persönlich finde das auch sehr gut. OC möchte offener für alle werden. Da fehlt im Redesign fast nur noch eine Sprachauswahl mit deutschem Inhalt und dann wären wohl alle glücklich. Mir persönlich fehlt nur noch ein Favicon, sowie ein etwas breiteres Layout. 16:10er haben da ziemlich viel Freiräume links und rechts. Das alles kommt aber sicherlich noch, ich bleib optimistisch :)

Kategorien
OpenClonk

OpenClonk: Englische Dokumentations-Sources

Bisher waren die Sources der Entwicklermodus-Dokumentation nur auf Deutsch verfügbar. Die Doku basierte auf der von Clonk Rage, die ebenfalls für einige Zeit nur in Deutsch verfügbar war und erst später in’s Englische übersetzt wurde. Wie auch immer, bevor etwas übersetzt werden konnte, musste ja erst einmal eine deutsche Version verfügbar sein (siehe Bug #287)  – daher konnte bisher auch keiner der englisch-sprachigen User etwas zur Doku beitragen.  Nach einiger anfänglicher Arbeit von Maikel setzte ich mir letztes Wochenende zum Ziel die Situation zu ändern: Die Hauptdokumentation sollte auf Englisch vorhanden sein, welche dann möglicherweise in Deutsch (oder andere Sprachen) übersetzt werden kann. Dazu wäre das Tool xml2po, das alle XML-Dateien in docs/sdk scannt und danach daraus sogenannte po-Dateien erzeugt, die alle entsprechenden Strings zum Übersetzen enthalten, am Besten geeignet. Die po-Dateien werden dann von Menschen aus Fleisch und Blut übersetzt.

Die folgenden Schritte müssen dafür unternommen werden (Plus/Minus etwas Detailarbeit):

  1. Die Englische Übersetzung vervollständigen: Als ich anfing, waren an die 200 unübersetzte deutsche Strings in der Doku, die ich mir vornehmen musste. gtranslator ist ein nettes Tool, das bei der Übersetzung hilft, bis auf eine Tatsache: Es zeigt nicht an, wo der String herkommt (z.B. welche Zeile aus welcher XML-Datei) – das musste ich von Hand in der po-Datei nachsehen, wenn ich das wissen musste.
  2. Ein Script schreiben, das die po-Datei der englischen Übersetzung liest, den deutschen Inhalt aller XML-Dateien mit ihrer englischen Version ersetzt, und eine po-Datei mit der Übersetzung von Englisch zu Deutsch anlegt. Dieses Script fing als sehr hübsches und klares Python-Script an, aber dann musste es immer mehr Spezialfälle behandeln. Inzwischen kann ich nicht mehr sagen, dass ich besonders stolz darauf bin… aber naja, schlussendlich erfüllte es seinen Zweck. Eine weiter Sache, die ich währenddessen gelernt habe: Es ist eine gute Idee, Python-Strings und Unicode-Objekte möglichst nicht durcheinander zu benutzen; stattdessen sollte man lieber immer entweder das eine, oder das andere benutzen – andernfalls bekommt man seltsame „UnicodeDecodeError“-Exceptions und was nicht alles überall verstreut… ein Grund, warum ich Programmiersprachen mit starker Typisierung lieber mag.
  3. Duplikate in der neu erstellten de.po-Datei loswerden. Es gab doch einige Fälle, wo zwei verschiedene deutsche Strings mit dem gleichen englischen String übersetzt werden. Das sieht man besonders oft in Tabellen, die (Englische) Bezeichner auflisten – die sollten gar nicht übersetzt werden, denn sie beziehen sich auf einen Eintrag in einer Konfigurations-Datei. Ich habe beschlossen, sie mit einem anderen XML-Tag zu markieren (<literal_col> statt <col>), sodass sie in der Übersetzung gar nicht erst auftauchen.

Einige der Strings, die noch zu übersetzen sind, enthalten XML-Fragmente, zum Beispiel um Platzhalter oder Text-Highlighting einzufügen. Nicht wenige dieser XMLs in der englischen Dokumentation sind kaputt. Ich frage mich, warum das Problem nicht gleich erkennbar war, als die Dokumentation am entstehen war.

Nun, wenn du die Dokumentation nach Deutsch, oder eine andere Sprache übersetzen möchtest, brauchst du lediglich die docs/de.po Dateien mit einem Tool deiner Wahl (zum Beispiel ein simpler Texteditor – das Format der Datei ist wunderhübsch selbsterklärend) bearbeiten. Auf Linux kannst du die .po-Dateien recht leicht neu generieren (mittels Scan der XML-Dateien für neue Strings) und eine übersetzte Version mittels make in docs/(für Windows ist das alles etwas komplizierter, aber bei Bedarf kannst du in die Anleitung schauen: README.cygwin.txt) erzeugen. Dabei werden ebenfalls die XML-Dateien zu HTML konvertiert – ideal um in Webbrowsern (Firefox kann zum Beispiel aus irgendeinem Grund nichts mit XMLs anfangen) angezeigt zu werden. Wenn du von Grund auf eine Übersetzung in eine neue Sprache anfangen möchtest (oder du möchtest sie in den make Prozess mit einbinden, weißt aber nicht wie) fühl dich frei einer der Entwickler im Forum oder Chat anzuschreiben. Ein Wort zur Warnung: Alle Docs zu übersetzen ist eine unglaublich große Arbeit, da diese mehr als 4000 Strings enthalten. Wie auch immer, es wäre schon eine feine Sache wenn alles Stück für Stück in kleineren Portionen übersetzt wird. Unübersetzte Strings bleiben vorerst auf Englisch.

Abgesehen von dieser hier gibt es noch mehr Arbeiten, die die Dokumentation betreffen. Newton hat uns darüber bereits einen netten Überblick im Forum gegeben. So, meine englisch-sprachigen Freunde, jetzt habt ihr keine Entschuldigung mehr :D . Außerdem enthält der Code  noch einige Strings oder Kommentare, die auf Deutsch geschrieben sind. Später irgendwann können diese auch übersetzt werden, aber die Kommentare sollten auch ganz gut unübersetzt verständlich sein. Wenn ihr die Dokumentation-XMLs übersetzt, könnt ihr euch sogar ein direkte Vorschau eurer Änderungen im Internet Explorer (nicht im Firefox) anschauen.

Ursprünglicher Post von Clonk-Karl am 22. August 2010.

Kategorien
Missionsguide

Missionsguide #10: Bei den Donnerbergen

Ich hatte die letzten Wochen nicht viel Zeit. Hauptsächlich war ich mit meinem Webauftritt beschäftigt. Schaut einfach mal auf der Hauptseite (white30.de) nach. Dort gibt’s unter anderem auch einen Button „Blog“, der meinen zweiten enthält. Dieser dreht sich um das Thema Fotografie. Keine Sorge, ich bin nicht im Bloggerwahn, es sollte bei den zwei Blogs bleiben. Nun aber zum eigentlichen Thema.

Das Szenario Bei den Donnerbergen hat im laufe der Zeit einiges mitgemacht. Für Clonk Rage wurde es erneuert. Meiner Meinung nach zu stark vereinfacht. Die Beschreibung hat man allerdings vergessen zu restaurieren. Kann vorkommen. Jedenfalls, ich empfehle einen unterirdischen Weg bis zum Erz, denn über die Oberfläche kommt man einfach nicht vernünftig.

Als heutiges Zuckerl: Der Spielstand vom Screenshot ist als Download verfügbar. Mitgespielt haben  Nachtfalter, B_E, Nico und Shadow. Also sind theoretisch vier Spieler möglich, die uns übernehmen können und das Szenario zu Ende spielen dürfen. Wenn ihr es geschafft habt das ganze Erz abzubauen, könnt ihr auch den Endscreenshot hier hochladen. Viel Spaß damit :)

Download Spielstand

Kategorien
OpenClonk

OpenClonk: Oh Kanada

Ungefähr Anfang Juli haben ich und Clonk-Karl es geschafft uns persönlich in meinem Heimatland zu treffen: Kanada. Da ich zur Zeit der einzige Entwickler bin, der auf in der westlichen Hemisphäre lebt, war es eine sehr tolle Sache, dass wir uns getroffen haben. Wie das Leben so spielt war zufälligerweise sein Zielort gar nicht weit von meiner Heimatstadt enfernt.

Während seines Aufenthaltes spielten wir ein paar Runden OpenClonk (and fanden dutzende Bugs), ein paar ClonkRage (bei welchen ich in Meleerunden armselig verlor :] ) . Außerdem bestiegen wir beide und ein Freund, Andrew (mehrere sind besser gegen allerlei Getier!), einen unserer berühmten britisch-kolumbischen Berge. Das war echt ein klasse Abenteuer … als wir noch nicht einmal am Berg waren stieg ich beinahe auf eine Schlange. Nachdem wir einen ziemlich steilen Pfad entlangwanderten, wurden wir von einem schwarzen Bären beobachtet, der allerdings die Höflichkeit hatte sich bei unserem Anblick aus dem Staub zu machen – was wir für eine gute Idee befanden.

links Andrew, rechts Clonk-Karl und mein sonderbares Ich in der Mitte
links Andrew, rechts Clonk-Karl und mein sonderbares Ich in der Mitte

Und möglicherweise das meist-besprochene Thema bei dem Meeting: Doppelkeks. Nun, nur von uns Kanadiern. Diese kleinen Kekse schmecken verdammt gut und die gibt’s hier in Kanada nicht zu kaufen:´(

Ursprünglicher Post von Ringwaul am 18. Juli 2010.
Kategorien
Projekte Siedeln

ClonkMars: AngleFree System

Da ich schon öfters zu diesem Thema angesprochen  wurde, hier eine Antwort auf Fragen: Angle (zu deutsch: Winkel) System berechnet wie der Name treffend sagt den Winkel, den das Licht benötigt um auf ein Objekt zu reagieren. Besonders wichtig ist es bei Solarpanel. Einfach gesagt, wenn links ein Hügel ist, bekommt man Morgens keine Energie, da der Hügel „vor“ der Sonne ist (man geht davon aus, dass die Clonksonne von links nach rechts über den Himmel zieht). Generell bekommt man Abends und Morgens je nach Intensität auch weniger Energie. Ein paar Grafiken sollten das noch besser erklären:

Daraus ergibt sich nun die logische Konsequenz: Solarpanels am besten immer auf hohen Hügeln bauen und verhindern, dass sich etwas in den Weg stellt. Das können andere Hügel, Gebäude oder auch Metallbrücken sein. Selbiges System gilt für Pflanzen und Basen, die überprüfen, ob über ihnen (also nicht wie das Panel 180°) checken, ob Licht einfällt. Viele denken noch, dass es wie in der Demo und wie in Originalclonk so ist, dass nur gecheckt wird ob das vor dem Material Tunnel gebaut ist, jedoch ist seit Beta1 dieses System da und überprüft das etwas genauer.

Fühlt euch frei noch weitere Unklarheiten als Frage zu stellen, vielleicht sammelt sich so wieder etwas zu einem Blogpost :)

Kategorien
Review

partyala muss sterben!

Auf dem CCAN gibt es inzwischen Clonk Party 2. Diese muntere Minispielsammlung von Killerwipf eignet sich besonders für Runden, bei denen man vor hat Spaß zu haben. Im besten Fall mit Freunden über TS, oder gleich Splitscreen. Im folgenden möchten wir euch gerne ein paar Tipps, sowie dem Autor auch etwas Feedback geben. Allgemein kann man sagen: Gut gemacht! Die Szenarien sind Abwechslungsreich, innovativ, clonkig und machen sogar Spaß. Aber nun etwas Kritik: Eine Einstellmöglichkeit, wie viele Stufen man zum Sieg erklimmen muss wäre gut. Wenn im letztem Spiel zwei Spieler gewinnen, haben zwar beide gewonnen, aber die Statue für den Clonk, der etwas auf sich hält sagt dann nur einen Namen. Etwas dynamische Runden, und/oder mehr davon wären noch die Krone des Ganzen. Auch kam es vor, dass die Statue meinte, dass Spieler „(null)“ gewonnen hätte. Nun gut, jetzt aber zu den einzelnen Spielchen:  

Die Wippe: Physik ist Trumpf. Je mehr Schwerpunkt an einer Stelle, umso mehr kippt die Wippe. Herabrollende Items machen es zusätzlich noch schwer. Die beste Taktik hier ist auch Items einzusammeln und die anderen damit zu bewerfen. Hier zeigt sich auch, wer gut die Zündzeiten der Flints im Blut  hat.

Randomtüren: Wie der Name sagt: Alles ist Zufall hier. Stell dich vor eine Tür und der Zufall entscheidet ob du durchkommst. Wie in der Evolution . Ich finde lediglich, dass in der ersten Reihe die untere Tür selten aufgeht und bei der letzten Tür ist es doch eher die obere. Ob ihr wirklich richtig steht, seht ihr wenn die Tür aufgeht.

Gridlines: Hier musst du durch ein Netz aus sich bewegenden Goldwänden durchkommen. Beobachten und Timing ist dazu wichtig. Als kleiner Tipp hier: Wenn du nicht mehr rauskommst und sicher ist, dass die Wand auf dich trifft, dann am besten im letzten Moment springen, das macht am wenigsten Schaden.

Nomnomnom: Hungrige Clonks kommen hier auf ihre Kosten. Um die Wette essen ist hier das Ziel. Aber verfaulte Früchte ziehen Leben ab. An sich verliert man auch zunehmend Energie. Nette Sache am Anfang ist die Büsche zu fällen, dann wächst weniger für die anderen – für einen selbst aber auch.

S2Vulkan: Ein Vulkan bricht aus und man muss vor den wegschleudernden Magmaklumpen ausweichen. Zwischendurch machen S2-Meteoriten einem das Leben schwer. Ganz hinten ist übrigens keine gute Position, man muss ständig in Bewegung bleiben. Ein Totenschädel im Inventar kann so manchen Gegner noch mitverletzen.

Tetris: Wer das Spiel kennt, der weiß gleich worum es geht. Steine fallen vom Himmel und man darf nicht drunter kommen. Grüne Quader beinhalten Säure, Pinke nehmen Steine/Reihen weg , die Roten Quader sprengen und Blaue Quader heilen kurz, wenn man draufsteht. Am Rande zu klettern ist nicht zu empfehlen. Durch einen fiesen Trick kann man sich sogar einen relativ sicheren Bunker bauen.

Himmelsinseln-Flintregen: Von oben kommen die Flints, unten ist die Lava. Reinfallen sollte man nicht, ausweichen an sich ist recht einfach, mit Gegnern allerdings wird das schwer, denn Schießpulver und T-Flints können genommen und auf Gegner geworfen werden. Wenn man den Moment abwartet, wenn ein Gegner wegspringen muss und dann wirft, hat man so ziemlich gute Chancen.

Springingsfeld: Von links und rechts kommen verschieden hoch und schnell springende Items. Diesen gilt es einfach auszuweichen. Gold und T-Flints tun am meisten weh. Wenn man sehr gut ist, dann Flintjumpt man oben auf eine sichere Insel.

Der morgendliche Weg zur Arbeit: Der Zug fährt ab, schnell, erwische ihn! Zwischendurch gibt es Hindernisse zum überspringen. Auf den Waggons läuft man übrigens schneller. Durch Flintregen wird das ganze noch etwas erschwert, aber beim ersten Flintregen reicht es meistens sich ganz nach hinten zu stellen. Etwas mehr Deko wie Telefonmasten, Signale, Wachttürme, oder so etwas wäre hier noch schön. Vielleicht sogar ein paar Schrägen für den Zug, sodass er langsamer und schneller fährt. Clonks könnten so den Zug dann einholen. Aber letzteres erfordert viel Balance, also müsste das gar nicht sein.

Das Merkspiel: Welche Farbe hat er gesagt? Ein Clonk zählt zufällig verschiedene Farben auf, also im Prinzip „ich packe meinem Koffer“, nur mit farbigen Quadern. Nach jeder Runde gibt es eine Farbe mehr zu merken. Autisten sind hier willkommen. Man kann auch einfach der Masse nachlaufen, so kommt man meist recht weit. Jedoch kann sich auch die Masse irren, oder die Clonks laufen in verschiedene Richtungen. Es gibt kaum Spielraum, die Zeit ist knapp bemessen. Denn zwischendurch verschwinden die Quader, dessen Farbe eine andere ist, als die, die an der Reihenfolge ist.

Indiana Jones: Eine gigantische Riesenfelskugel rollt von links nach rechts. Wer hängen bleibt wird zerquetscht. Klettern und Hangeln gibt es nicht. Falls man in der Wasserfalle landet, nicht klettern versuchen! Einfach mit Doppelsprung raus und schnell weiter!

In unserer Recherche fiel uns auf, dass wir die Level Überflutung und Steinfall nicht gespielt haben. Diese sind (noch) per Script ausgeschlossen – und werden vermutlich erst in einer der nächsten Versionen erscheinen. Mitgespielt haben übrigens Nachtfalter, Nachtschatten, Nico, ala und Travis. Danke dafür.

Warnung: Mit ala zu spielen kann Demotivation, Niederlage und Tod nach sich ziehen.

Kategorien
Missionsguide Siedeln

Missionsguide #8: Perlentauchen

Ein alter Dreimaster liegt auf dem Meeresgrund. Drumherum einige Perlen, die es einzusammeln gilt. Wie so oft: Viele Wege führen zum Ziel. Wir hatten uns vorerst für die traditionelle Methode entschieden: abpumpen. Nico wollte jedoch auch schon einmal vortauchen.

Wem die Haie übrigens zu schaffen machen: Mit flachen Gewässern wie rechts bei der Bambushütte können Haie auf das Trockene gelockt werden, bis sie ersticken. Aber wer macht das schon!