Here's a quick demo of a 6 degree of freedom 3D engine that I have been working on.
You can just explore a small space station in a Descent-like style.
Controls
Z: Thrust
Arrow Keys: Turn
X+Arrows: Roll
Notes
The map is stored in a long string and is generated from a Blender OBJ file. The station is as complex as I can make it before running out of compressed code space. To make something larger, I think I would have to switch to more of a 3D tile system with room building blocks that snap together.
The engine uses a simplified portal system paired with convex sectors to determine room visibility and draw order.
Thanks
Thanks to Fred72 for the polyfill code. (https://www.lexaloffle.com/bbs/?tid=3393)
Updates: fixed some code that broke with version 2.5g


Yeah... haven’t been able to debug that one yet. Error code isn’t especially informative about why it’s failing.


my frames died when I was looking at a certain spot but other than that flawless!
For some reason it feels really good to bonk things


I 100% agree that some control options would be handy— invert, reverse and such. Also, I want to see what a mouse control would feel like.
The cart stability issues are one of the reasons I released a demo — I think I am hitting some unhandled corner cases of the internal line drawing code (zep provided a temp fix) and maybe thrashing other areas too.
Usually the error codes indicate the failure type, so I wonder if something odd is happening with the interpreter. Also it’s giving “line 0” as error location, which feels abnormal.


Nice. It's too bad there's no good button combo for reverse thrust. Z+X means you can't roll while thrusting forward. I tried double-click-and-hold but I kept engaging it by accident when feathering the accelerator. Hmm.


For a bit, I had up + left or right as rolling-- I wonder if that feels more natural. It would have the benefit of freeing the x button for shooting or reverse or something like that...


the up and down are inverted make an option to invert the vertical turn direction


This is a fixed version that I made. https://drive.google.com/file/d/1dKahNQjkxFPLtJPIkkDtn2k1hfEgbWRb/view?usp=sharing
[Please log in to post a comment]