Windmill

Da wäre es doch eigentlich praktischer, wenn man sich eigene templateobjekte machen könnte, die so bestückt sind, wie man es gerne hätte. In CR habe ich beispielsweise unglaublich viel mit Effekten (nicht nur) in Objektscripts gearbeitet, wodurch ich mir dann wahrscheinlich eine Effekt-Grundstruktur im Objektscript speichern würde.

Dass man bei der Erstellung eines Objekts auswählen kann
[x] Empty Object
[ ] Custom: "HUD-Objekt"
[ ] Custom: "Effekt"
[ ] Custom: "Noobflint"
[ ] Custom: "Hazard-Waffe"

Wobei jeder Custom-Eintrag ein selbst gespeichertes Template ist.

Ich hatte mir auch anfangs über eine solche Funktion Gedanken gemacht und war auch dabei sie umzusetzen, jedoch lohnt sich das nicht wirklich. Der Arbeitsaufwand ist, wie Clonkonaut erwähnt hat, deutlich höher als der tatsächlich herausspringende Nutzen, selbst wenn man Customtemplates miteinbezieht.

Es wäre allerdings zumindest denkbar, da eine Möglichkeit in den Scripteditor einzubauen, womit sich gespeicherte Scriptzeilen direkt einfügen lassen, da könnte man auch Customtemplates für einbauen. Das könnte tatsächlich hilfreich sein und würde nicht ganz so viel Arbeit machen.

Ich schau in den technischen Daten des Monitors nach. Vorzugsweise auf der HP des Herstellers.

Das war zwar auch mein erster Ansatz, aber dann gab es doch drei Varianten, deren exakte Bezeichnung natürlich nicht leicht lesbar auf dem Monitor steht. Bestimmt irgendwo auf der Rück- oder Unterseite, aber da ich gerade neue Möbel aufstelle lag der Zollstock sowieso griffbereit.

Die Mühle dreht sich weiter  -   Miniblog Eintrag 2

Seit dem letztem Mal ist schon einiges an Zeit vergangen. Allerdings nicht ohne, dass sich Windmill weiterentwickelt hat. 

Was ist also neu? Grundlegend kann man sagen, dass wir viel Arbeit in Systeme investiert haben, die eine Basis für Zukünftiges darstellen und gaaanz viel Usability Stuff, um vieles benutzerfreundlicher zu machen.

Aber es gibt auch einige neue Features. Darunter auch die „Snippets“. Dabei handelt es sich um kleine Script-Fetzen, die man schnell in seinen Script einfügen kann. Damit soll sich zum einen der Workflow verbessern, zum anderen soll es helfen die eigenen Inhalte für andere nutzbarer zu machen. So kann jeder, der  an einem eigenen Effekt schreibt, mit zwei kurzen Klicks die Effekt-Callbacks, samt benannten Parametern, in seinen Code einfügen und los legen. Auf der anderen Seite können Entwickler von Libraries ihre hilfreich kommentierten PropLists in Snippets packen, sodass anderen die Benutzung der Library vereinfacht wird und sie beim Einfügen derselben gut informiert sind.

Was Letzteres angeht überlegen wir sogar, einzubauen, dass Windmill nach Snippetdateien in den geladenen Clonkdateien sucht und diese auf Nachfrage hinzufügt. Dieses Prinzip ließe sich bestimmt auch auf andere Programmierhilfen anwenden. Das hätte den großen Vorteil, dass Entwickler effektiv ihre Hilfestellungen an den Nutzer ohne Umwege weiterleiten können, indem sie diese mit ihren Packs mitliefern. Wir finden diese Idee spannend und definitiv einer Überlegung wert, vielleicht wollt ihr ja auch euren Senf dazu geben – wir würden uns freuen =)

Kommen wir mal weg von dem Entwickler-Kram, hin zu Windmill’s Zockermode. Windmill benachrichtigt dich jetzt, wenn Spiele offen sind, die entweder ein bestimmtes Pack, einen bestimmten Spieler oder ein bestimmtes Szenario vorweisen. Die dafür benötigte Regel wird ganz einfach mit zwei Klicks hinzugefügt.

Hier noch einige Neuerungen, die wir nicht weiter erläutern wollen:

-Unterstützung von Sprachdateien für das Windmill Interface (DE und EN werden wir mitliefern)
-Starten von Szenarien im Editor mit Kommandozeilenparametern möglich
-Ressourcen sparender Modus aktivierbar, um auschließlich Online-Runden zu beobachten
-Parameteranzeige im Scripteditor eingebaut (siehe Screens)

Es hat sich also jede Menge bei uns getan und wir sind wieder einen großen Schritt in Richtung Release gestapft. Außerdem interessieren wir uns sehr für eure Meinung über das Projekt oder bestimmte Neuerungen. Wenn ihr Ideen, Bedenken oder einfach nur Motivationsanschub habt, schreibt das gerne einfach hier drunter.

