Dramen

Wenn es etwas gibt, das mich immer wieder verunsichert, dann sind es die zwischenmenschlichen Aspekte auf diesen Simulationen. Sei es, dass falsches „zwischen-den-Zeilen-lesen“ stattfindet, oder sei es, dass Übertragungen stattfinden indem das eigene Denken anderen unterstellt wird (Watzlawick lässt grüssen mit seiner „Anleitung zum Unglücklichsein“).

Ist man empathisch ausreichend oder über Gebühr versorgt, so hat man einerseits die Chance sehr angenehme Situationen zu erleben, andererseits bleibt es nicht aus, dass man gerade wenn es um Reaktionen des anderen Geschlechts geht recht schnell in sehr intensive Dialoge rutscht die einen sehr verunsichern können, denn letztlich weiß man doch nichts vom Gegenüber, baut aber jede Menge Annahmen da der menschliche Geist dazu tendiert die Lücken selbständig zu füllen. Hier ist mein beliebtes Beispiel immer das Schauen auf im TV gerasterte Bilder um Personen unkenntlich zu machen, kneift man die Augen zusammen sieht man deutlich mehr, das Fehlende wird automatisch ergänzt, eine wunderbare Leistung unseres Zentralrechners ;). Ähnlich findet der Ergänzungs-Mechanismus in der VR statt, mit dem Effekt dass man bestimmte Bilder und Eindrücke von den hinter den Avataren agierenden Menschen hat, die jedoch mit der Realität so viel zu tun haben wie ein oranger Klecks an der Wand mit einer echten Sonnenblume.

Legoland ist Legoland, und als solches sollte es auch genutzt werden. Niemand kommt auf die Idee die kleinen Bausteinchen könnten der Ernährung dienen, selbst 5jährige wissen schon dass man wenn man Hunger hat doch besser in die Küche rennt oder nach Mama/Papa ruft anstatt sich in der selbstgebauten Bäckerei zu bedienen.

Einsamkeit ist jedoch in den virtuellen Welten ein immer wiederkehrender Faktor und so verfallen viele dort der Versuchung, in der Wirklichkeit fehlende Aspekte einer Partnerbeziehung dort zu kompensieren. Das mag vorübergehend von Erfolg gekrönt sein, immer jedoch hat es diverse sehr gefährliche Aspekte die an Drogenkonsum erinnern lassen. Nicht zuletzt deshalb sind MMORPGs für Jugendliche (und Erwachsene) wenn nicht mit „Abstand“ betrieben einerseits so begeisternd, andererseits so drastisch hinsichtlich ihrer Auswirkungen auf den sonstigen Tagesablauf.

Bleibt als Resumé festzuhalten, dass wir hier uns der Konstruktion stets bewußt sein müssen, denn wir sehen und lesen und hören was wir zu sehen oder hören wünschen, nicht was real existiert. Natürlich können wir jetzt den Bogen weit spannen und über Konstruktivismus im allgemeinen auch in unserer realen Umgebung philosophieren, aber das mag Stoff sein für eine andere Märchenstunde … 😉

Ausstellung

Bis die Bibliothek auf meiner Sim im Metropolis-Grid ihrer eigentlichen Bestimmung übergeben wird, harrt sie noch einer anderen Nutzung, denn einfach herumzustehen wäre für das Gebäude auch zu schade. Ich habe nun – wie angekündigt – mal eine kleine Fotoausstellung aufgebaut. Zu Einsatz kommt unser Web2Sim-Skript, bei dem die Bilder auf dem Webserver liegen und problemlos und schnell durch andere ersetzt werden können. Hier ein kleiner Eindruck:

kueperpunk wird 5000 Postings alt

kueperpunk, unermüdlicher Aufklärer des Schönen, Wahren und Wirren in der Cyberwelt zwischen Second Life, Internet, Politwahnsinn, Steampunk und Opensim hat sein 5000. Blogposting gefeiert. Von hier aus gratulieren auch wir ganz herzlich zu diesem durchaus ungewöhnlichen Blogjubiläum und freuen uns, wenn diese unglaublich spannende Quelle der Inspiration uns noch lange erhalten bleibt!

Neulich im Grid…

In gemütlicher Runde
In gemütlicher Runde

