Second Life als Gaming-Plattform?

Gerade habe ich den Ausblick 2012 von Linden Lab CEO Rodvik Humble gelesen. Aus dem Artikel sind Hinweise zu entnehmen, dass es in 2012 spezielle neue Tools für Devleoper (Creators) geben wird, die ganz klar aus der Ecke der Gamer-Schmiede kommen. Hier kommt ganz klar die Handschrift des ehemaligen Electronic Arts-Mitarbeiters zum Ausdruck. Damit einher gehen auch die kürzlich gelaunchten Linden Realms, die ersten Gaming-Prototypen von Linden Lab.

Bisher konnte man Second Life als offene Entwicklungsplattform betrachten, mit dem Charme, dass quasi Jedermann und Jedefrau schnell und verhältnismäßig einfach Inhalte produzieren konnte. Zugunsten dieser Einfachheit musste man die Erwartungen an Grafikqualität und Steuerbarkeit der Avatare erheblich zurückschrauben. Zumindest, wenn man die Messlatte für die Plattform im Bereich der Gamingbranche anlegt.

Als Entwickler bin ich diesem Konzept sehr ambivalent gegenüber eingestellt. Auf der einen Seite steht eine sehr mächtige 3D-Entwicklungsplattform bzw. 3D-Middleware-Plattform zur Verfügung, die mittels einiger Tricks auch an externe Datenbanken und Webserver anbindbar ist. Auf der anderen Seite ist da die proprietäre Linden Scripting Language (LSL), die oft als javaähnlich verkauft wird. Tatsächlich hat die LSL bis auf die grundlegende Syntax mit Java soviel zu tun, wie ein VW-Käfer mit einem Formel1-Boliden!



Nun sieht es so aus, als ob Linden Lab in Kürze interessante Tools aus den Erfahrungen mit den Linden Realms bereitstellt. Dazu sollen u.a. Pathfinder-Werkzeuge gehören, um NPC (Non Player Characters) zu programmieren. Da bin ich sehr gespannt, denn in der Tat ist es bisher ein Graus gewesen, NPC zu programmieren. Neben einigen Performanceverbesserungen sollen wohl auch einige Erleichterungen im KI-Bereich kommen. Eine Physik-Engine gibt es ja schon lange, aber eine KI-Engine (Künstliche Intelligenz) wäre mal etwas Neues:

For creators our first new feature for 2012 will be pathfinding. Because worlds feel most vibrant when they are full of life, one of our next focuses for Second Life is the ability to make high-quality “life” within it. So in 2012, we will be rolling out more advanced features that will allow the creation of artificial life and artificial people to be much smoother. For starters, in Q1, we’ll unveil a new, robust pathfinding system that will allow objects to intelligently navigate around the world while avoiding obstacles. Combined with the tools from Linden Realms this will make the polished creation of full MMORPG’s or people/animal simulators within Second Life easier and of high quality.

