Vom Anfang und der Entwicklung eines neuen Projekts

petomka

Senior
21 Feb 2018
785
Vom Anfang und der Entwicklung eines neuen Projekts

lsZ8XUH.png


Hallo Welt! Oder auf Englisch "Hello World!" sind oft die ersten Worte, die ersten Lebenszeichen, wenn man so will, eines Programms, welches gerade aus seinen ersten Zeilen besteht. Dabei handelt es sich natürlich lediglich um einen Test, man schaut, ob überhaupt ein Herzschlag vorhanden ist, bevor man sich voller Tatendrang, Motivation und Ideen auf sein neues Projekt stürzt.

Hallo Welt! Das sagen wir nun auch mit diesem ersten Blogeintrag, wir wissen noch nicht, wie sich dieses Projekt eventuell entwickeln wird. Doch wir sind gespannt, wollen euch teilhaben lassen, an der Dev-Welt, die sonst immer verborgen bleibt. Was spielt sich hinter den Kulissen ab, was passiert eigentlich, wenn so eine neue Idee ensteht, entwickelt und schließlich umgesetzt wird? Wie viel Arbeit muss man investieren, damit am Ende auch ein Resultat entsteht, mit dem jeder zufrieden ist: ihr, als Spieler und Verbraucher, aber auch wir, dass man als Team sagen kann: Auf diesem Server würden wir auch gerne spielen!

Und "spielen" steht eben noch im Vordergrund; genau wie man auf dem Server sein Haus Block auf Block aufbaut, so bauen auch wir als Entwickler Stück für Stück die essenziellen Servererweiterungen (auch genannt "Plugins") auf. In diesem ersten Blogeintrag möchten wir nun genauer darauf eingehen, wieso es so lange dauern kann, bis ein neues Plugin auf dem Server erscheint, auf das man bereits so lange wartet.

Bei der Plugin-Programmierung lassen sich ganz gut einige Parallelen zum Aufbauen eines Hauses in Minecraft ziehen: So muss ein großes Haus meist ordentlich geplant werden, ehe man anfängt zu bauen, andernfalls kann es später zu Konflikten führen oder man muss gänzlich umplanen. Immer mal wieder tritt man ein paar Schritte zurück, begutachtet, was schon steht, schaut aus sämtlichen Blickwinkeln auf das Gebaute. Dies wäre vergleichbar mit den ersten Tests eines neuen Plugins, der Check der gewünschten Grundfunktionen. Dann baut man das Gerüst und die Fassade fertig. Die Strukturen stehen und das Gebaute sieht von außen ziemlich solide aus. Aber ist es das auch? Jetzt wird versucht, Lücken, unschöne Stellen und (Bau)Fehler zu beheben und zu entfernen. Ist das getan, geht es in der Entwicklung einen Schritt weiter.

Im Haus fehlen natürlich noch einige wichtige Dinge. Zum Beispiel ein Lager für die Items, oder im Plugin eben ein Lager für die Daten, klassischerweise die Datenbank. Was fehlt weiterhin? Vielleicht ein Bett, symbolisch dafür, wie das Plugin sich verhalten soll, wenn der Server schlafen geht (z.B. Backup um 04:00 Uhr). Steht all das, ist man meistens an dem Punkt angelangt, an dem das Plugin an sich meist schon verwendbar wäre, die erste benutzbare Version.

Dass die Arbeit damit nicht getan ist, sollte natürlich klar sein. Das Haus steht erstmal in einer Parallelwelt, d. h. das Plugin ist auf dem sogenannten Dev-Server installiert, der eine Kopie der Hauptwelt ist. Nachdem es nun ungefähr (mit ein paar Kompromissen hier und dort) so steht, wie man sich das als Team vorgestellt hat, wird das Team zum Probewohnen aufgerufen. Dabei entpuppen sich die Nicht-Devs als Inneneinrichter und wünschen an jeder nur erdenklichen Stelle Anpassungen, die wir uns manchmal nicht mal hätten vorstellen können. Hier ein Durchbruch an der Wand, da eine tragende Säule entfernen, der Ofen bitte in diese Ecke. Hier geht es dann nochmal richtig rund. Aber genau diese letzten Schritte, der Feinschliff, ist, was meistens am längsten dauert. Es wird viel verändert, angepasst, experimentiert, bis vielleicht eine Mehrheit mit der gefundenen Lösung einverstanden ist. Das Plugin ist also theoretisch bereit für den Hauptserver.

Zwischendrin kann es natürlich vorkommen, dass sich im Haus Käfer (Bugs) einnisten. Hat man Glück, sind es nur einige wenige, die schnell beseitigt werden können. Hat man das nicht, muss man zu härteren Mitteln greifen. Unsere Waffen sind nicht Sprays oder Klebefallen, wir kämpfen mit Textausgaben in Konsolen. Und es ist genauso ineffektiv, wie es sich anhört, wenn nicht sogar schlimmer. Hilft selbst das nicht, muss der Kammerjäger her. In unserem Fall ist das erstmal Prof. Dr. Google oder jemand, der eigentlich nicht am Projekt arbeitet, um uns mit einer neuen Sicht auf das Problem zu versorgen und eventuell die Quälgeister gleich zu beseitigen.

