Warum? Zu sagen und zu erzählen habe ich eigentlich eine Menge, aber von Haus habe ich kein allzu großes Bedürfnis mich öffentlich darstellen zu wollen.
Dennoch denke ich, es wäre mal einen Versuch wert, z.B. von meinem privaten Schaffen zu berichten.
Fangen wir mal mit etwas leichtem an. Ggf. wird daraus ein kleines privates Projekt über den Winter, ggf. versandet es aus Zeitgründen, Willensstärke oder mangelnder Disziplin:
Bau eines Mini-Minecraft-Alike auf Basis von WebGL, WebSockets und einem in Go(-lang) geschriebenen Servers.
Mit den genannten Technologien kenne ich mich theoretisch aus, leider hat man mit fortschreitendem Alter auch nicht mehr immer die Muße, sich auch praktisch mit den Dingen intensiver zu beschäftigen. Zudem lässt der Altagsjob in der IT-Branche des öfteren auch mal gerne vergessen, dass man Software eigentlich auch zum Spass und der Ästhetik wegen entwickeln kann.
Der Spass brachte mich auf die Idee. In meiner Firma grassiert z.Z. eine Art Minecraft-Fieber auf Basis der Freien Software Clones Minetest (BTW: Ein empfehlenswertes Spiel).
Da ich initial ein paar technischen Problem mit dem Client der Software hatte, habe ich mir die Quelltexte von Minetest zu Gemüte geführt und mich überkam das bekannte Gefühl, der Fahrradschuppen könnte eine andere Farbe vertragen.
Ja, Minecraft-Alike gibt es wie Sand-Blöcke am Meer, aber halt nicht mein Minecraft-Klon. Und da mir der Sinn mal wieder nach einem Privatprojekt steht, für dessen Umsetzung man mehr als ein Wochenende benötigt, ich mich ohnehin mal intensiver mit WebGL und WebSockets beschäftigen wollte und ich mal einen Server in Go schreiben wollte, der nicht nur triviale Dinge tut, habe ich mich spontan dazu entschieden, mich an Minecraft zu versuchen ... scheitern nicht ausgeschlossen.
Ein 3D-Sandbox-Spiel ist technisch gesehen eine echte Herausforderung auf mehreren Ebenen:
- Serverseitig ist potentiel mit großen und vor allem dynamischen Datenmenge zu hantieren.
- Auf Ebene des Netzwerkprotokolls ist ein effizienter Zugriff auf Teile dieser Daten abzuwickeln.
- Auf der Client-Seite ist ebenfalls einige Cleverness anzuwenden, damit der Eindruck einer großen, lebendigen und frei modifizierbaren Welt entsteht.
Keine Kommentare:
Kommentar veröffentlichen