Für einen Gaming-Boost reicht dies aber bei weitem nicht aus. Denn für die professionelle Enwticklung fehlen dem integrierten Entwickungssystem einige grundlegende Features. Hier einige Features, die ich mir dringend als Weihnachtsgeschenk 2013 unter dem virtuellen Weihnachtsbaum wünschen würde:

  1. Objektorientierung

    In LSL selbst gibt es keine Modularisierungsfunktionen oder Bibliotheken, was die Wiederverwertbarkeit von Programmcode erheblich beeinträchtigt. Behelfen kann man sich zwar von „Hinten durch die Brust“ durch das Avatar-Inventar und die Prim-Inventare, richtig prickelnd ist das allerdings nicht, insbesondere, wenn man Code wiederfinden möchte! Es gibt lediglich 200+ BuildIn-Funktionen, die mit llXYZ() anfangen. Die sind zwar gut dokumentiert und auch kategorisiert, aber ein in der Sprache verankertes implizites Paketierungskonzept fehlt!

  2. Ein Versionierungssystem

    Erzeugt man ein „Item“ (kein Objekt im objektorientierten Sinne!!!), so zieht man ein Item aus dem Inventar in die Welt an eine beliebige Stelle (z.B. Boden). Nun wird eine Instanz dieses Items erzeugt (in SL heißt das dann rezzen), sofern es gem. Berechtigungsenstellungen kein Singleton ist (jaja, sowas gibt es immerhin, ein konfigurierbares Singleton-Pattern!). Nun arbeitet man quasi am instantiierten Code zur Laufzeit. verändert man den Programmcode des Items, wird die laufende Instanz des Items neu initialisiert. Um das veränderte Item „als Backup“ zu persistieren, muss man das instantiierten Item per Drag & Drop zurück ins Inventar ziehen. Innerhalb des Inventars erscheint dann das Item mit dem selben Namen zwei Mal, die aktuellste Version steht in der Baumstruktur immer oben. Das führt oft zur Verwirrung, ein professionelles, integriertes Versionssystem wäre sehr hilfreich und würde das Gänze sicherlich entwirren!

  3. Ein Modularisierung- bzw. Paketierungssystem

    Wie bereits oben angesprochen, würde ein schlanker objektorientierter Ansatz hier helfen!

  4. Eine moderne, leistungsfähige Sprache, statt proprietäre Linden Scripting Language

    Die Möglichkeit, eine moderne Sprache wie Java InWorld nutzen zu können

  5. AutoDocs

    Wenn wir dann schon soweit wären (Modularisierungskonzept, Versionierungssystem), dann wünsche ich mir auch eine AutoDoc-Funktion, um eigene Bibliotheken – zumindest intern standardisiert – zu dokumentieren.

  6. Frameworks

    Innerhalb SL ein standardisiertes PlugIn-Framework, um die Intelligenz der Crowd anzuzapfen. Man mag meinen, dass dies in 2011 kein Hexenwerk ist, viele Software-Produkte haben so etwas, SL nicht! Mit einer Versionierungs- und Autodoc-Funktion könnte man so schnell Bibliotheken anderer Entwickler finden und nutzen! Kostenpflichtige Items und Code-Fragmente kann es ja nach wie vor geben!

  7. Ein Backup-System

    Ein Backup-System, in das man selbst manuell eingreifen kann, um beispielsweise komplette Regionen speichern- oder exportieren zu können (ohne Ticket-Request). Meinetwegen sollen sie einen Dump verschlüsseln, sodass der Content einer Region nicht ohne Weiteres nach OpenSIM migriert werden soll (Obschon ich mehr der Freund einer generellen OpenSIM-Öffnung bin).

  8. Workflows

    Egal ob Fun-Game oder Serious-Game, Sequenzen und bedingte Abfolgen braucht man immer. Im Businessbereich gibt es bereits Workflow-Engines. Gegen die Programmierung von Worklows mittels des internen Second Life-Messaging-Systems ist zwar prinzipiell nichts einzuwenden, allerdings könnten hier ein paar Highlevel-Tools die Arbeit meines Erachtens, erheblich erleichtern!

Im Großen und Ganzem sehe ich keine größen Entwicklungen, obschon Der „Electronic-Arts-Taste“ von Humble zu sehen ist im neuen Viewer und durch die Linden Realms. Allerdings blieben viele Dinge unbearbeitet und enttäuscht, der Viewer-Relaunch (Viewer2) wurde nur zögerlich von der Community angenommen, Media-On-Prim (Shared Media) ist nicht der Knaller, da man immer noch keine gemeinsamen „Websessions“ browsen kann. Auch die Integration im Web-Browser, was durch HTML5 und WebGL möglich wäre, lässt auf sich warten.

Dennoch ist SL seit 2003 am Start, die Software erfährt zwar regelmäßig einige Updates, ist aber irgendwie verstaubt und innovativ zu gleich! Verstaubt, weil für den Entwickler das ein oder andere umständlich ist. Innovativ, weil die Nutzer online gemeinsam kollaborativ 3D-Modelle erstellen können. Innovativ, da ein asynchrones Messaging- und Transaktionsystem inkl. Entwicklungsumgebung in das monolitische System integriert ist.

Bzgl. des durchbrechenden Erfolges werde ich persönlich immer skptischer, vielleicht bleibt dieses bunte, vielfältige Chamäleon immer ein Rätsel oder besetzt vielleicht eine Nische!? Ich bin jedenfalls gespannt, was uns das Jahr 2012 so bringen wird!

Weitere Links zum nachlesen:

Über Andreas Mertens

Andreas Mertens aka Patrick Wunderland (SL) ist Initiator von avameo und schreibt seit 2006 für diesen Blog.

Kommentare

  1. avatar says:

    Klingt sehr interessant, auch wenn ich mir es bei Second Life nicht wirklich vorstellen kann. Man kennt es aus anderen virtuellen Welten oder 3D Chats, dass auch Social Games integriert sind allerdings weiß ich nicht ob es wirklich zu SecondLife passt.

Trackbacks

  1. […] Life, das vielleicht zur Gaming-Plattform […]

Ihre Meinung ist uns wichtig

*