Tesseract - Open World Planetary Engine

Incredible demo.

1 Like

It will come soon as possible, unfortunatelly im sick since longer right now but you can definetly expect it this year, probably within next weeks, since there is only some documentation to finish.

There also has been a quiet a lot progress on Tesseract in past time, especially the universe model with solar systems and galaxies, as well as advanced fractal functions with erosion and statically composited fractal noise for more complexity while being less expensive, i’ll provide some updates on it soon.

3 Likes

I’m sorry to hear that ,and I hope you’ll get well soon.I have already followed you in Github. Will you release the IndexedVolume and Tesseract on Github?

1 Like

There is an interesting GDC talk from Sean Murray on generating the worlds for No Mans Sky. He talks about how he started using satallite data for terrain generation but found it was boring in game. Lots of great information on procedural generation and inspiration for engine building too.

Building Worlds in No Man’s Sky Using Math(s)

2 Likes

NMS was quiet a inspiration for me as well as Star Citizen, but this engine is going a little different route by it’s architecture which also aims to give the best possible performance for browser engines so it only takes minimal impact on the budget, leaving most room for the actual game. I never really heard about technical details how they solved various problems, mostly that they at least take advantage of 64bit what isn’t an option for WebGL. I think NMS is mostly based on a DC implementation for the close area, Tesseract mixes faster GPU tiles with volume terrain features only where it’s required, and another technique to maintain surfaces details like mountains in far LOD levels, this also helped with LOD since caves for example can be visible form a far distance while not being actually generated yet.

Since it aims to be a generic engine not being only controlled procedurally i had to work on different concepts and combining these without limiting each other. It can be fully automated/procedurally but also mixed with with different levels of manual control, starting from parameters, to sources and to hand-crafted data with procedural brushes composed on different levels.

Recently i’ve also focused on adding a faster method of procedural generation, like i mentioned above, statically composited layers of pre-baked terrain types which give a very detailed and natural result while being very cheap compared to the required noise functions. Basically when creating sources it always will be a mix of composed data and purely generated as very huge scaled sharp features like a several hundred kilometers long river cant be derived from static data, while all the details and terrain features can.

It’s a lot fun working out different noise features, but it’s also important to keep performance in mind, for example a complex varying but natural landscape can be also archived with feature blending of static maps and masks with different characteristics being very fast and predictable in terms of performance.

3 Likes

@Fyrestar is it possible to see the code for your engine somewhere?

No it’s closed in development yet, it’s been quiet a lot work for years and more to maintain, it will be available with 2 licences but also early access for partners 2020.

2 Likes

This looks amazing! Awesome job.

1 Like

Hello,

any website / place that present your work, incoming plans?
Do you use pure webgl or is it made using Three?

Thanks anyway

1 Like

I’m mainly focusing on the project itself currently, there will be more details and updates soon with more material and the IDE, here while development and at mevedia.com when available.

It’s using THREE, the engine itself is rather independend and could be adapted to others, though out of all bare WebGL render engines THREE is best suited.

2 Likes

Awesome!

Please expand to more features around procedural generation, shaders, landscapes, noises, LOD, that will be the first engine to propose that kind of things (hopefully) in the market:

https://dexyfex.com/ (galaxy wide for example).
About performance matter, the example above is very tiny in term of megabytes for very huge multiple galaxies. That’s because none is stored and just procedurally generated on the fly when you approach a celestial body. This could be something to exploit. “If no players never approached a celestial body, display of it from a long-distance stay as it is, a star dot. But, when someone approaching a specific celestial body, details are loaded and possibly saved on a database”. Just thoughts here.

Another cool example is Star Citizen approach, when they do “Container Streaming” on both client and server side. I’m not sure what’s hidden behind this term of container streaming, but this looks to have greatly improved their FPS on Star Citizen. More on their development journals.

Anyway, that’s a wonderful project and looking closer to it. And using Three.

Thanks for reply.

WHEN is this coming out?! <3

1 Like

Does anyone know?

I can’t tell a date yet sorry, i’m pretty busy and can only work in varying freetime. Recently been working on a path network system based on bezier nodes used for roads/paths. It’s working mostly on GPU with dynamic LOD and handles crossings automatically.

These nodes are assigned to profiles which describe how the path is composed - materials, decal layers and rules which can automatically place traffic mark decals for example. Different path types also transition into each other with caps. Goal is to enable similar complex roads as seen in GTA V for example.

Also reworked the water also with underwater fog and added general refraction, which isn’t really visible here with the video quality, i’ll give some better material soon with all new features combined when it’s more complete.
(Test with simple planar terrain)

8 Likes

WHEN is this coming out?

That’s very impressive,but I want to know when is this coming out?

1 Like

WHEN is this coming out?

damn, This bring me confidence about WebGL

1 Like

I’ve been quite busy recently and the project that uses the engine also consumes time, i might start a patreon soon so i can spend more time on it as it’s a freetime project, with a recent milestone it shouldn’t be too much longer.

There also will be a light version which focuses on the static component, a lot games only need a giant terrain yet not a entire realscale planet where this is perfectly suited for, also with the capability of working seamlessly in chunks.

I recently finished a couple more technical things such as a tech i made years ago, but couldn’t get to work at that time. It creates a tiny 8bit map of assets for “Volume Hull Impostors”, which are 3D impostors that have the same visual appearance as the original model, but don’t consume a huge amount of memory, which allows every larger asset to be rendered as such.

Here’s a example, the lantern with the axis helper is rendered as mesh closer, and as impostor once the Y axis is visible.

An here in another test (trees in distance are impostors), another feature i added to the static component is some sort of density based ambient occlusion, as even though every tree casts shadows, it wouldn’t give the feel of a real dark forest even if it’s day.

The terrain material also has a improved depth based splatting now, as with the technique to enable up to 256 materials it was a bit more complicated than i thought :sweat_smile:
splatting

Materials with decoration sets such as grass also will derive their tint from the blending ground

The paths/roads systems also will use the bump/depth texture in order to mask with the terrain but it won’t compete with the terrains materials, rather height influences can alter parts being more or less visible having more variation then, or for open paths to blend out.

Not sure if i mentioned yet but i also extended the roads system to fences, walls and bridges, which are asset tiles that also partially use the VHP for efficient LOD, but don’t require any sort of volume.

3 Likes