HULL BREACH
banner
hullbreach.bsky.social
HULL BREACH
@hullbreach.bsky.social
A game project centered around breaching spaceships and getting up to shenanigans.

Get more detailed updated on Tumblr:

https://www.tumblr.com/hullbreachgame
Likely this will consist of making actual holes, rather than just slices. If it goes smoothly, I may even have the really major 'fracture' system in place-- as a hint, it will make use of some voronoi cells and entirely too much math.

#gamedev #godot #3d #destruction
August 23, 2023 at 2:22 AM
The good news is that it works. The important thing now is to completely rewrite the thing-- that sounds bad, but really it's just so I can clean it up and have good documentation and the like, plus take care of some bugs.

From there, the next step (and update) will be advanced destruction!
August 23, 2023 at 2:20 AM
3. Find the intersection points in those broken tris
4. 'Shift' the below points to those intersection points
5. Construct the cut face using the 'normal' (facing direction) of the cut

This is still simplifying a bit, as this only mentions 1 side, but as stated it's a bit of a nightmare.
August 23, 2023 at 2:19 AM
That makes it great for the GPU. It makes it less-great for actually coding meshes, at least for my inexperienced self.

So elaborating further on how it works:
1. Get the points above and below the plane.
2. Get the 'broken' tris (ones connecting above and below points)
August 23, 2023 at 2:17 AM
So some information for people not super familiar with 3D stuff-- and this is a gross oversimplification; every 3D shape you see is just a bunch of triangles. Your GPU loves those pointy things. That means that a cube, which is 8 points and 6 faces is really 24 points and 12 tris (triangles)
August 23, 2023 at 2:15 AM
As stated in the previous update, the way this works is basically drawing a plane in the cut direction, getting the points 'above it' and then rebuilding it. But how do you rebuild it?

Well it gets a LITTLE more complicated than that.
August 23, 2023 at 2:13 AM
The most important question to ask, though, is "how does it run?"

I'm pleased to report that the answer to that is... extremely well! Even with rapid, repeated slices on the same mesh, there is no noticeable change to performance. It remains to be seen how the advanced version will be, but hey!
August 23, 2023 at 2:12 AM
There are a number of bugs still present, and the actual code is a relatively undocumented wasteland, but that's a problem for future Duncan, and nobody likes them! Additionally, a bonus that I wasn't expecting to do but ended up being quite easy was different materials for the cut surface!
August 23, 2023 at 2:10 AM
The process should hopefully not be too bad, and the next update should be progress on the basic form of it!

(Full Post Here: www.tumblr.com/hullbreachga...)

#gamedev #godot #3d #destruction #hullbreach
First Update!
Hello! I'm Duncan, and this is where I'm going to be posting updates for my personal, hopefully-to-be-completed-one-day game project! The quick sales pitch: Heat Signature with a dash of Hardspace�...
www.tumblr.com
August 23, 2023 at 2:06 AM
Step 1. Make your 'hole' shape
Step 2. Create a plane going along one edge of the hole.
Step 3. Get all the points of the object above that plane and reconstruct it.
Step 4. Repeat 2-3 until you're done.

Sounds easy enough-- but working with meshes can be a bit of a pain!
August 23, 2023 at 2:04 AM
So instead, we have to do it dynamically.

This consists of, effectively, slicing up an object with a bunch of planes into smaller objects.

The gif for this process is available on the Tumblr post which will be linked at the end of the thread.
August 23, 2023 at 2:03 AM
The way you'd probably go about this for most forms of destruction is pre-bake the destruction-- you have the 'normal' version and the 'broken' version, then just load it when you want it to break.

That doesn't really work here, as the goal is that you can really open a breach ANYWHERE.
August 23, 2023 at 2:02 AM
Things are very much in the planning and testing phase right now. So, without further ado, let's get into one of the big things being worked on right now: Destruction.

Stage 1 of destruction involves actually creating some methods for destruction in Godot!
August 23, 2023 at 1:59 AM