Hi there. So, after a few years, I just decided to reopen a public log. Here I’ll be posting about my personal progress in general, mostly about programming and robotics, and some times about real-life subjects. Welcome and feel free to leave me a comment. Thanks.

Work on Etherea²

Etherea² for Unity3D can potentially handle an universe with trillions of trillions of trillions of kilometers, with 0.1mm accuracy everywhere, while Unity3D (and almost all the current 3D engines out there) can only handle scenes of about 64000 meters out of the box. That size limit can’t fit a single Etherea² planet, much less its virtually infinite number of planets. So, Etherea² effectively extends Unity3D limits to handle more than the size of the observable universe.

But it does not stop there, the size of the universe is just one of the many challenges that Etherea² solves. It can also render a 1cm ant very close to the camera, at the same time that it renders a 13000km wide planet immediately behind it, plus another planet a million kilometers behind both, without starting a z-buffer fight. Plus you can leave something here on this planet, fly to a different star system light-years away, explore another planet, then come back to the first and find the same object at the same exact place, without any interruptions or loading screens. Also you don’t need a super computer for that, in fact you could be doing that using your Android phone — yes, at a reduced resolution and quality compared to the desktop version, but it does run on mobiles.

Just to remember, here is a reference video from the first ever Etherea¹. This old 64kb techdemo was available for download in 2010-2011, and was entirely done in C++ and OpenGL:

Out of curiosity, even with texture and geometry compression, a single planet done by hand would take something like 4gb of disk space. But Etherea¹ was 100% procedural, and the entire tech-demo with 8 full planets and background music used only 64kb of disk space.

Anyway, I ended up stopping all work on Etherea¹ (all versions, including the Unity3D one) around 2013. Daily job sucked me entirely and I could not handle the side work on Etherea. It was then frozen for a few years.

I am working on Etherea² on and off for a few months now. Initially I was writing it in pure Javascript/WebGL² ( demo here: https://imersiva.com/demos/eo ), when I decided to jump to Unity3D again, because it’s currently the most used 3D engine in the world, which eases adoption. As I plan to have it adopted by other programmers and teams, that was a good choice, I guess.

The entire “Etherea” thing is not just a plain game. I want it to become an open virtual reality platform where people can easily populate with their own content, and even create new universes — and games that run directly in those universes — by building, scripting and exploring their own and others creations. I would like to eventually visit a distant space station and find a cinema built by someone, where there are movies to watch. Or find a race track on a planet’s surface, where people meet to race for the fun of it, etc. All that seamlessly streamed, without “loading…” screens or simulation interruptions. Ambitious, I know, but that is to be implemented gradually, in iteration layers, not all at once.

I am still working on the building tools, which are in part heavily inspired by how the Cube2 ( http://sauerbraten.org ) handles that. The building tools will also allow normal polygonal models to be imported (initially only .obj format, maybe other formats later on). There will also be internal C# and even Shader creation support, so it’ll be possible for more advanced users to create new procedural object types — a huge fractal structure floating in space, for example — and spread those new object types throughout the universe. I am sure that there are many creative people who can populate the huge space with some really unexpected things.

Here is a short, preliminar Etherea² video:

I want it to become open-source, but I also need money to help me push it to completion. For now, while looking for an investor and/or partner, I am trying to crowdfund it through Indiegogo:

https://www.indiegogo.com/projects/etherea-open-virtual-reality-universe/x/2642555

Until the date of this post, the campaign had almost no visibility yet. The page is just sitting there, with only a single brave backer (who I thank so much), and practically no daily visits. Lets hope the situation changes and it ends up being successfully funded and finally opened on its entirety to all the backers.

 

Thanks for reading.