Note : Latest version is playable at this url
Hi fellow coders,
Here (first version) is my take at babylon-based Voxel Engine. Like the title says, it’s “spherical”, which means it renders a Planet made of “nearly cubic” voxels, where each voxel has a flat surface from the point of view of an observer standing on the planet.
It also uses a method similar to marching cube to render slightly smoothed cubes.
A demo is available here, while it works on mobile, it requires decent hardware.
(there’s some occurences of “double tap for ground view” not working on some locations on the planet, just try another one, I suspect it’s due to meshes being frozen and bounding box not being up to date…)
Link to GitHub project : GitHub - SvenFrankson/planet-builder-web: BabylonJS version of PlanetBuilder algorithms
Thanks a lot for your attention and have a nice day !
Wow its really smooth on a 2020 macbook pro, solid 60 FPS. The chunks do load in slower than I can spin around though
There are so many cool game mechanics you could make with this, congrats
This is really cool, congrats !!!
This is seriously impressive! As br-matt said it runs super smooth, the ground movement is also very pleasing and the simple shading + outlines suits the look really well
While exploring around I even found some subterranean caves, how cool is that!
@PirateJC I feel this would be a super cool tweet
Thanks for the kind words
@br-matt Yes, the issue with my chuncks of voxels is that I could not find a way to easily render degraded LOD versions of them, so I’m currently experimenting a solution with patches of “heightmap based” meshes to fill the voids, hopefully it will do the trick.
Hey @SvenFrankson this is awesome! Are you on twitter? I’d love to tweet about this from the official Babylon twitter account!
Thanks, I’m no longer on Twitter, but feel free to tweet about this, it would be a pleasure
Hi, I’m back with an updated version of PlanetBuilderWeb !
You can test it here ! Planet Builder
- PlanetBuilderWeb now supports having multiple planets, and far planets are rendered with a heightmap-based mesh.
- Mesh generation is improved with tri-planar(ish) texture mapping and a better normal computation.
- Ingame UI with 3D proceduraly animated arms.
- Mobile friendly movement with tutorial.
Again, thanks for your interest in this project and have a nice day !
Wow its come quite a ways ! Runs quite well for me.
I hope you are considering turning WebXR VR / wire hand tracking to that mesh ! Going to be pretty cool in there at scale
Looks fantastic and performs great!
I did have a little trouble though:
- In the tutorial when it got to the step to press “2” to open the planet selection menu, it didn’t work (maybe I misread the key I was supposed to press?) and therefore couldn’t progress beyond this step
- Sometimes button clicks didn’t do anything i.e. I could see the button state change but it didn’t trigger anything
- There seemed no way to escape back to start or main menu -
esc key didn’t do anything
Hi, thanks inteja
Opening MainMenu panel is mapped to ², not 2. Now that you say that, I’m not sure ² exists on all keyboards, so I’ve mapped it to M as well.
In performance page, picking “Low”, “Medium” or “High” changes the range at which chuncks are generated, and the resolution of the screen. But because the planet is very small, it’s always rendered fully and no new chuncks are generated when switching from “Low” to “High”.
This is CRAZY COOL! Love the menu interface with the robot hand
Looks amazing man! Good job on that ui also!