Kategorien
OpenClonk

OpenClonk: Magie in OpenClonk

Obwohl wir noch kein richtiges System für Magie in OC haben, gibt es bereits einiges an Zaubern und Zubehör. Das Meiste davon ist nur einmal benutzbar, da viel an Schriftrollen gebunden ist. Im Folgenden werde ich alle magischen Schriftrollen vorstellen, die wir bis jetzt haben – nebst ein paar nützlicher Hinweise, wie man sie am Besten einsetzt.

Feuerball-Schriftrolle

Der Feuerball ist ein Projektil, dass sich mit mittlerer bis hoher Geschwindigkeit bewegt und bei Kontakt mit einem feindlichen Clonk, wenn es eine solide Wand trifft, oder wenn eine bestimmte Zeit vergangen ist explodiert. Charakteristisch für diesen Zauberspruch ist seine Flugbahn – keine gerade Linie, sondern eine Sinus-ähnliche Welle, die das Zielen etwas anspruchsvoller macht. Wenn er sein Ziel trifft, teilt er sich in drei kleinere Explosionen auf, die knapp um den eigentlichen Aufschlagspunkt verstreut erstellt werden. Dadurch erleidet der Clonk einiges an Schaden und wird noch ein bisschen herumgeschleudert. Je niedriger die Entfernung zum Ziel, desto einfacher kann man mit dem Feuerball treffen – im Nahkampf hopst man einfach über den Feind und schmettert ihm den Feuerball mitten in’s Gesicht. Bei mittlerer Entfernung ist es schon nicht mehr so schwer auszuweichen, aber kombiniert mit einem zweiten, etwas höher gezielten Feuerball kann man einem Treffer fast nicht entgehen. Auf hohe Entfernung braucht man etwas Glück, da der Gegner den Feuerball über die ganze Karte heranfliegen sehen kann. Daher ist es meistens besser, näher an den Feind zu gehen um die Trefferchancen zu erhöhen.

Der Feuerball ist in Overcast und Thunderous Skies (kommt hoffentlich mit dem nächsten Patch) verfügbar.

Teleport-Schriftrolle

Dieser Zauberspruch dient zur Verteidigung, und er kann einem das Leben retten, wenn man ihn schnell genug einsetzt. Bei Benutztung teleportiert er einen an einen zufälligen Ort auf der Karte, sehr wahrscheinlich neben eine Kiste oder an eine sichere Stelle. Daher ist es, besonders in Overcast, sehr gut immer eine Teleport-Schriftrolle mit dabei zu haben. Sei es, weil in einer Kiste nichts nützliches drin war und man schnell zur nächsten kommen will, oder weil man irgendwo in den sonst sicheren Tod runtergefallen ist.

Man kann den Zauber sogar aktivieren, während der Clonk taumelt, also ist er noch nützlicher. Wer nicht so schnell mit dem Rucksack umgehen kann, kann ihn immer in einer seiner Hände halten wenn er in die tieferen Gebiete von Overcast geht, für den Fall dass man in einen Abgrund stürzt. Für die Schnellklicker: Merkt euch genau wo ihr die Schriftrolle in den Rucksack getan habt – ihr habt fast keine Zeit zu reagieren, wenn ihr erstmal im freien Fall seid.

Diese Schriftrolle gibt es nur in Overcast.

Wind-Schriftrolle

Der Windspruch ist ein Alleskönner: Man kann sich mit ihm verteidigen, bewegen, und angreifen. Nach einer Verzögerung von einer halben Sekunde wird in der Richtung, in der man geklickt hat, in einem gewissen Bereich jedes bewegliche Objekt in Klickrichtung weg gewirbelt. Der Stoß ist stark genug, um Clonks für die Dauer des Zauberspruchs in der Luft zu halten – also 5 Sekunden lang. Pfeile fliegen meistens zu schnell, um sie völlig abzulenken, aber der Spruch ist stark genug um ihre Flugbahn zu ändern, je nachdem in welchem Winkel sie anfliegen. Mit seiner Stärke kann man gegnerische Clonks auch über Klippen blasen, oder geworfenen Objekten und abgeschossenen Pfeilen einen Extraschwung verpassen. Alles in Allem ist dieser Zauberspruch immer nützlich – in fast jeder Situation.

Den Windspruch gibt es in Overcast, Frozen Fortress und Thunderous Skies (kommt hoffentlich im nächsten Patch).