Da war ja ganz schön was los gestern Abend auf unserer Region Vanalten. Eigentlich wollten wir nur unseren WebOnAPrim-Versuchsaufbau testen, aber dann schneite ein Gast nach dem anderen rein. Zunächst die Wanda, die schnell ihren Spitznamen „Fischchen“ weghatte. Sie wollte unbedingt den „Blubber-Nebel“ haben, um ihren Feenwald etwas mystischer zu gestalten. Dann schaute auch noch Lena, die Metropolis-„Hausmeisterin„-Facility-Managerin vorbei. Zak war nur kurz da, und, zack, war er auch schon wieder weg, und wir versackten schließlich in trauter Runde mit Wanda und Pixel Prim, dem weltbesten Metropolis-Baumeister. Das Foto zeigt von links nach rechts einen Eindruck von der Veranstaltung 😉

Anwendungs-Gedanken

Jetzt haben wir also eine Möglichkeit, Bilder aus dem Web im Simulator darstellen zu können. Eine feine Sache muss ich zugeben. Da die Wünsche stets mit der Realisierung wachsen bei den Menschen ^^ möchten wir auch gerne HTML-Seiten zeigen können. Die eine Variante ist es, OpenSim wiederum aufzubohren und sozusagen das vollständige „WebOnAPrim“ zu implementieren, aber zunächst hab ich mich an einer anderen Variante ausgetobt.

Anwendungs-Gedanken weiterlesen

Second Life bald im Webbrowser?

Zumindest verdichten sich Informationen, wonach LindenLabs genau das im November testen will. Möglicher Hintergrund ist, dass SL auf diesem Wege neue Nutzer bekommen soll, denen es ansonsten zu beschwerlich wäre, den Viewer zu installieren. Für den Test sollen zunächst Zeitraum, Nutzerkreis und besuchbare Orte beschränkt sein.

Vom Ausgang des Tests hängt dann vermutlich ab, ob dieses Projekt mit dem Arbeitstitel „Skylight“ weiterverfolgt wird. Sollte „SL im Browser“ kommen, dürfte es wohl nur eine Frage der zeit sein, ehe auch der Zugriff auf OpenSim über Browser möglich ist.

(via kueperpunk)

Gar nicht so übel

Erste Impressionen von – na wie sollen wir es nennen? Da fällt sicherlich jemandem was zu ein. Das Bild spricht jedenfalls für sich, oder? Es ist noch große Vorsicht geboten, da die Timer wohl nicht sauber implementiert sind. Aber das können wir ja über LSL-Timer realisieren. EDIT: Es baut auf der 0.7.1er (GIT, DEV) mit einer eigenen Funktion da die dort originär implementierten Versionen noch nicht klappen. Name zur Zeit zur Verwendung in Scripten: wbDisplayWebimage. Und es bekommt als Parameter lediglich die URL. Zurück liefert es den String der UUID des erzeugten Images. Und im Moment arbeitet es auf allen „Faces“ (Oberflächen), werde ich wahrscheinlich noch ändern aber im Moment reicht es mal so.

Und hier nun der notwendige Minimal-Code ohne Refresh, das ja bei normalen statischen Bildern nicht notwendig ist :):

[code lang="c"]
string rc;
default {
    state_entry() {
        rc = wbDisplayWebimage("http://wolfsbone.de/download/public/xsyonNomadsSigns/snake.png");
    }
}
[/code]

Ausstellungsvorbereitungen

Meine Idee einer Fotoausstellung auf Utopia nimmt erste konkretere Formen an. Ich habe jetzt mal eine Bildertafel gebastelt, auf der die Fotos dargestellt werden können. Die Tafel ist vier Meter Breit und 3 Meter hoch (ohne Standfüße). Genügend Platz also, die Fotos ansprechend darzustellen.

Jetzt muss ich die in Frage kommenden Bilder mal sortieren und auswählen. Ich denke, in den nächsten tagen wird sich noch einiges tun.

Nicht denken, testen!

Nun ja, manches ist so einfach. Und manchmal spielt einem die Erfahrung auch einen Streich. Viele Optionen werden dadurch deaktiviert, dass sie auf 0 gesetzt werden statt eines höheren Wertes, nach dem Motto: Ist es grösser als 0 dann bildet es eine Grenze, ist es gleich 0, dann ist diese Option nicht wirksam.

