A-Frame is here.

August 28, 2016

If you approach the 3D capabilities of the open web browser world, you usually go via the ThreeJS Framework (like I did in my multidevice demos).

But now there’s A-Frame and it takes a different approach, quote:

“A-Frame is an open-source framework for easily creating WebVR experiences with HTML. It is designed and maintained by the Mozilla VR team (MozVR). A-Frame wraps three.js and WebGL in HTML custom elements. This enables web developers, designers, and artists to create 3D/VR scenes without having to learn WebGL’s complex low-level API. Because WebGL is ubiquitous in modern browsers on desktop and mobile, A-Frame experiences work across desktop, iOS, Android, and Oculus Rift headsets.” (link)


So it does mainly two things: it abstracts WebGL in an HTML-like way that appeals to everyone and not only developers, and additionally it bridges between high-end VR goggles like Rift and Vive and cheapo Cardboard knock-offs. This is great news for the open web. Oh, and it also has ThreeJS under the hood.

Having the luxury to be able to operate both ends of the spectrum, I can tell you that it’s not easy to develop and debug VR applications even if you can afford an Oculus Rift. Mostly you are in a Unity development loop and simply installing new drivers can cost you days and days. Of course, there are alternatives like Unreal Engine 4, but it is great news that the VR extensions will be implemented into the major browsers.

I took a good look at A-Frame for the last days, and I think it’s on the brink of hitting prime time. I still have to figure out the details behind the community driving this, but it’s another initiative from Mozilla (from Mozilla’s VR Team, MozVR, to be precise) with Kevin Ngo being one of the main actors. But not surprisingly you find also Googlers among their ranks, for example Don McCurdy, who brought the excellent CannonJS physics engine into the game.

Because that’s one of the advantages of A-Frame: it’s Entity-Component-System makes it extremely easy to create and re-use components. There is even support for the Leap Motion already. And that’s the main difference between A-Frame and other 3D markup languages.

There is a ton of examples out there – of varying quality, I have to say. But let’s not forget: this is uncharted terrain; we don’t even know how to create proper user interfaces for VR.

I was working on a successor of my demo directly in ThreeJS, but it might be more effective to jump on the A-Frame bandwagon.

What keeps you? Here is a starting point.


Multiplayer and synchronized viewport demo

September 21, 2014

Not too many posts here recently, I know.

But I wanted to let you know that I created a small prototype that shows how to create a multiplayer and synchronized viewport demo and opened the source.

Pixelpark Islands leaving Second Life

March 15, 2013

TL;DR: German company Pixelpark is leaving SL.

Mit grossem Bedauern muss ich mitteilen, dass Pixelpark (mein Arbeitgeber) Second Life verlässt.
Das Bedauern bezieht sich nicht auf die Entscheidung per se – diese ist betriebswirtschaftlich gar nicht anders zu verantworten – sondern auf die Konsequenz die das haben wird: eine der aktivsten, positivsten Communities im deutschsprachigen Second Life – die Deutschen Mentoren – wird damit heimatlos und muss sich ergo auflösen.
Pixelpark hatte die Ehre von den Deutschen Mentoren betreut zu werden, und alles was die Sims so grossartig gemacht hat, ist durch diese Menschen erzeugt und kuratiert worden. Die Gruppe löst sich jetzt leider auf.
Mir war, ist und bleibt unklar, warum Linden Lab den Niedergang des eigenen Universums ignoriert
(am besten dokumentiert hier: http://nwn.blogs.com/nwn/2013/03/why-losing-second-life-sims-matters.html) aber mein Gefühl ist: auch Linden Lab hat SL eigentlich schon verlassen.
Aber vielleicht gibt es ja noch eine Alternative? Wer an Second Life glaubt, hat jetzt die Möglichkeit, die Sims zu übernehmen.

BananaBread – Cube 2 engine in the browser

September 9, 2012

After BrowserQuest (I described the merits and the installation over here) the Mozilla Foundation didn’t stop by bringing top-down 2D multiplayer to the web. A couple of days ago they released Bananabread. From the description:

BananaBread is a 3D first person shooter that runs on the web. It takes the Cube 2: Sauerbraten engine, which is written in C++ and OpenGL, and compiles it using Emscripten into JavaScript and WebGL so that it can run in modern browsers using standards-based web APIs and without the need for plugins.

This is important in a couple of ways.

  1. This is a full-fledged first person shooter running completely in the browser  in JavaScript and WebGL – smoothly.
  2. The described development way – compilation of a C/C++ with Emscripten – could be one way to go to develop games or virtual world environments in the browser (as opposed to written in JS directly).
  3. I learned in the Google Creative Sandbox in Berlin that Google sees the Chrome browser more and more as a multimedia engine to run creative applications – like games. That’s why they are incorporating things like WebGL and the Mouse Lock API. Obviously Mozilla/Firefox agrees.
  4. Sauerbraten.

I’ll go into more detail for this last bullet.

The Sauerbraten engine – luckely renamed Cube afterwards – was written by Wouter van Oortmerssen back in 2002 with Cube 2 following two years later as a re-design. The major features that makes Cube 2 stand out from the rest of the pack are:

  1. It is lightening fast on current hardware and runs great even on older hardware because it uses a cube based, oct-tree approach to render the world.
  2. It’s a multiplayer game with real-time editing abilities.
  3. It’s open source.

Now let’s look at the first issue: the cube based approach. If that sounds familiar – that’s right. That’s the same approach that Mojangs Minecraft uses. Also the second bullet – multiplayer editing – is a feature of Minecraft: in fact the multiplayer editing feature is what makes most of the fun (according to personal observations and some relatives ;-) ).