Wenn ihr es noch nicht getan haben solltet, werft doch einen Blick auf’s CCF in die Screenshot-sektion.

Okay, damit ist dieses Projekt eindeutig mein Favorit!

Snippets: Gute Idee. Bei den durchsuchen nach Snippetdateien könnte es womöglich zu Problemen kommen. Was ist, wenn ich in geladenen Clonkdateien suche und es dann ein dutzend Duplikate zu meinen Snippets gibt, nur mit minimalen Veränderungen? Ich sehe mich schon sortieren ohne Ende .
Vielleicht lieber eine simple Snippetdatenbank, die administriert wird?

Masterserver Viewer: Haben wir im Prinzip hier auch und ich finde es etwas schade, dass sich doppelte Arbeit gemacht wird. Mir fällt aber auch keine gute Lösung ein, wenn ihr das halt unbedingt in eurem Programm haben wollt.

Ich bin übrigens für einen frühen Release, so früh wie nur möglich. Egal ob es Bugs oder unfertige Features gibt. Lorry dümpelt auch seit zwei Jahren rum und versucht perfekt zu werden, ohne dass es die "Massen" wirklich durchgetestet haben. Und erfahrungsgemäß kommt nach dem Massentest eh noch ein Kilo voll Arbeit, die keiner vorausahnen konnte.

Sehr vielversprechend! Wirklich!
Früher war es einfach für Clonk zu entwickeln. Man hat auf Editor geklickt und sich seinen ersten 10000er Explosionsflint erstellt. Ich bin sicher viele Entwickler haben so angefangen. Die Möglichkeit gibt's bei OC nicht und ich glaube es gibt auch deshalb so wenig User Content. Es wäre also wirklich gut, wenn man die Möglichkeit hätte, sich dieses Programm hier zu laden, und sofort mit dem Entwickeln loslegen zu können. So einfach wie möglich halt, am besten noch ohne die Gefahr, sich die Objektdefinitionen der OC Installation zu zerschießen.

Beim OC entwickeln ist es zudem nicht einfach, auf dem neuesten Stand zu bleiben. Ich persönlich würde immer versuchen mit dem aktuellsten master branch entwickeln. Man kann den Leuten hierfür aber nicht zumuten Git zu installieren. Jedesmal den Devsnapshot manuell runterzuladen und entpacken ist auch zu schwer.

Es wäre deshalb toll, wenn Windmill für OC einen extra Ordner zum Entwickeln anlegt. Die Inhalte sollten von der GitHub Repo gezogen werden und die neueste Engine auch automatisch von den OC Autobuilds. Wenn es ein neues Commit gibt, sollte das Windmill erkennen und das Entwicklerverzeichnis entsprechend aktualisieren.

Ich hab als allererstes ein Material gemacht, bei dem man Flints ausgraben kann :slight_smile:

Eine Webplattform nur halb zu betreiben ist halt doof. Wenn ich das Geld für das Hosten in die Hand nehme, aber Nutzer nicht mal ihr vergessenes Passwort bekommen, dann nutzt das auch keiner. Und darum soll es ja auch gehen.

> Es wäre deshalb toll, wenn Windmill für OC einen extra Ordner zum Entwickeln anlegt. Die Inhalte sollten von der GitHub Repo gezogen werden und die neueste Engine auch automatisch von den OC Autobuilds. Wenn es ein neues Commit gibt, sollte das Windmill erkennen und das Entwicklerverzeichnis entsprechend aktualisieren.


Du möchtest, dass in die IDE ein git Client auch noch mit reingepackt wird? Vielleicht sollten die Kernelemente erst mal stehen, bevor so ein umfangreiches Feature kommt ;)

Zu viel Umfang macht keinen Sinn. Einfach das ganze Zeug von GitHub laden und in lokal zu speichern wäre doch ausreichend. Man sollte dann halt dem Spieler nur erlauben Kopien von Originalobjekten zu bearbeiten, damit änderungen nicht überschrieben werden (wie im alten Clonk auch).

Ich will ja eben, dass man nicht erst git lernen muss, um zu entwickeln.

Wie lädt man denn das ganze Zeug von GitHub (bzw. aus dem OC-Repos, OC liegt nicht auf GitHub), ohne Git zu verwenden? Das ist kein .zip-Archiv, welches du komplett runterladen kannst. :wink: Das sind ein Haufen Dateien, die einzeln auf dem Server liegen. Die lädst du dann einmal runter (wenn du, ohne Git zu benutzen, weißt, wo die liegen). Wie überwachst du denn, ob sich Dateien auf dem Server geändert haben, ohne die Git changesets zu überprüfen? Und woher weißt du, welche Dateien genau sich geändert haben? Als Anwender will ich sicher nicht bei jedes Mal 1GB an Dateien runterladen, nur weil eine einzige verändert wurde.
Und wenn doch mal jemand die Dateien bei sich auf dem Rechner verändert hat (möglich ist es ja), überschreibt der Download das dann alles, wenn man kein Git benutzt.

