# Windmill

**URL:** https://forum.clonkspot.org/t/windmill/777
**Category:** Miniblogs
**Created:** [1. Januar 2015 um 20:02 UTC](https://forum.clonkspot.org/t/windmill/777 "2015-01-01T20:02:30Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![ClonkGeist](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/c/3be4f8/32.png) [@ClonkGeist](https://forum.clonkspot.org/u/ClonkGeist)
#### Post date: [1. Januar 2015 um 20:02 UTC](https://forum.clonkspot.org/t/windmill/777/1 "2015-01-01T20:02:30Z")

</div>

Wie auf unserer [Projektseite auf dem CCF]([http://www.clonkforge.net/pr.php?pr=1538](http://www.clonkforge.net/pr.php?pr=1538)) schon zu sehen ist, wollen wir auch einen weiteren Schritt in Richtung OpenClonk wagen und die Aktivität stärken. Windmill soll in erster Linie ein Client werden, der Schwierigkeiten bei der Content-Entwicklung mit OpenClonk ausmerzen soll und eine Anregung zur Erstellung neuer Projekte in OpenClonk sein soll.   
Zuerst möchte ich jedoch noch ansprechen, warum wir neben dem Clonkforge auch die Miniblogsektion von Clonkspot benutzen. Und zwar wollen wir hier etwas weiter ins Detail gehen, alles genauer erläutern und auch zukünftige Pläne und Hoffnungen erwähnen, die eventuell auch verworfen werden. Dieser Thread kann auch nützlich für Meinungsumfragen und allgemeiner Meinungsäußerung sein, besonders dank der Baumstruktur. Das wars hierzu, weiter zum eigentlichen Thema.   
   
**Windmill** ist ein auf [XUL]([http://de.wikipedia.org/wiki/XML\_User\_Interface\_Language](http://de.wikipedia.org/wiki/XML_User_Interface_Language)) basierter Client der über Mozillas Gecko Engine läuft. Die Technik mag bei Weitem nicht mehr die modernste zu sein und ist mit Sicherheit allgemein nicht die beste Wahl um ein solches Programm zu schreiben, aber da unsere Kenntnisse sich hauptsächlich auf Sprachen zur Webentwicklung beschränken (HTML, Javascript, …) war es die einzig gute Möglichkeit, die uns bekannt war. (Wir hatten vorher schon mit Adobe AIR rumprobiert, wo wir jedoch sehr schnell an Grenzen gestoßen sind. Zudem gab es massive Performanceprobleme) Obwohl der Client auf XUL basiert, besteht der Client zu einem großen Teil auch aus HTML5-Frames.   
   
Die Idee hinter Windmill war es, eine Entwicklungsumgebung auf die Beine zu stellen, die sich tatsächlich an die Entwicklung mit OpenClonk orientiert, da diesem einfache Möglichkeiten des alten Clonk Editors fehlen. Hierzu sind schon allerlei Ideen aufgekommen, die jedoch zum großen Teil nur Gedankenspielereien sind. Die Verwirklichung dieser ist nicht garantiert. Neben dem schon vorhandenen Scripteditor, wollen wir – nach Möglichkeit – die folgenden Features einbauen:   
\* Bilder bemessen. Dieses Tool soll die Arbeit mit Sprites deutlich vereinfachen. Es können Raster schnell eingeteilt werden, die direkt in die jeweils passende Information umgearbeitet werden können, um ActMaps, Partikel und vergleichbares einfacher aufstellen zu können. Außerdem können Rechteck-Informationen und weiteres direkt Abgegriffen werden. Für weitere Bildbearbeitung können die Bilder mit nur einem weiteren Klick oder per Shortcut direkt im gewohnten Bildbearbeitungsprogramm geöffnet werden.&nbsp;   
\* Zusätzlich zum Bilder bemessen, wird ein allgemeines Tool für Grafikabhängige Objekt-Properties gestellt. Nach dem Setzen des Offsets auf die Objektgrafik, können so bspw. Vertices direkt auf der Objektgrafik bestimmt werden, was einem viele Rechnereien erspart.   
\* Ein FolderMap-Ersteller.&nbsp;   
\* Ein integrierter Meshviewer   
\* Ein Bearbeitungsprogramm für BMP-Dateien um Landschaften nachbearbeiten zu können, ohne dass die Materialien am Ende falsch sind.   
\* Ein RTF-Editor, um nicht unbedingt jedes Mal ein externes Programm zur Bearbeitung zu öffnen. Dieser brauch nicht besonders viele Funktionen besitzen, da diese sowieso kaum benutzt werden.   
   
Für den Spielmodus sind neben der Spieleübersicht und dem Hosten von Spielen auch weitere Ideen geplant:   
\* Ein Benachrichtigungssystem, dass nach eingestellten Mustern sucht und den Benutzer über geöffnete Spiele informiert und eine Quick-Join-Funktion zur Verfügung stellt. Hierbei soll es möglich sein, Windmill auch in einen Performanceschonenden Zustand zu fahren, um Ressourcensparend den Masterserver zu durchforsten.   
\* Ein direkt vorhandener Downloadclient, mit dem es möglich sein soll, Clonkinhalte direkt herunterzuladen. Eine Kooperation mit B\_E’s Lorry wäre von unserer Seite aus natürlich gerne gesehen. Da Windmill bereits auf XUL/HTML basiert, und somit über eine Web-/Downloadschnittstelle verfügt, bestehen scheinbar kaum wirkliche Probleme bei einer Umsetzung.   
\* Sollte Windmill soweit sein, dass es auch von Clonk-Neulingen benutzt wird, wäre auch eine direkte Umsetzung&nbsp; eines IRC-Clients denkbar und sicher auch nicht falsch. Ansonsten wäre das vermutlich eher nutzlos.   
\* Anzeigen von FolderMaps für das HostGame-Modul, da diese ein nettes Feature sind und gerne auch in Windmill weiterhin vorhanden sein sollen. Im ersten Release wird dies wahrscheinlich nicht vorhanden sein.   
   
Windmill soll zudem, wenn alles wie geplant verläuft, auch für Linux verfügbar sein.   
   
Leider wird Windmill auch ein paar Nachteile haben, wie beispielsweise dass gepackte Verzeichnisse nicht eingelesen werden können. Die Umsetzung erwies sich mit den gegebenen Mitteln einerseits als schwierig, andererseits als durchaus Ressourcenaufwendig. Daher haben wir uns dafür entschieden, dass das Clonkverzeichnis zur Bearbeitung durchgehend komplett entpackt sein muss, was – wenn nicht anders eingestellt – bei Start des Programms automatisch geschieht.   
   
Wir sind natürlich gerne für Fragen, Kritik, Meinungen, Anregungen und Diskussionen offen und versuchen darauf so gut wie es möglich ist einzugehen.

---

<div class="post-metadata">

### Author: ![Marky](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/m/82dd89/32.png) [@Marky](https://forum.clonkspot.org/u/Marky)
#### Post date: [1. Januar 2015 um 20:35 UTC](https://forum.clonkspot.org/t/windmill/777/2 "2015-01-01T20:35:24Z")

</div>

Wie sieht es mit einem Syntax-Check für die Scripts aus? Diese Funktion finde ich beim Eclipse-Plugin nämlich sehr sehr nützlich!

---

<div class="post-metadata">

### Author: ![ClonkGeist](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/c/3be4f8/32.png) [@ClonkGeist](https://forum.clonkspot.org/u/ClonkGeist)
#### Post date: [1. Januar 2015 um 20:42 UTC](https://forum.clonkspot.org/t/windmill/777/3 "2015-01-01T20:42:21Z")

</div>

Ist mitunter auch geplant. Der [Ace-Editor](http://ace.c9.io/#nav=about) verfügt wohl über so eine Funktion, da müssten wir uns nur entsprechend weiter reinarbeiten.

---

<div class="post-metadata">

### Author: ![Jan](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/j/ce7236/32.png) [@Jan](https://forum.clonkspot.org/u/Jan)
#### Post date: [1. Januar 2015 um 21:38 UTC](https://forum.clonkspot.org/t/windmill/777/4 "2015-01-01T21:38:21Z")

</div>

Hört sich interessant an und die Screenshots sehen schonmal gut aus.

> \>Leider wird Windmill auch ein paar Nachteile haben, wie beispielsweise dass gepackte Verzeichnisse nicht eingelesen werden können. Die Umsetzung erwies sich mit den gegebenen Mitteln einerseits als schwierig, andererseits als durchaus Ressourcenaufwendig. Daher haben wir uns dafür entschieden, dass das Clonkverzeichnis zur Bearbeitung durchgehend komplett entpackt sein muss, was – wenn nicht anders eingestellt – bei Start des Programms automatisch geschieht.

  
Wo ist denn das Problem? Zumindest das Lesen sollte doch relativ schnell gehen?

---

<div class="post-metadata">

### Author: ![ClonkGeist](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/c/3be4f8/32.png) [@ClonkGeist](https://forum.clonkspot.org/u/ClonkGeist)
#### Post date: [2. Januar 2015 um 00:17 UTC](https://forum.clonkspot.org/t/windmill/777/5 "2015-01-02T00:17:27Z")

</div>

Hängt insbesondere mit den Begrenzungen zusammen, die XPCOM mit sich bringt: Wir können nicht c4group -v benutzen, da die Ausgabe nicht erfasst wird, weshalb wir entweder was eigenes zum Auslesen der Groupdateien brauchen oder wir müssten den Inhalt temporär entpacken, was wahrscheinlich sowieso passieren müsste um eine Preview anzeigen zu können. (Beispielsweise zum Hosten der Spiele) Ersteres lässt sich leider nur schwer umsetzen, zumindest hat von uns sich keiner damit auseinandergesetzt, wie die Groupdateien aufgebaut sind. Ob wir die Zeit und Lust dazu finden werden, zweifle ich auch an. Und dann wäre noch die Performancefrage da, da das Verarbeiten der Informationen über einer Javascript-Engine laufen würde.  
  
Solange sich dafür keine Lösung findet, werden wir vermutlich bei der Alternativlösung bleiben.

---

<div class="post-metadata">

### Author: ![Jan](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/j/ce7236/32.png) [@Jan](https://forum.clonkspot.org/u/Jan)
#### Post date: [2. Januar 2015 um 00:30 UTC](https://forum.clonkspot.org/t/windmill/777/6 "2015-01-02T00:30:56Z")

</div>

C4Group-Dateien lassen sich eigentlich ganz einfach selbst entpacken. Hab mich vor einer Weile mal damit beschäftigt und die Dateistruktur ins Wiki eingetragen: [http://wiki.nosebud.de/wiki/C4Group](http://wiki.nosebud.de/wiki/C4Group). Das größte Problem beim Lesen dürften die veränderten Magic Bytes sein (C4Group-Dateien sind eigentlich Gzip-Archive). In C# z. B. habe ich dazu einen GZipStream benutzt, der als Eingabestream einen Stream bekommt, der die Magic Bytes des tatsächlichen Eingabestreams ersetzt. Der Rest sollte dann eigentlich kein Problem mehr sein.

---

<div class="post-metadata">

### Author: ![Nachtfalter](https://forum.clonkspot.org/user_avatar/forum.clonkspot.org/nachtfalter/32/3_2.png) [@Nachtfalter](https://forum.clonkspot.org/u/Nachtfalter)
#### Post date: [2. Januar 2015 um 01:34 UTC](https://forum.clonkspot.org/t/windmill/777/7 "2015-01-02T01:34:52Z")

</div>

Klingt gut, macht mal!

---

<div class="post-metadata">

### Author: ![Kanibal](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/k/b487fb/32.png) [@Kanibal](https://forum.clonkspot.org/u/Kanibal)
#### Post date: [2. Januar 2015 um 01:51 UTC](https://forum.clonkspot.org/t/windmill/777/8 "2015-01-02T01:51:35Z")

</div>

github link plz? 🙂

---

<div class="post-metadata">

### Author: ![B\_E](https://forum.clonkspot.org/user_avatar/forum.clonkspot.org/b_e/32/29_2.png) [@B\_E](https://forum.clonkspot.org/u/B_E)
#### Post date: [2. Januar 2015 um 11:10 UTC](https://forum.clonkspot.org/t/windmill/777/9 "2015-01-02T11:10:20Z")

</div>

Hey, coole Sache. Über die Lorry-API gibt es bald ein paar Infos, aber im Prinzip könnt ihr damit alle Daten von Erweiterungen und Releases auslesen, die es auch auf der Seite gibt und die Downloadlinks abfragen. Der Download wird auch standardisiert, damit man immer entweder direkt eine c4\*/oc\*, oder eine Zip mit vorgegebener Struktur, damit ihr das programmatisch entpacken könnt, und eventuell generiert Lorry später auch c4u/ocus. Ich freue mich aber vor allem auf ein neues Spielerfrontend.  
  
Außerdem sehr cooler Name 🆒

---

<div class="post-metadata">

### Author: ![Maikel](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/m/c67d28/32.png) [@Maikel](https://forum.clonkspot.org/u/Maikel)
#### Post date: [2. Januar 2015 um 16:41 UTC](https://forum.clonkspot.org/t/windmill/777/10 "2015-01-02T16:41:43Z")

</div>

Eine Sache die mir im Eclipse immer fehlt ist das auswählen der Spieler vor dem Start der Editor-Mode. Wäre schön wenn sowas endlich mal gebaut wird. Was ich aber bei Eclipse wieder sehr nett finde ist das ich jetzt zwei Script Editors neben einander aufmachen kann. Dieses Projekt sieht aber vielversprechend aus!

---

<div class="post-metadata">

### Author: ![ClonkGeist](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/c/3be4f8/32.png) [@ClonkGeist](https://forum.clonkspot.org/u/ClonkGeist)
#### Post date: [2. Januar 2015 um 17:10 UTC](https://forum.clonkspot.org/t/windmill/777/11 "2015-01-02T17:10:23Z")

</div>

Ich habe mich bisher nicht großartig damit befasst, ich kanns mir ja nochmal genauer anschauen - allerdings bin ich mir auch nicht ganz sicher, ob das alles so gut oder einfach funktionieren würde.  
Du hast gemeint dass es nur einfach wäre, Dateien zu lesen? Wie soll das dann mit der Speicherung funktionieren, wäre das sehr viel aufwändiger? Ohne Schreiben macht das ja glaub ich nicht viel Sinn für einen Editor.

---

<div class="post-metadata">

### Author: ![ClonkGeist](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/c/3be4f8/32.png) [@ClonkGeist](https://forum.clonkspot.org/u/ClonkGeist)
#### Post date: [2. Januar 2015 um 17:13 UTC](https://forum.clonkspot.org/t/windmill/777/12 "2015-01-02T17:13:22Z")

</div>

Die Spielerauswahl ist aktuell in Arbeit und schon weitgehend fertig. (fehlt nur Design und die Möglichkeit Spieler zu ändern/erstellen) Sieht man zum Beispiel in den Screenshots oben rechts.  
  
Zu der Sache mit den Scripteditors nebeneinander: Wie meinst du das denn genau? Ich denke, da lässt sich sicherlich was vergleichbares einbauen.

---

<div class="post-metadata">

### Author: ![Luchs](https://forum.clonkspot.org/user_avatar/forum.clonkspot.org/luchs/32/9_2.png) [@Luchs](https://forum.clonkspot.org/u/Luchs)
#### Post date: [2. Januar 2015 um 18:22 UTC](https://forum.clonkspot.org/t/windmill/777/13 "2015-01-02T18:22:58Z")

</div>

> \>Zu der Sache mit den Scripteditors nebeneinander: Wie meinst du das denn genau? Ich denke, da lässt sich sicherlich was vergleichbares einbauen.

  
[So in etwa?](https://i.imgur.com/sdNBV4Y.png) Oder eben vertikal gesplittet. Zur Inspiration, wie das mit Tabs funktionieren kann, vielleicht mal Notepad++ oder Sublime Text angucken.

---

<div class="post-metadata">

### Author: ![Luchs](https://forum.clonkspot.org/user_avatar/forum.clonkspot.org/luchs/32/9_2.png) [@Luchs](https://forum.clonkspot.org/u/Luchs)
#### Post date: [2. Januar 2015 um 18:30 UTC](https://forum.clonkspot.org/t/windmill/777/14 "2015-01-02T18:30:37Z")

</div>

> \>Wie soll das dann mit der Speicherung funktionieren, wäre das sehr viel aufwändiger?

  
Das Problem beim Speichern ist, dass man zuerst die komplette Datei entpackt haben muss, um sie mit den Änderungen wieder neu zu packen. Das bedeutet, dass man entweder die Datei jedes mal beim Speichern komplett neu einlesen muss, oder sie die ganze Zeit im Speicher behält. Beide Optionen skalieren nicht besonders gut mit der Dateigröße.  
  

> \>Ohne Schreiben macht das ja glaub ich nicht viel Sinn für einen Editor.

  
Doch, ich fände reinen Lesezugriff schon sehr hilfreich. Das Arbeiten auf gepackten Dateien funktioniert ja auch schon im Editor mehr schlecht als recht. Ich verwende den im Allgemeinen nur, um mal schnell Objektscripts oder DefCore-Einträge in fremden Objektpaketen nachzugucken.

---

<div class="post-metadata">

### Author: ![Maikel](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/m/c67d28/32.png) [@Maikel](https://forum.clonkspot.org/u/Maikel)
#### Post date: [2. Januar 2015 um 20:08 UTC](https://forum.clonkspot.org/t/windmill/777/15 "2015-01-02T20:08:27Z")

</div>

Ja genau so, für mich dann vertikal gesplittet weil ich auf 3440x1440 arbeite.

---

<div class="post-metadata">

### Author: ![Luchs](https://forum.clonkspot.org/user_avatar/forum.clonkspot.org/luchs/32/9_2.png) [@Luchs](https://forum.clonkspot.org/u/Luchs)
#### Post date: [2. Januar 2015 um 22:32 UTC](https://forum.clonkspot.org/t/windmill/777/16 "2015-01-02T22:32:33Z")

</div>

Auf einem riesigen Display oder mit besonders hoher Pixeldichte?

---

<div class="post-metadata">

### Author: ![Sven2](https://forum.clonkspot.org/user_avatar/forum.clonkspot.org/sven2/32/42_2.png) [@Sven2](https://forum.clonkspot.org/u/Sven2)
#### Post date: [3. Januar 2015 um 00:58 UTC](https://forum.clonkspot.org/t/windmill/777/17 "2015-01-03T00:58:56Z")

</div>

[(1)](http://en.wikipedia.org/wiki/Mexico_City_Arena#mediaviewer/File:Interior_Arena_Ciudad_de_Mexico.JPG%5b1%5d)

---

<div class="post-metadata">

### Author: ![Maikel](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/m/c67d28/32.png) [@Maikel](https://forum.clonkspot.org/u/Maikel)
#### Post date: [3. Januar 2015 um 08:21 UTC](https://forum.clonkspot.org/t/windmill/777/18 "2015-01-03T08:21:30Z")

</div>

Beides wahrscheinlich, aber eher riesiges [Bildschirm](http://www.lg.com/de/monitore/lg-34UM95). Und ja der Arena in Mexiko ist auch meins 🎂

---

<div class="post-metadata">

### Author: ![Luchs](https://forum.clonkspot.org/user_avatar/forum.clonkspot.org/luchs/32/9_2.png) [@Luchs](https://forum.clonkspot.org/u/Luchs)
#### Post date: [3. Januar 2015 um 08:39 UTC](https://forum.clonkspot.org/t/windmill/777/19 "2015-01-03T08:39:12Z")

</div>

Okay, Wow. 🙂  
  
Ich hab seit Jahren mit zwei kleinen (19" und 17") 5:4/4:3-Monitoren jetzt seit Weihnachten ein 24"-Display, und das ist mir schon fast unangenehm groß. Ich ertappe mich immer wieder dabei, wie ich das 19"-Display weiterhin als primären Monitor zum Surfen usw. verwende 😉

---

<div class="post-metadata">

### Author: ![Maikel](https://forum.clonkspot.org/letter_avatar_proxy/v4/letter/m/c67d28/32.png) [@Maikel](https://forum.clonkspot.org/u/Maikel)
#### Post date: [3. Januar 2015 um 08:43 UTC](https://forum.clonkspot.org/t/windmill/777/20 "2015-01-03T08:43:14Z")

</div>

War auch mein "Weihnachtsgeschenk", es ist etwas groß aber ich benutze es auch zum Filme schauen und da lohnt es sich schon. Aber Browser sind meistens zu 75% weiß ☹

[Nächste Seite](https://forum.clonkspot.org/t/windmill/777.md?page=2)
