3D explorer initial release
Last changed on
The 3D explorer is available! Far from all of it though: as of the writing of this post, it is limited to the visualisation of galactic shapes.
Each galaxy's 3D representation is based on cubes. As a consequence, the displayed galaxies are composed of particles, roughly generated as follows:
- Server-side, 3D cube density maps are computed
- Client-side, they are interpreted as a indication of how many particles should be found inside the corresponding 3D cube. In addition, the density score for a unique
[x, y, z]cube coordinate has an influence on the "lightness" of its particles: the denser, the "whiter" the particles, and the less dense, the darker.
A particle is not a star: actual stars will come at a later stage, and there are actually way more stars in a galaxy than the number of displayed particles. If we displayed one particle per star, we would run into several minor problems:
- You could go on a short trip while waiting for the server to compute it all (we're looking at days…). For example, the Trass'ir galaxy is estimated to have around 4×1010 stars in it. Multiply that by around 0.0005ms per star and you end up with about 2.5 days server-side calculation times. That's if the server has enough RAM, which it doesn't…
- After you client has finished downloading the gigabytes of data, it will start to painfully suffer: its memory will fill, CPU and GPU(s) will be hard at work and start heating/melting, your OS will start swapping like crazy, and your browser will almost certainly reward you with a "Awww snap" error page. Or a BOSD. You can then choose to press
F5- I wouldn't :-).
Coming features
Admitedly, the 3D explorer is limited at the moment. But more is in the works:
- the ability to freely navigate: no in-game rules here yet so no limitations related to speed, in-game technologies/capabilities, etc. Pretty much a "ghost in space" experience (but see below)
- the ability to see everything the engine has to show: to click entities such as stars, planets, etc. and display their details in a way that is similar to the data explorer
Free navigation
Think "ghost in space", or "Deterrence Fleet" by Peter F. Hamilton: you are nigh-omnipotent, omniscient, can go anywhere and nothing is hidden from you.
…With a speed limit
The only limit is set by yours truly, who limited the speed at which you can freely move throughout the galaxy. After all, this poor guy has to take into account how quickly the server-side procedural generation is going to go… and you must not outrun it! In other words, I will try to prevent the following from happening: your ghost moving so fast, the data generation is unable to keep up and you end up with:
- in front of you, an utterly empty universe;
- behind you, a laggy universe, with both server and client trying to catch up; server constantly sending data (bad for bandwidth), client constantly garbaging out entities that are by now out of its LOD spheres.
We don't want that to happen. Zooming too fast above the galactic speed limit across the galaxy would prevent us from enjoying that nice sightseeing :-).
Rest assured, though: that speed limit is way above light speed, so you won't be inching your way between stars either.
Teleportation
A plan is to allow teleportation - as in jumping instantly from one 3D location to another. While this will usually require a complete reset/reprocess/redownload of the LOD sphere data around the new position, this will be faster than travelling there by foot.
Bookmarking
A logical consequence of teleportation, but with coordinates you do not have to remember by heart. It sounds like a nice idea - however, it probably means several things:
- Ability to save a location for one's own means having an account: registration, logging in, etc. It would however be convenient to save it alongside a short description;
- Ability to share a bookmark location with someone else, so that your friend, with a simple click, can view what you deemed worthy of seeing. No signing up necessary for your friend.
Things to work on, I guess…
What are we looking at?
You can see everything the engine has to show, including its problems: incredibly weird atmospheres, a 27,000K temperature red giant, and so on. The engine still has the following components that need working on:
- Fine-tuning of many parameters, which all have a more or less profound effect on entities characteritics, be it radius, orbit or crust composition to name a few.
- Actually starting on difficult parts: fast server-driven procedural texturing being a major one.
- Finish plugging in the Rust back-end into the websocket front-end layer. Urgh.
- Working on shaders because frankly, I am not fully satisfied with the visual aspect of the 3D experience…
- And many others.
That's all for this post. Please let me know what you think by dropping me a line.

Please signin to add your comment.