Frostblitz-Schriftrolle

Genau wie der Feuerball verschießt man mit diesem Zauberspruch ein schnelles Projektil in Klickrichtung. Aber anders als der Feuerball bewegt sich dieser Zauber um einiges schneller und macht keine so starke Wellenbewegung. Daher ist er auch im Fernkampf noch nützlich. Die Explosion ist auch anders – an Stelle von einer kleinen und kompakten Explosion spaltet sich der Frostblitz in viele kleinere Explosionen auf, die sich auf eine große Fläche verteilen. Das macht ihn ziemlich effektiv gegen mehrere Gegner die nah beieinander stehen. Aber seid gewarnt! Wegen des großen Radius kann man auch leicht seine Teammitglieder treffen, wenn sie gerade im Nahkampf gegen die anvisierten Gegner sind. Ihr solltet auch wissen, dass Gebäude (wie die Verteidigungstore in Frozen Fortress) von der Frostblitz-Explosion keinen Schaden nehmen. Wenn ihr die Flagge stehlen wollt ist es immer sinnvoll eine dieser Schriftrollen dabei zu haben – Verfolger lassen sich damit ziemlich einfach aufhalten.

Diese Schriftrolle ist nur in Frozen Fortress verfügbar.

Härtungs-Schriftrolle

Schnee zu Eis machen! Das klingt für die meisten Situationen nicht sehr nützlich, aber in Frozen Fortress hat man damit einen gewaltigen Vorteil – denn dort kann man durch Eis nicht graben. Bei Benutzung erscheint ein langsames Projektil, das bei Auftreffen auf Schnee anfängt, diesen nach und nach in Eis zu verwandeln. Der Radius ist eher klein, also achtet darauf ihn an der richtigen Stelle einzusetzen – zur Verteidigung am besten direkt unter dem Haupttor, wenn dort genug Schnee liegt.

Diesen Spruch gibt es nur in Frozen Fortress.

Donner-Schriftrolle

Nach Benutzung, und einer Verzögerung von einer Sekunde, kommt ein Blitzschlag von oben, der alles in seiner Nähe trifft, beschädigt, und in die Luft schleudert. Auch wenn es schwierig ist mit diesem Zauber zu treffen, ist er doch recht stark. Er ist perfekt geeignet, um Gegner von Klippen oder einfach in die Luft zu schleudern um etwas Zeit zu gewinnen. Zeit, in der man weiter angreifen kann. Wenn du den Zauber aktiviert hast, achte darauf dass Gegner in der Nähe auch in der Nähe bleiben – hau sie mit einem Schwert oder schieße auf sie.
Der Blitzschlag trifft auch Ballons, die über dir fliegen. So kannst du, wenn du es richtig machst, dem Gegner ziemlich viel Schaden machen. Du musst auch nicht immer direkt beim Gegner sein, es reicht über oder unter ihm zu sein, da der Blitz ja von oben einschlägt. Andererseits kannst du dich gegen diesen Zauberspruch leicht verteidigen, indem du dich einfach unter etwas solides Material stellst. Um Kills zu stehlen ist dieser Zauber, wenn richtig angewendet, auch sehr gut.

Die Donner-Schriftrolle ist nur in Thunderous Skies (kommt hoffentlich im nächsten Patch) verfügbar.

Das sind alle Schriftrollen, die es derzeit im Spiel gibt, aber ich schätze das bleibt nicht lange so. Es macht mir einfach viel zu viel Spaß neue Zaubersprüche zu machen, also werde ich mir wahrscheinlich weiterhin neue ausdenken. Ich hoffe, dass euch diese Tipps und Infos helfen – sowohl bei der Benutzung, als auch um neue Strategien zu entdecken.

Ursprünglicher Artikel von MimmoO, Stand: 17. Dezember 2010

Kategorien
OpenClonk Review

OC – Boomshire Review

Nachdem jetzt der erste Meilenstein rauskam und auch richtig gespielt wird, musste ich es eben auch mal ausprobieren, sonst kann man es ja nicht richtig kritisieren ;) (außerdem kann ich hier unter Ubuntu kein TF2 spielen)

Also los, Linux-Engine, die ck im Forum gepostet hatte, runtergeladen und ab in eine zufällige Runde. Dabei gleich mal eine Meldung, die Engineversion wäre falsch, weggeklickt – hey, das ist die offizielle Linuxengine von ck, die hat zu funktionieren! ..ein paar desyncs später hab ich mir dann halt selbst eine mit der richtigen Revision gebaut, die dann sogar ging.