Es ist – wie gesagt – oft so. Bei der absoluten non-physischen Primgrösse in einer Region ist es auch so. Nicht jedoch bei der physischen maximalen Grösse. Und so bedurfte es erweiterten Debuggens um festzustellen, dass der simple Parameter in den regions-XMLs „physical_prim_max“ – wenn 0 – tatsächlich 0 bedeutet: Die Option einen Prim physisch zu machen wird damit also abgeschaltet.

Und was ist das Ergebnis? Nun, wir haben jetzt Physics. 😀 Aber natürlich werden wir sparsam damit umgehen, denn wie bekannt gibt es kaum ein leichteres Mittel eine Region lahm zu legen als etwas gesteigerte Verwendung davon. Da ich aber Robotics mag und Vehicles und das Basteln damit, und auch Bewegungen mit Physis und dem dann möglichen „moveTo“ viel eleganter sind als explizites Setzen der Positionen, machen wir es grundsätzlich möglich und ich darf mich über den nächsten erreichten Punkt freuen. 🙂 Yeah.

Was zum Spielen, was zum Basteln …

… und was zum Lachen mal in diesem Fall. Einen kleinen Einblick in die Vielfalt eines OpenSource-Projektes liefert folgender Schnipsel:

[code lang="csharp"]public void ResetChildPrimPhysicsPositions()
{
AbsolutePosition = AbsolutePosition; // could someone in the know please explain how this works?

// teravus: AbsolutePosition is NOT a normal property!
// the code in the getter of AbsolutePosition is significantly different then the code in the setter!
}[/code]

Schauen wir uns das mal an: Der Inhalt einer Variable wird ohne weitere Modifikation derselben zugewiesen. Und jemand schreibt dazu: Kann mir ein Wissender einmal erklären, wie das funktionieren soll? Zu Recht, glaubt man zunächst. Ich finde das „in the know“ wirklich Klasse, viel netter als im Deutschen und humorvoll. Und auch das „how“ ist nett, denn DASS es klappt ist ja eh klar, die Frage ist nur: Was soll das überhaupt?

Die Antwort dazu liefert nicht wirklich Aufschluss, ist auch ziemlich trocken, lediglich sagt sie im Prinzip: „Macht Sinn“. Sicherlich mag nicht jeder darüber schmunzeln können, ich jedoch musste herzhaft lachen als ich über diesen kleinen Ausschnitt des OpenSim-Projekts gestolpert bin.

Mein Kommentar dazu: Oh ja, es mag tatsächlich Sinn machen. Und zwar dann, wenn der Inhalt der Variable vorher nicht „sauber“ war. Wir kennen das von arithmetischen Zuweisungen im Shell-Bereich. Nehmen wir einmal folgenden Befehl:

[code lang=“bash“] zahl = “     5″[/code]

Damit steht in der Variable „zahl“ ein String der hinten nach einer Zahl riecht. Sauber ist das natürlich nicht, und das simple Statement:

[code lang=“bash“]zahl = `expr $zahl`[/code]

bereinigt die Situation. Jetzt steht tatsächlich nur noch die Ziffer 5 in der Variable zahl. Eine Art trimmen hat stattgefunden. Jetzt mag man sagen, aber das steht doch oben nicht im Code, da fehlt doch der Aufruf eines Programms wie „expr“. Dabei vergisst man aber, dass Hochsprachen-Compiler Code generieren der das sogenannte Coercion ausführt, eine Typwandlung zum möglichst Passenden. So wird ein String „5“ der durch irgendeinen dummen Zufall in einer Integer-Variable enthalten sein mag durch eine erneute Zuweisung zu einer echten Zahl. Allerdings hätte da bei der primären Zuweisung schon dasselbe passieren sollen aber das hat möglicherweise ein Dritter gebaut 😉

Und nein, ich werde meine Gedanken dazu nicht in die Quelldateien einbauen, erstens bin ich nicht Mitglied des ehrenwerten Gremiums und zweitens – bei allem Verständnis für humorvolles Arbeiten – finde ich einen chat über die Sourcen dann doch etwas mühsam. ^^