Kategorien
OpenClonk

OpenClonk: Graben verbessert

Hey Leute,

Sven2 hat das Graben-System überarbeitet. Der Clonk ist jetzt im Untergrund viel agiler. Der Clonk hört jetzt nicht mehr auf zu graben, wenn er beispielsweise durch ein Hindernis, oder nichtgrabbares Material behindert wird – insofern die Maustaste weiterhin gedrückt bleibt. Wenn der Clonk tumbled, oder fällt wird er, sobald es möglich ist, sofort wieder weitergraben. Das entsprechende Topic im Forum kann hier eingesehen werden.

Eine andere wichtige Veränderung wäre, dass nun vom Hangeln und Klettern aus auch das Graben gestartet werden kann. In vielen Situationen ist das sehr vorteilhaft, zB.: wenn du festhängst und dich selbst nicht befreien kannst, kannst du nun dich selbst freigraben. Auch wenn du an einer dünnen Lehmbrücke hangelst, kannst du „nach oben“ ein Loch graben, um so hindurchzuklettern. Aber natürlich kannst du nicht wirklich eine Decke angraben, das wäre zu viel des Guten. Alles in allem ist das meiner Meinung nach ein sehr gutes Feature.

Der Masterserver läuft auch noch und arbeitet sehr gut. Ein sehr angesagtes Szenario, das übrigens Sven2s Lieblingsszenario im Moment ist (vielleicht weil er da das neue Graben-System so gut testen kann), ist „Die Höhle„. Es ist ein Rennen, von unten nach oben, aber die Landschaft ist nicht sehr breit. Es nutzt auch das neue Checkpoint-System für Rennen, welches den Szenario Entwicklern erlaubt noch komplexere Routen zu gestalten, oder auch die Spieler dazu zu zwingen nicht immer den direkten Weg zu nehmen.

Auch haben wir für euch heute eine Screenshot-Galerie, die das Szenario „Die Höhle“ zeigt. Hier könnt ihr sehen, wie das neue Graben-System aussieht – und wenn ihr OC noch nicht gespielt habt, wie es momentan Ingame aussieht.

Ursprünglicher Post von MimmoO am 10. Februar 2010

Kategorien
Entwickeln

Nützliche Tools für das Entwickeln

Vorweg sei gesagt, dass die Doku das wohl Beste Hilfsmittel ist. Lasst euch nicht vom Umfang abschrecken, es ist eben einfach alles enthalten. Die Menüführung ist intuitiv und man steigt schnell durch und findet so auch sehr schnell was man gerne möchte. Nun aber zu den eigentlich Tools:

c4scripter

Das ist wohl das nützlichste Tool von allen. Im Prinzip ist es ein Scripteditor für Clonkscripte, mit Syntaxhighighting und hilfreichen Tooltipps zu den Funktionen. Vor allem große Scripte profitieren durch die verschiedenen Farben für die Bereiche, die Übersichtlichkeit steigt enorm. Wer mit dem Clonk Editor arbeitet, kann seine Programme ganz leicht für die Clonk Dateien konfigurieren. Ich empfehle jeden Entwickler dringend sich diese Optionen anzuschauen und zu entscheiden, ob er nicht doch ein anderes Programm verwenden möchte, als der eingestellte Standard.

c4scripter herunterladen


Mape

Kennt ihr das, ihr erstellt dynamische Landschaften und müsst immer mühselig die Engine starten, um die Zwischenergebnisse zu kontrollieren? Nicht mehr mit Mape! Ebenfalls aus der ck Schmiede entstammend zeigt es einen Preview der generierten Landschaft an. Nach jeden eingetippten Buchstaben aktualisiert sich das entsprechende Previewfenster. Für Anfänger, die vielleicht noch nicht genau wissen was nun ihr eingegebener Befehl macht wird dieses Tool äußerst hilfreich sein.

Mape herunterladen


Vertex Manager

Vertices sind die Kollisionspunkte, die ein Objekt mit der Landschaft hat, worauf es quasi stehen kann. Ergo eine sehr wichtige Sache. Allerdings könnten manche Probleme haben anhand des Offsets auch die korrekten Werte festzustellen. Ich kann mich erinnern das zu ClonkPlanet Zeiten so gemacht zu haben: Punkte geschätzt eintragen, Engine starten, Punkte ändern, speichern, aktualisieren lassen und checken ob es jetzt sitzt. Dieser Quark fällt jetzt weg, in einer GUI können die Punkte einfach in die geladene Grafik gezogen werden und die entsprechenden Einträge für die DefCore werden automagisch generiert. Auch andere Sachen wie TopFace und Entrance können so bestimmt werden. Einziges Manko: Mehre Bilder in einer Graphics gehen nicht, da sonst die relativen Koordinaten durcheinander kommen. So muss zB für die Vertexbestimmung eines Gebäudes die Türaction erst einmal entfernt werden und die reine Gebäudegrafik in das Programm geladen werden. (Oder man zieht das entsprechende Fenster in VM sich für die Grafik zurecht, läuft aber Gefahr mal ein paar Pixel daneben zu liegen.) Aber trotzdem lohnt sich dieser Vergleichsweise geringe Aufwand.