Boomshire ist ein kooperatives Rennen für zwei Spieler, soweit die Beschreibung. Beim Start wird gleich klar, was hier das Schlüsselelement ist: eine blaue, mit weißen Ornamenten verzierte Vase, mit der man Luft verschießen kann (ähnlich wie der Compression Blast des Pyro!). Damit kann man sich und den Mitspieler durch die Luft schleudern. Während man über die meisten Abgründe alleine springen kann, gibt es häufig Stellen, die man nur gemeinsam meistern kann, was nach etwas Verwirrung und wildem Rumschießen klar wird. Zwei Windstöße sind eben effektiver als nur ein einzelner. Damit der andere dann auch mitkommt, gibt es meistens Tore, die mit einem Drehrad aktiviert werden können. Dort kam die erste Schwierigkeit, die ich hatte:

Das Drehrad
"wi geth?" :(

Nach etwas Rumprobieren wurde dann klar, dass man das mit „Hoch/Runter“ steuert. Intuitiver wäre definitiv „Links/Rechts“ gewesen, da das näher an „gegen/im Uhrzeigersinn“ liegt und auch die beiden Hände mit AB nebeneinander und nicht übereinander sind (was auch immer die anzeigen sollen).

Weiter gehts ähnlich, das nächste Tor hat mich dann aber doch wieder aufgehalten:

Hier braucht man keine Schaufel.

Stattdessen muss man durch diese Lücke nach oben springen, was aber gar nicht so einfach ist. Der Clonk beschleunigt seltsam und klettert an dem Sand hoch, sobald er es berührt. Etwas Fummelei später kann man dann aber doch nach oben springen. Spätestens hier fällt positiv auf, dass man den Clonk auch noch in der Luft steuern kann. Somit kann man den Sprung perfekt senkrecht beginnen, dann aber trotzdem weiter nach oben klettern – das ist in CR nicht möglich.

Nicht runterfallen.

Beim Sprung zu Punkt drei muss man aufwendig herausfinden, wie man die Sprungvase am effektivsten einsetzt. Intuitiv hätte ich vermutet, dass man am sie am Besten im höchsten Punkt des normalen Sprungs einsetzt, damit man im Prinzip einen Doppelsprung hat (Scout mit FaN!). Leider hat das nicht so ganz gereicht und ich musste noch Mal hochlaufen (oder hätte meinen Clonk mit der „Neustart“-Regel umbringen können, um direkt zu Punkt 2 zu kommen, aber wer macht das schon :(). Tatsächlich muss man jedenfalls zeitgleich mit dem Sprung das Dings zünden (also eher wie beim Rocketjump, irgendwie).

"One, one, one, one - errr, one!"

Hier ist irgendwie die Reihenfolge kaputt – man kommt zuerst bei Punkt 5 vorbei, muss dann aber runter zu Punkt 4 springen, prima. Danach muss man aber wieder oben weiter, also ist der Punkt 4 nur da, um die armen Clonks auf Reise zu schicken? :(

In diesem Tal (oder ist es eine Höhle?) hat es aber auch ein paar nette Sachen. An einer Stelle muss der eine Spieler an einem Rad drehen, wodurch ein Pfeil herbeigezaubert wird, der dann knapp an einer Zielscheibe vorbeifliegt. Ganz klar, der muss ins Schwarze (hier übrigens rot) – gar nicht so einfach leider. Die Vase macht einige nette Partikel, die wohl den Windstoß darstellen sollen. Tatsächlich verhält sich das (zumindest scheinbar) wie in TF2: das Ganze ist rein visuell, der Stoß findet nur in genau dem Moment statt, in dem man klickt. Ohne dieses Wissen ist es meist schwer, Raketen gezielt zurückzustoßen, und Pfeile fliegen sowieso viel zu schnell…hier in Boomshire stirbt man aber wenigstens nicht, wenn man im falschen Moment schießt ;)

Auf dem rotorangenen Material unten kann man nicht laufen.

Weiter unten muss man dann Lava zum Ablaufen bringen, indem man Schießpulver (oder sowas in der Art) einen Schacht hinunter bläst. Die Textur der Lava ist aber meines Erachtens nach recht misslungen, sie erinnert mich eher an festes Material als an eine Flüssigkeit. Als Lava konnte ich es beim Fließen erkennen: die Fließpartikel haben dieselbe hellgelbe Farbe wie in CR, was nun wirklich nicht zur Textur passt.

Lauter Löcher in der Höhlenwand :(

Hier müssen sich die beiden Spieler trennen, wie durch die Höhlenwand unauffällig angedeutet wird (dies wurde bereits zuvor getan, siehe Punkt 3 (wie in TF2!1)).

Wozu die Einkerbungen in der Wand, wenn man dennoch hochklettern kann? O_o

Als nächstes kommt wieder ein Lavasee, der wieder mithilfe von Schießpulver, der durch einen Gang auf Reisen geschickt wird, abgeleitet wird. Zweimal dieselbe Sache kurz hintereinander – okay, es ist kein Rätselszenario sondern ein Rennen, da ist das vermutlich in Ordnung.

Hier kann man auch schön das neue Verhalten des FoW sehen.

Als nächstes kommt der Spieler unten zu einer großen Steilwand, der Spieler oben ist bereits am Punkt.

Hmm, für diese Hindernis braucht man wohl erweiterte Fähigkeiten.

Unsere Lösung war der im Comic recht ähnlich: der Spieler oben ist runtergesprungen, hat dem anderen nach oben geholfen und sich anschließend umgebracht, um wieder zu dem Punkt zu kommen. Was auch immer alternativ dort angedacht war, so ging es wohl einfacher.

Anschließend kommt man dann zum Flint-Airblasting! Aus einem Lavasee springen Flints nach oben, die man dann auf eine Goldader schießen muss, um weiterzukommen.

Clonks brennen gut, besonders meine. Die Flamme an den Leichen sieht allerdings irgendwie..kaputt aus.

Und danach, GOLD!

Wir sind reich! \o/

..moment, das ist gar nicht das Ziel. :(

Stattdessen, nunja.

Mist, eben war ich doch noch bei Punkt 14 :(

Lustig ist das Fliegen durchaus, aber sobald die Landschaft mit ins Spiel kommt, wird es schwierig. Nach da unten bin ich gekommen, nachdem ich den Gang zum Ziel verfehlt hatte. In anderen Spielen wäre an der Stelle das Flugzeug vermutlich explodiert, hier bleibt es einfach stecken. Der Rückwärtsgang führte dann zu einem senkrechten Fall in diese Höhle.

Meinem Mitspieler erging es übrigens nicht besser, er hatte allerdings schon etwas früher versagt:

Der Senkrechtstart bei Doppeldeckern konnte sich bedauerlicherweise nicht durchsetzen.

Fazit:
Es hat durchaus Spaß gemacht. Es gibt zwar noch einige Dinge zu bemängeln, aber alles in Allem ist es in Ordnung. Wobei ich ehrlich gesagt definitiv lieber TF2 gespielt hätte, aber naja! ;)

Kategorien
Download OpenClonk

OpenClonk: Back to the Rocks 1.0 released!

Der erste Meilenstein von OpenClonk, dem Nachfolger der Clonk Serien wurde heute released!

Download

Im wesentlichen wurde der Blogpost schon im ClonkForum veröffentlicht. Daher nur einige Infos: Hier Bugtracker, da Forum. Für Multiplayerscharmützel im Internet bitte die Ports 11111-11114 freischalten (nur für Hoster).

Clonkspot gratuliert dem ganzen OC Entwicklerteam zu dieser großartigen Leistung und wünscht weiterhin alles Gute! Das Herz eines Clonkers schlägt nämlich nicht nur Links, sondern 2D – ab jetzt sogar mit Zoom!

Kategorien
OpenClonk

OpenClonk: Gameplay-Videos

Heute gibt’s zwei OpenClonk Gameplay Videos.

Das erste handelt in einem Szenario, das ich gemacht habe. Das Ziel hier ist es die gegnerische Flagge zu mopsen und in die eigene Basis zu bringen. Die schnee-ige Karte enthält fast alle verfügbaren Waffen, anderen nützliches Kram und drei Ringmenü-Zaubersprüche.

Das zweite ist ein Video von Ringwaul, welches einige unserer Szenarien und Objekte zeigt.

Ich danke hier noch einmal Spell, der mir beim Erstellen und Verarbeiten der Videos behilflich war.

Spieler:

Team Snowbreakers (rechts): MimmoO & Spell

Team Icecrackers (links): Phoenix & Maikel

Originalpost von  MimmoO am 26. November 2010.

Kategorien
OpenClonk

OpenClonk: Szenarien im kommenden Release

Vor einiger Zeit schrob ich etwas über die neuen Features, die im OpenClonk Projekt vertreten sein werden. Doch wie stehts mit den aktuellen Spielinhalten? Was ist mit spielbaren Szenarien?

Außer den Tutorials (welche es Wert wären einen eigenen Blogpost zu bekommen) sind alle Szenarien in unserem ersten Meilenstein – OpenClonk – Back to the Rocks – für den Mutliplayer, Co-Op, in Teams oder Singleplayer Modus vorgesehen. Es folgt eine vollständige Liste der Szenarien, die im ersten Release enthalten sein werden:

Schauderberg
Klassisches Rennen hoch hinauf zum eingeschneitem Gipfel. Hauptsächlich müssen dafür Lehmbrücken und Dynamit benutzt werden. Es kann alleine, im Team oder alle gegen alle gespielt werden.

Die Hüter der Windräder
Ein kooperatives Geballer bei dem Himmelsinseln vor Wellen von bösen Raketen verteidigt werden müssen.

Kamikaze Cowboys
Ein aberwitziges Rennen bei dem ihr auf zusammengeschusterten Raketen durch die Kante heizt. Kann auch alleine gespielt werden.

Eisige Höhle
Cooles Rennen zur Spitze eines Abgrundes bei dem Kletterhaken, Leitern und anderes benutzt werden müssen. Kann sowohl allein, als auch im Team oder als Einzelkämpfer gespielt werden.

Borstenkamm-Gebirge
Ein flottes Rennen über mehrere enge Bergkämme.

Der Kessel
Ein kleines Arena-artiges Melee für mindestens zwei Spieler.

Im Brunnen
Eine gleichartige Arena am Grund eines ausgetrockneten Brunnens.

Bedeckt
Eine kleine Arena, hoch oben in den Wolken, die einige verschiedene Zauber enthält.

Bergkampf
Eine große Arena Karte.

König der Pyramide
KotH-artiges Szenario in dem alle Spieler gegen einen König kämpfen – und ebenso der König gegen alle anderen Spieler.

Boomshire
Ein kooperatives Rennen für zwei Spieler.

Versteck
Ein Capture-the-Flag (dt.: erobere die Flagge) Szenario für zwei Teams.

Ursprünglicher Artikel von Newton, Stand: 21. November 2010

Kategorien
OpenClonk

OpenClonk: Parallaxes Scrollen und Zoom

Clonk unterstützt parallaxe Objekte und Hintergründe schon eine Weile. Parallaxes Scrollen ist eine Methode, um einen 3D-Effekt allein mit 2D-Methoden zu imitieren, indem Objekte langsamer oder schneller bewegt werden wenn die imaginäre Kamera über die Landschaft bewegt wird. Dieser Ansatz funktioniert allgemein gut, aber bei geänderter Zoom-Stufe sahen seine Auswirkungen etwas ungünstig aus. Anstatt bei Zoom parallaxe Objekte und Hintergründe einfach genauso aussehen zu lassen wie die anderen Objekte, haben Clonk-Karl und ich ausgetüftelt wie sie sich verhalten würden, wären sie tatsächlich vor oder hinter der Landschaft. Die erste Frage, die es zu beantworten galt war, was verschiedene Zoom-Stufen in der virtuellen Welt darstellen: Ändert sich der Abstand zwischen Kamera und Landschaft, oder verstellt sich die Kameraoptik wie bei einem Zoom-Objektiv? Letztendlich kamen wir zu dem Schluss, dass wir beides benötigten: Das Zoom-Objektiv, damit jeder Spieler ungefähr das selbe Bild sieht, unabhängig von der Pixelzahl seines Monitors, und die Distanzänderung um Zoom darzustellen. Während Zoom im echten Leben ein Zoom-Objektiv nutzt, ist dies bei echten, unmodifizierten Menschen nicht der Fall, demnach müsste sich die Distanzänderung natürlicher anfühlen.

Danach war es ganz einfach, mit Hilfe eines Diagramms herzuleiten wie die Objekte dargestellt werden sollen. Man setze einen Punkt für die Kamera, eine Linie für die Landschaft und den Bildschirm (denn sie ist immer auf der selben Ebene wie der Bildschirm. Der Bildschirm sorgt dafür, dass Himmelsinseln nicht abstürzen), und noch eine Linie für das Objekt. Dann zeichne man Linien von den Ecken des Objektes zur Kamera. Das Objekt sollte dann dort angezeigt werden, wo diese Linien den Bildschirm schneiden. Allerdings brauchten wir mehrere Durchgänge dafür, dies in die Formeln zu fassen die in der Engine verwendet werden, weil wir noch nicht völlig verinnerlicht hatten was die gegebenen Werte bedeuten. So bezeichnet die Position eines Objektes nicht den Punkt, an dem sich das Objekt in der virtuellen Welt befindet, sondern wo es in der Landschaft angezeigt wird wenn sich die Kamera an Position 0/0 befindet und der Zoomfaktor 1 ist. Und die Kamera ist an dieser Position wenn die linke obere Ecke des Bildschirms dort ist. Das ist so, als ob nur das rechte untere Viertel der Kamerasicht angezeigt würde. Der Grund ist, dass die Parallax-Berechnungen dadurch recht nett rauskommen: Beim umsetzen von Landschafts- auf Bildschirm-Koordinaten, wird einfach die Position der oberen linken Bildschirm-Ecke mit dem Parallax-Faktor multipliziert, und von der Objektposition abgezogen. Unsere ersten Diagramme hatten aber noch die Kameraposition in der Mitte des Bildschirms, was etwas verwirrend war, da dadurch die Bildschirmgröße in den Formeln auftaucht. Wir wussten aber, dass dies im Engine-Code nicht der Fall war.

Schließlich gelangten wir zu Formeln, die wir für korrekt hielten, und bauten sie in die Engine ein. Das Ergebnis war größtenteils zufriedenstellend, besonders der Himmel verhielt sich nett. Aber manche Objekte bewegten sich auf dem Bildschirm umher, wenn man den Zoomfaktor änderte, während sie sich wie erwartet bewegten wenn man nur die Kamera umher bewegte. Ich entdeckte schließlich den Grund dafür, als ich folgendes Diagramm ein paar Tage später konstruierte:

Diagramm zur Parallaxe

Das Diagramm zeigt eine Seitenansicht von Kamera, Landschaft, und einem Objekt. Da die Formeln für X und Y unabhängig voneinander und identisch sind, wird hier nur eine Dimension dargestellt.

Die schwarzen Abstände sind gegeben, die roten sind die, die wir berechnen wollen. Die grünen sind Zwischenergebnisse. Die gestrichelten Linien sind die Sichtlinien zwischen Kamera und Objekt.

In der oberen linken Ecke des Diagrammes befindet sich die Kamera, die die internen Objekt-Positionen definiert: Die Position eines Objektes ist dort, wo diese Kamera das Objekt in der Landschaft sehen würde. Etwas weiter rechts ist eine Kamera an Position 0/0, aber mit einem anderen Zoomfaktor (genannt „Zoom“). Unsere erste Version verwechselte diese Kamera mit der erstgenannten. Für Objekte an Position 0/0 macht das keinen Unterschied, was auch erklärt warum der Himmel richtig funktionierte: Wir testeten nur in einem Szenario, in dem sich der Himmel nicht mit dem Wind mitbewegte.

Unterhalb der zweiten Kamera ist die dritte, die, für die die Berechnungen gemacht werden sollen. Sie hat einen Abstand „TargetX“ vom Ursprung, und einen Zoomfaktor „Zoom“, wie die zweite Kamera.

Rechts ist das Objekt, das dargestellt werden soll. Es ist hinter der Landschaft, aber glücklicherweise funktionieren die Formeln genauso gut für Objekte vor der Landschaft. Sein Abstand zur ersten Kamera auf der Z-Achse ist „1/Par“, wobei „Par“ der Parallax-Faktor ist. Folglich ist der Abstand zur Landschaft „1/Par-1“, weil die erste Kamera den Abstand „1“ zur Landschaft hat. Die Position in der virtuellen Welt auf der X-Achse ist „VX“.

Sobald ich dieses Diagramm hatte, war die Berechnung des Ergebnisses eine simple Anwendung des Strahlensatzes. Diejenigen, die am Ergebnis interessiert sind, können einen Blick auf die Funktion C4Object::GetDrawPosition() in der Engine werfen.

Ursprünglicher Artikel von Günther, Stand: 12. Oktober 2010

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
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
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.