Jaaa, nein. :wink: Du willst einen Git Client haben, der nur nicht Git Client heißt.

>Es wäre deshalb toll, wenn Windmill für OC einen extra Ordner zum Entwickeln anlegt. Die Inhalte sollten von der GitHub Repo gezogen werden und die neueste Engine auch automatisch von den OC Autobuilds. Wenn es ein neues Commit gibt, sollte das Windmill erkennen und das Entwicklerverzeichnis entsprechend aktualisieren.


Ich glaube das sinnvollste ist es, wenn Windmill einfach verschiedene Verzeichnisse im Explorer auf eine übersichtliche Art und Weise vereint, bzw. es ermöglicht mit der gewünschten openclonk Version zu starten. Die Möglichkeiten für ein persönliches Setup sind denke ich zu vielfältig. Sei es, dass jemand sein Szenario mit der offiziellen Release Version testen will, bevor er es raushaut, oder sein Pack, an dem er schon sein langem arbeitet auf Kompatibilität mit den neuster Git-Version überprüfen will. Dafür jetzt ein einheitliches Setup erzwingen zu wollen wäre wohl eher kontraproduktiv.

Ich persönlich arbeite lieber mit dem relativ neustem Snapshot bei dem ich weiß, dass es keine Bugs gibt. Die sind dann manchmal 2 Wochen alt, aber ich bin glücklich mit denen.

Auch wenn das mit dem Passwort nur ein Beispiel war, ist es durchaus auch ein valide Lösung, derartige Sachen erst mal nicht zu automatisieren.

>Was ist, wenn ich in geladenen Clonkdateien suche und es dann ein dutzend Duplikate zu meinen Snippets gibt, nur mit minimalen Veränderungen? Ich sehe mich schon sortieren ohne Ende .


Nagut, eigentlich war dieses Feature wirklich mehr für spezielle Systeme oder Besonderheiten von Projekten gedacht, bspw. um Template-Scripts zu haben. (Als Beispiel: Hazard-Waffenscript)

>Vielleicht lieber eine simple Snippetdatenbank, die administriert wird?


Wie genau meinst du das?

>Masterserver Viewer: Haben wir im Prinzip hier auch und ich finde es etwas schade, dass sich doppelte Arbeit gemacht wird. Mir fällt aber auch keine gute Lösung ein, wenn ihr das halt unbedingt in eurem Programm haben wollt.


Naja, das Feature gibt es zwar schon hier, allerdings wollten wir mit Windmill das Ziel verfolgen, möglichst viel abzudecken. Das Feature gibts aber auch schon lange (wir hatten schon vor 2 bis 3 Jahren mit ähnlichen Versuchen angefangen, den Masterserver-Viewer gibts also an sich schon seit Ewigkeiten) und so viel Arbeit ist das auch nicht.

Ich meinte wie hier so:
https://github.com/openclonk/openclonk/archive/master.zip

Das hat nur so 74 mb. Das Programm müsste dann nur den /planet/ Ordner auf die Festplatte entpacken. Aktualisieren könnte gehen, indem man die commit-id vergleicht? Und ja, es würde alles überschrieben werden… Hmm, ist eigentlich, wie wenn sich der Spieler nen devsnapshot runterlädt, nur dass das Entpacken (mit c4group mein ich), bzw importieren in die IDE entfällt.

>Ich glaube das sinnvollste ist es, wenn Windmill einfach verschiedene Verzeichnisse im Explorer auf eine übersichtliche Art und Weise vereint, bzw. es ermöglicht mit der gewünschten openclonk Version zu starten.


Wie meinst du das mit den verscheidenen Verzeichnissen? Einmal ein Installationsverzeichnis mit dem stable release, und einmal ein Verzeichnis wo der dev snapshot drinnen liegt? Macht Sinn, zwischen solchen Sachen Versionen hin und her zu wechseln.

Aber ich finde im Moment ist es für normale und neue Spieler etwas viel sich den devsnapshot zu besorgen und in eine IDE, wie C4DT zu importieren.

Mit SVN könnte man sogar nur den planet Ordner laden :slight_smile:

>Aber ich finde im Moment ist es für normale und neue Spieler etwas viel sich den devsnapshot zu besorgen und in eine IDE, wie C4DT zu importieren.


Ja, die stable zu modden halte ich fuer anfaengerfreundlicher.

…da hören die Vorteile von SVN aber auch schon wieder auf.