Vertex Manager herunterladen


C4Tee – der C4TextEditor

Dieses Programm deckt noch den Bereich für das Editieren von Textdateien ab. Mit vorgefertigten Feldern können so schneller ActMaps und DefCores geschrieben werden, ohne alle entsprechenden Parameter auswendig kennen zu müssen. Ich selbst benutze es nicht, mangels der Bereitschaft mir Python zu installieren, aber ich kenne dero Programme schon aus früheren Zeiten. Einige müssten irgendwo auf dem CCAN auch noch vorhanden sein. Jedenfalls helfen solche Programme auch die Textdateien korrekt und schneller anzulegen, deshalb sollte es hier nicht fehlen.

C4Tee herunterladen

Es gibt sicherlich noch mehr nützliche Programme. Wenn ihr noch welche habt, postet diese doch einfach hier in den Kommentaren, viele User würden sich darüber freuen. :)

Kategorien
OpenClonk

OpenClonk: Website Erweiterungen

Die OpenClonk Website ist in letzter Zeit zusehens gewachsen. Seit das Spiel einen… na sagen wir „spielbaren“ Status erreicht hat, glauben wir, dass es an der Zeit ist den Entwicklern und den Leuten, die das Spiel einfach nur einmal anhand der neuesten Revision ausprobieren wollen, einfacher zu machen. Und das ganz ohne durch das ganze Selbst-Kompilierungs-Wirrwarr zu müssen.

Nightly builds

Über Builds kommt ihr zur entsprechenden Hauptseite. Jede Woche erscheint da automatisch ein neuer Entwicklungs-Schnappschuss (ein Paket von OpenClonk, das ohne Installation läuft). Nebenbei wird jede Nacht eine neue Engine kompiliert und hochgeladen. Das nennt man dann nightly build. Der Blumentopf für dieses fabulöse System geht an Clonk-Karl, der uns vor kurzem ja schon erklärt hat, wie man sich das ganze selbst kompiliert (unter Linux, für Windows).

Masterserver

Auch hat B_E den Masterserver für OpenClonk fertiggestellt, der alle Spiele die zur Zeit geöffnet sind anzeigt. Das bedeutet, dass ihr OpenClonk direkt über das Internet, ohne DirektIP, sondern wie gewohnt über die Liste, mit anderen testen könnt (es funktioniert!).

Hinweis

Ich habe die Dokumentation für Entwickler aktualisiert und hochgeladen. Das sollte allen Entwicklern eine Hilfestellung sein, um zünftig für den aktuellen Clonk Titel (ja, das ist OpenClonk) zu entwickeln. Luchs ist auch gerade am Überarbeiten der einzelnen Seiten. Ich hoffe ich kann euch auch darüber berichten. Die Seiten sind teilweise noch sehr veraltet und auch noch nicht ins Englische übersetzt, aber ich hoffe dass sich das bald ändert. Bitte zögert nicht uns alle Errors, fehlerhafte Sachen, oder Fehler in der Übersetzung, entweder im Bugtracker, oder im Forum zu berichten.

Ursprünglicher Post von Newton am 09. Februar 2010

Kategorien
OpenClonk

OpenClonk: Cross-Kompilieren der Engine

Falls ihr die OpenClonk Engine in Linux kompilieren wollt, hier wäre die Anleitung dazu:

Zuerst müsst ihr den mingw32 cross compiler für eure Distribution installieren. In Debian heißt das Paket mingw32. Dann müsst ihr die erforderlichen Abhängigkeiten fetchen. libpng, jpg, zlib, freetype und openssl könnt ihr euch auf gnuwin32 runterladen. Fetcht die Entwicklerpakete und entpackt alle nach deps, bzw. in ein Unterverzeichnis. Die glew binaries findet ihr auf dieser homepage. Ich verschiebe diese in ein seperates glew/ Verzeichnis, aber es ist genauso gut, alle Dateien zusammen mit den anderen nach deps/ zu verschieben. fmod gibt es dann hier. Ich entpacke die Dateien nochmals in ein seperates fmod/ Verzeichnis.