I am not stressing this to tell somebody ripped the concept of somebody else, rather the opposite: we can learn from both concepts to create better virtual worlds.

To me, Minecraft today seems to be as close to virtual world immersion as it gets, with its incredibly easy user interface and the fantastic crafting notion. Sauerbraten, on the other hand, features more realistic graphics, although using the same blocky approach. Also it’s open source. Both have clients for Windows, Mac OSX and Linux  using a completely different approach (Java vs. C++).

With virtual worlds being at an all time low (see the Gartner Hype Cycle 2012 discussed in Wagner James Aus NWN ) we need to learn from these concepts to do it better next time – and there will be a next time.

With the WebGL translation of Sauerbraten, I can’t help but stress there are ways to create a multi-plattform, multi-device approach for games and virtual worlds – even within the browser.

If I had too much time and/or money on my hands, I’d propably start with the Cube 2 engine, de-militarizing it (a bit) and slowly but surely adding features like external user authentification, multi-screening abilities, DropBox integration – maybe even crafting features. The Sandbox Game Makers did a Cube 2 conversion towards a somewhat more peaceful, educational game play:

There’s tons of ressources and mods out there. I’d like to point out the excellent (albeit german) ressources at Natenoms Blog with a very friendly user community, explaining important more advanced features like mumble integration (i.e. VoIP support in Cube 2).

Quick Links

September 16, 2009

Introducing OpenSim Inventory Archives (Justin Clark-Casey)
Title say it all.

Robo^2 (Sienna)
Customisable Bot Client for SL and OpenSim.

3D Explorer
Plug-In-Less (hmm … Java)  Browser-based Web3D collaboration Service.

Educators in Virtual Worlds on Open Sim – the pioneers … (Learn 4 Life)
Great article about eLearning in virtual worlds.

The Interface: 2D to 3D (Larry Rosenthal)
Title say it all.

Evaluating Blue Mars (Gwyneth Llewelyn)
Very informal article about Blue Mars.

Original White Paper from Philip Rosedale and Cory Ondrejka on Gamasutra in 2003
A blast from the past.

Upcoming Amazon EC2 Image featuring Freeswitch VoIP

June 10, 2009

This is just a quick note that there will be a voice-over-IP enabled OpenSimulator available as a public image on EC2 within the next days.

After some (well, a lot!) of tweaking we are finishing this up right now and it works very well already. The notion is to have a (nearly) out-of-the box solution for virtual conferences with extranet or intranet like character. It tries to save you from the hassle of finding sources, libraries and configurations.

You simply start the image into the cloud and associate an elastic IP to it. Then after you go through the standard OpenSim setup, the voice support is there – you only need to enter the IP address or domain name once in the setup. Then some scripts configure of Freeswitch and OpenSim correctly according to the Amazon Elastic IP provided.

As I said it is as good as ready so if anybody wants to give it a try early then leave a note.

Maps go 3D: Nokia opens Ovi Maps

May 25, 2009

Not too much information but some impressive outsights here:

and here.

and a browser version here which looks a bit like Google Maps on Steroids.

Note to self: register and try.

(via ZDnet and others)