Einigt man sich in einer Besprechung auf einen Termin, bei dem gerade kein Event, kein Update auf neue Versionen oder ähnliches geplant ist, werden in der Einrichtung nochmal ein paar Änderungen vorgenommen, dann ist es aber wirklich mal so weit; eine neue Ankündigung wird zunächst intern verfasst, bei dem jeder die Möglichkeit hat, seinen Senf dazuzugeben. Dann wird korrigiert, und der Beitrag landet auf der Frontseite gut für jeden sichtbar. Da dann meistens noch ein paar Tage Vorlauf gegeben sind, damit sich jeder Spieler gegebenenfalls auf Änderungen einstellen kann, muss man sich noch mal ein bisschen gedulden.

Dann ist Tag X gekommen, das Plugin ist auf dem Server, man lässt die Spieler darauf los und hofft, dass man ausgiebig alles getestet hat; die Wände stehen, der Boden hält und die Decke fällt einem nicht auf den Kopf. Irgendwann kann man dann an das Haus eine Garage anbauen, einen Garten anlegen, in den Garten einen Pool bauen, ..., man wird nie fertig mit einem Projekt.

Doch genau das ist eines der besten Dinge an einem schönen Projekt: Es wird ständig verbessert (im Optimalfall), entwickelt sich ständig weiter und wächst dadurch hoffentlich auch.

Sicherlich ist diese Minecraft-Haus-Metapher gut geeignet, aber nicht perfekt. Ein Haus in Minecraft kann viel schneller entstehen als ein Plugin. Oft ist man über ein paar Stunden mit einem Algorithmus (eine Beschreibung von einer endlichen Anzahl genau festgelegter Schritte zur Lösung eines bestimmten Problems) beschäftigt. Diese Algorithmen müssen nicht nur korrekt, sondern auch effektiv arbeiten, da wir nicht unendlich Rechenleistung und Arbeitsspeicher zur Verfügung haben. In unserem Bild: Die Wände, sollen möglichst dünn, stabil und gut isoliert sein. Im Spiel sind diese meistens einfach einen Meter dick, nicht gerade optimal.

Weiterhin arbeiten wir, wie jedes Teammitglied, in unserer Freizeit und unentgeltlich an Unlimitedworld. Wir sind Schüler, Studenten aber auch berufstätige Entwickler, die das aus Spaß machen. Wenn man mal gerade unmotiviert ist, oder gerade nicht so viel Lust hat, dann ist das eben so. Niemand wird hier zu irgendwas gezwungen, so kann gerade die Phase des Feinschliffs sich sehr lange ziehen. Dennoch: Wir lieben, was wir tun, arbeiten sehr gerne an Unlimitedworld und auch dessen Plugins, ohne die es heute nicht wäre, was es ist: ein Server, auf dem wir auch selbst gerne spielen wollen.
 
Ich finde den Vergleich sehr schön dargestellt. Ich bin auf den weiteren Verlauf schon gespannt.^^
Doch genau das ist eines der besten Dinge an einem schönen Projekt: Es wird ständig verbessert (im Optimalfall), entwickelt sich ständig weiter und wächst dadurch hoffentlich auch.
Das ist meiner Meinung nach einer der wichtigsten Punkte, um ein Projekt am Leben zu halten, denn man macht es gerne, experimentiert, testet, holt sich Meinungen zusammen und lernt selbst immer mehr dazu. :)
 
Hallo Liebe Devs und Staffteam

Spreche hier sicher nicht nur für mich allein:

EIn fettes DANKE an euch​

Ihr leistet eine tolle Arbeit das sieht man aber glaub ich auch daran das viele Spieler schon lange hier am Server sind und noch immer die Lust nicht verloren haben. Das die meiste Arbeit hinter der Wand verschwindet ist in so ziemlich jeder Branche so (Leider). Aber damit muss man als Erbauer der Welt leben. ;) Nichts desto trotz Ihr seit einfach

:thumbsup:SPITZE :thumbsup:
 
Moin liebe Devs :)

auch ich muss mich, wie viele andere hier bereits, nochmals bei Euch allen für eure tolle Arbeit und euer Engagement für den Server bedanken. All die tollen und einzeigartigen Plugins machen den Server mit seiner Community zu etwas ganz Besonderem mit viel Spielspaß. Ich freue mich schon darauf, auch in Zukunft diesen Blog zu lesen und mehr über Eure Arbeit, die größtenteils hinter den Kulissen stattfindet, zu erfahren. Ihr seid einfach der Hammer, wie ihr dafür sorgt, dass auf Unlimitedworld so reibungslos funktionieren kann. Danke. :thumbsup:
 

Benutzer, die dieses Thema gerade lesen

ONLINE 34 Spieler