Ot - 3D voxel engine

Here’s a quick update of the new rotor components added. The ship is now modular, i.e. depending on how it’s made up of hull and rotor components, it will have different mass, angular inertia, and acceleration. Next steps, adding a 3rd component (blades / wings) and then adding non-cubic shapes. Here’s 2 different ship configurations:

Pi7JR8kDpIk

iijK48PYLCo

I’ve added 2 more components. Helium component which applies an up force, and a blade/wing component which demonstrates sub-cube geometry. Next steps to make a ship editor so they can be built and customized without writing lines of code.

I’ve also added a link to the github repo, https://github.com/mahhov/ot-voxel-engine

_M-LvFoPrGo

0xAV5HDiWlw

The visual editor is now complete. Here’s a ~7 min demo. Feel free to try it out (via the github link, since I haven’t updated dropbox link since the first post), and post your creations or private message your creations to me if you prefer.

Sandbox Controls:
w, a, s, d, space, and shift - accelerate ship forward, left, backward, right, up, and down
z, x - zoom camera in and out
move mouse - change camera orientation
p - pause
enter - toggle between free-camera (controlled by mouse movement) and follow-camera (always looks towards your ship)
m - to toggle between sandbox and editor

Editor Controls:
w, a, s, d, space, and shift - to move camera
i, j, k, l, u, o - to change selected direction
1, 2, 3, 4, 0 - to change selected piece (1=hull, 2=rotor/thruster, 3=helium, 4=blade/wing, 0=delete)
mouse move - to change selected location
mouse click - to place selected piece with selected direction at selected location
enter - to reset camera to default location and orientation
\ - to load ship from file
/ - to save ship to file
m - to toggle to sandbox mode and try out your creation! (be sure to save before going to sandbox mode. sandbox mode will load from file, not from whatever is in your editor)

5Nw9JopHREc

Here’s a final video showing off how the engine handles some simple map (generated using the square and diamond algorithm).
There’s also a pink block you may notice that’s shooting out small projectiles every few seconds, it’s the gun module.
Next steps if I continued to the project would have been to make the world destructible and collision detection and such.
However, I’ll most likely be stopping working on this project as I’ve achieved all the goals I wanted to reach with it in terms of rendering optimizations and algorithms.

By the way, if trying to run the code in the git hub repository, there are 3 main methods, Engine.main will just run sandbox mode, EditorEngine.main will run just the editor mode, and Client.main will run them both (toggling back and forth via the ‘m’ key).

I’ll update the top post to include the 2 latest videos.

Thanks guys for all the feedback.

Vuf5CngovKY