Nun kommt der knifflige Teil: Die d3dx library. MinGW hat eine library-Datei dafür, diese wird libd3dx9d.a genannt, aber hier sind keine Header-Files vorhanden. Wie auch immer,  Wine hat diese Dateien (in /usr/include/wine/windows/d3dx9*.h auf meinem System). Also kopiert nun alle nach d3dx9/include/ (oder deps/include/ FWIW). Allerdings beinhalten die Wine Header Dateien nicht alle die von Clonk benutzen Symbole, also müssen noch die fehlenden eingetragen werden. Ich habe dafür einen Patch geschrieben. Aber da gibt es noch ein anderes Problem: MinGW’s libd3dx9d.a exportiert nicht das Symbol D3DXCompileShader. Ich benutze stattdessen d3dx9.lib vom offiziellen DirectX SDK und kopiere diesen nach d3dx9/lib/. Wenn du dieses nicht besitzt, ist es zielich lästig an diese Datei heranzukommen: Du musst einen 100MB Multiinstaller für nur diese eine Library-Datei herunterladen. Ich glaube ja, dass es durchaus möglich ist eine funktionierende libd3dx9.a herzustellen, in dem man die .def File von Wine benutzt, aber das habe ich nicht ausprobiert.

Okay, wenn wir das alles erledigt haben, dann haben wir alle Abhängigkeiten erfüllt. Was wir nun noch brauchen: Eine sogenannte toolchain-Datei für cmake, um ihn mitzuteilen, dass wir nicht die Zielplatform anvisieren, die wir jetzt gerade zusammenbauen. Für dieses Vorhaben, erzeugen wir eine neue Datei names toolchain-mingw32.cmake (oder anders, das ist nicht wichtig) und fügen folgenden Inhalt hinzu:

# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)

# which compilers to use for C and C++
SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc)
SET(CMAKE_CXX_COMPILER i586-mingw32msvc-g++)
SET(CMAKE_RC_COMPILER i586-mingw32msvc-windres)

# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc /home/ck/deps /home/ck/glew/glew-1.5.2 /home/ck/d3dx9 /home/ck/fmod/fmodapi375win/api)

# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

Wichtig: Ihr müsst die Pfade hinzufügen, die für die jeweiligen Abhängigkeiten erforderlich sind. Eines gibt es nun noch zu tun, wenn ihr verschiedene Verzeichnisse für glew, fmod und d3dx9 benutzt habt: Ihr müsst Symlinks zu den deps hinzufügen:

ln -s glew/glew-1.5.2/include/GL deps/include/GL
ln -s fmod/fmodapi375win/api/inc/*.h deps/include
ln -s d3dx9/include/*.h deps/include

Ich glaube, das ist nur nötig, da das OpenClonk CMake Script die Pfade für diese libraries von Compiler-Flags nicht beinhaltet.  Zuletzt, führt noch 

cmake -DCMAKE_TOOLCHAIN_FILE=~/toolchain-mingw32.cmake -DCMAKE_INSTALL_PREFIX=~/mingw-install
make

aus und schaut in Ruhe zu, wie der Code kompiliert wird.

Ursprünglicher Post von Clonk-Karl am 03. Februar 2010

Kategorien
OpenClonk

OpenClonk: Hallo Welt

Wir wollen auch nicht OpenClonk vergessen, daher werden alle dortigen Blogeinträge möglichst zeitnah hier in Deutsch erscheinen – mit freundlicher Genehmigung von ck :)

Natürlich haben wir erst einmal einiges aufzuholen und einige werden sich die Artikel schon selbst übersetzt haben, aber der Vollständigkeit halber werden wir die bisherigen mit übersetzen. Neue Blogposts versuchen wir dann zeitnah für euch zu übersetzen. Nun aber zum eigentlichen Hallo-Welt Post.


Wir, das OpenClonk Team werden nun in Zukunft die Entwicklung an Clonk fortsetzen, da matthes dafür keine Zeit mehr haben wird. Nun, seit einem 3/4 Jahr haben in der Clonk Engine sehr viele Änderungen stattgefunden und die Inhalte haben sich weiterentwickelt. Da ohnehin alle Grafiken für das Zoom-Feature neu gemacht werden müssen, nutzen wir gleich die Gelegenheit und werden den gesamten Kern des Spieles überarbeiten. Auch werden wir das Gameplay ändern, sodass sich OC nicht einfach an die bestehenden Clonk-Titel anhängt, sondern doch etwas anders wird. Die grundlegenden Elemente, wie kleine humanoide Männchen in hektischen Szenarien zu steuern, werden natürlich erhalten bleiben. Für weitere Infos schaut ihr euch am Besten im Wiki und im Forum (beides auf Englisch) um, wo übrigens auch neben #openclonk im irc.euirc.net die meisten Diskussionen stattfinden.

Als technische Anmerkung – und damit ihr seht, woran wir gerade arbeiten – hier ein paar Bilder um zu zeigen, was das Renormalisieren der Vektoren alles bewirken kann:


Der übliche Haftungsauschluss gilt auch für unsere Screenshots, denn die Software – und alles daran ist noch sehr stark in der Entwicklung. Weder die Clonks, noch die verpixelte Landschaft kann man als fertig bezeichnen.

Ursprünglicher Post von Clonk-Karl am 26. Januar 2010

Kategorien
CCF

CCF: Vote(-Votes)

Was sind denn überhaupt diese Vote-Votes? Kurzum erklärt: User können die Projektvotes anderer User bewerten und so be- oder entkräftigen. Gut, dafür einen Blog Eintrag? Nein. Das Thema bringt noch mehr mit sich. Die Vote-Votes sind teilweise ein sehr nützliches Feature, da sie ungerechtfertigte Votes entkräftigen können, damit das Projektniveau nicht darunter leiden muss. 

Allerdings: Viele bevoten nach Ihrer Meinung, nicht nach den Aspekten des Vote-Inhaltes. Ein kleines Beispiel:


Der Durchschnittsvote

Hansi votet: Find ich prima, gefällt mir! :)   – daran ist nichts auszusetzen. Er sagt zwar nicht, was ihm gefällt und warum, aber ihn gefällt es eben. Abhängig zum Projekt wäre es nun sinnvoll das zu bevoten. Wenn das Projekt das absolut schlechteste Niveau hat wo gibt, dann wird man diesen Vote natürlich auch einen Minusvote verpassen. Ob das gut ist oder nicht, möge jeder für sich selbst entscheiden. Nicht jeder Vote muss auch bevotet werden, wer sich enthält tut manchmal auch gut daran.


Vote of Doom 

Hansi votet: Bäh, das sieht so derbst #+@“!  aus, ich hasse dich. Du machst nur Müll.  – Der Projektautor kann jetzt damit nichts anfangen. Im Besten Fall ignoriert er das, die User entkräftigen diesen Vote und gut. Im schlechtesten Fall nimmt der Projektautor sich das so zu Herzen, das er selbst schon am Projekt zweifelt und die Motivation verliert – am Projekt und an sich selbst. Er weiß ja nicht mal was er falsch gemacht hat, er kann absolut nichts am Projekt verbessern. Es kann durchaus sein, das auch andere User Minus voten (z.B.: wenn das Projekt wirklich schlecht ist), die drücken sich aber vielleicht besser aus und der Projektautor weiß warum er diese Votes bekommt. Anhand der Vote-Votes sieht der Autor dann auch meistens, ob es okay ist oder nicht. Haha, denkste. Denn wenn jemand Minus gevotet hat, unterstützt er auch meist alle anderen Minusvotes, fern von jeder Logik und Inhalt der Votes.

Ich rate dringend davon ab, es bringt keinen was. Dank Admin Tools ist es dem CCF Team zwar möglich alle Votes den Usern zuzuordnen, aber dagegen etwas unternehmen – das ist kaum Möglich, man müsste eine Menge Zeit investieren um solche User herauszufischen. Bei begründeten Anklagen schauen wir natürlich mal tiefer in das System. Die Tabelle im heutigen Blogbild wäre übrigens eine Vote-Votes übersicht, bei der unter anderem Vote-Vote User, bevoteter User und anderes sichtbar ist. Keiner bleibt unentdeckt ;)   (bei wirklich begründeter Wiederholung und Verstößen kann sogar ein Bann erfolgen…überlegts euch)


Konstruktiv Vote 

Hansi votet: Okay, das sieht erstmal a) gut / b) schlecht aus, weil ich finde das a) … / b) …

Ich denke ihr wisst worauf ich hinaus will: Ob die Meinung vom Projekt gut, oder schlecht ist. Wenn es konstruktiv begründet ist, kann jeder Vote etwas zur Verbesserung des Projektes beitragen. Über omg ist das toll! + Vote!verliere ich aber besser keine weiteren Worte… ;)