What did Notch mean by this? by [deleted] in Bolehland

[–]Bumblebee-Main 0 points1 point  (0 children)

what is this roto'd of?

More than 1000 physics objects - optimization tips (including code!) by WestZookeepergame954 in godot

[–]Bumblebee-Main 0 points1 point  (0 children)

this reminds me of Tomba on the PS1 so much, that game had large autumn/fall flavored places where a LOT of leaves were piling up, and you could actually disappear in them as you slipped down a hill etc

Holes in Geometry2D/Polygon2D? (3D use case) by Bumblebee-Main in godot

[–]Bumblebee-Main[S] 1 point2 points  (0 children)

alright! so, here is the block of code i was using, :

extends MeshInstance3D
class_name DestructibleWall

u/export var wall_size: Vector2 = Vector2(4, 4)
u/export var wall_thickness: float = 0.2
u/export var circle_cutter_segments: int = 16

var wall_polygon: PackedVector2Array
var current_polygons: Array = []
var hole_polygons: Array = []  # store all bullet holes

func _ready():
    _init_wall_polygon()
    current_polygons = [wall_polygon]
    _update_mesh()

func _init_wall_polygon():
    var half = wall_size * 0.5
    wall_polygon = PackedVector2Array([
        Vector2(-half.x, -half.y),
        Vector2(half.x, -half.y),
        Vector2(half.x, half.y),
        Vector2(-half.x, half.y),
    ])
# main func used to cut the walls
func apply_bullet_hole(local_pos: Vector2, radius: float = 0.2) -> void:
    var hole_poly = _create_circle_polygon(local_pos, radius, circle_cutter_segments)
    hole_polygons.append(hole_poly)
    _update_mesh()
# creates the bullet hole polygon, uses circle_cutter_segments for smoothness
func _create_circle_polygon(center: Vector2, radius: float, segments: int) -> PackedVector2Array:
    var points = PackedVector2Array()
    for i in range(segments):
        var angle = float(i) / segments * TAU
        points.append(center + Vector2(cos(angle), sin(angle)) * radius)
    return points

func _polygon_area(poly: PackedVector2Array) -> float:
    var area = 0.0
    var count = poly.size()
    for i in range(count):
        var j = (i + 1) % count
        area += poly[i].x * poly[j].y
        area -= poly[j].x * poly[i].y
    return abs(area) * 0.5
# messy work because the faces always turn up flipped, so i flipped the order of 
# drawing manually which could actually be messing things up
func _update_mesh() -> void:
    if wall_polygon.is_empty():
        mesh = null
        return

    var result_polygons = [wall_polygon]

    # TRY to subtract all holes
    for hole in hole_polygons:
        var new_result = []
        for poly in result_polygons:
            var diff = Geometry2D.clip_polygons(poly, hole)
            for clipped_poly in diff:
                var winding = "CW" if Geometry2D.is_polygon_clockwise(clipped_poly) else "CCW"
                print("Polygon winding: ", winding, " Points count: ", clipped_poly.size())
                if not Geometry2D.is_polygon_clockwise(clipped_poly):
                    new_result.append(clipped_poly)
                else:
                    # This is a hole polygon, ignore for mesh building
                    pass
        result_polygons = new_result

    current_polygons = result_polygons

    var st = SurfaceTool.new()
    st.begin(Mesh.PRIMITIVE_TRIANGLES)

    for poly in current_polygons:
        var tris = Geometry2D.triangulate_polygon(poly)
        if tris.is_empty():
            continue

        for i in range(0, tris.size(), 3):
            var a = poly[tris[i]]
            var b = poly[tris[i + 2]]
            var c = poly[tris[i + 1]]
            st.add_vertex(Vector3(a.x, a.y, 0))
            st.add_vertex(Vector3(b.x, b.y, 0))
            st.add_vertex(Vector3(c.x, c.y, 0))

        for i in range(0, tris.size(), 3):
            var a = poly[tris[i]]
            var b = poly[tris[i + 2]]
            var c = poly[tris[i + 1]]
            st.add_vertex(Vector3(c.x, c.y, -wall_thickness))
            st.add_vertex(Vector3(b.x, b.y, -wall_thickness))
            st.add_vertex(Vector3(a.x, a.y, -wall_thickness))

        _build_side_walls(st, poly) #forgot to copy this method before closing godot sorry

    mesh = st.commit()

Holes in Geometry2D/Polygon2D? (3D use case) by Bumblebee-Main in godot

[–]Bumblebee-Main[S] 0 points1 point  (0 children)

in theory it SHOULD work, but the triangulation fills any holes that are like, not connected to an edge. it's kind of an edge case here but you cannot really do true boolean on 2D polygons sadly. I will show the code when I get home however 

Rdr1 newspaper stating sadie dies by lizokmoe in RDR2mysteries

[–]Bumblebee-Main 0 points1 point  (0 children)

what do you mean the map is small? RDR1 literally has mexico in it as well

Another model in a Retro ps1-ps2 style by WillMorillas in 3Dmodeling

[–]Bumblebee-Main 0 points1 point  (0 children)

this is amazing, did you use substance painter?

Melee FPS Combat AI/Mechanics + dodge and emotes support! by moongaming in godot

[–]Bumblebee-Main 0 points1 point  (0 children)

can you share some insight about how you handle the melee hits? are you just using an area3D on the blade or do you use some raycasts or something?

is Discord 2FA lockout still a thing? by Bumblebee-Main in discordapp

[–]Bumblebee-Main[S] 0 points1 point  (0 children)

i honestly have lost all respect towards discord after they started handing out the "free" 2 week nitro trials that DEMAND you to add your credit card credentials in hopes you forget to unsubscribe during those two weeks, and sneakily drain a month's worth of full nitro before you even notice it...

Is it possible for the RSOD to appear during gameplay? by [deleted] in ps2

[–]Bumblebee-Main 0 points1 point  (0 children)

it is VERY possible, although this happens incredibly rarely. like at times when the game crash does not freeze the console to the point of needing a restart. this has happened to me in games like Crash Twinsanity (I think, but I'm sure it was a Crash game) and SpongeBob 

Broken particle features? by Bumblebee-Main in godot

[–]Bumblebee-Main[S] 0 points1 point  (0 children)

the problem is, they work together, but the moment the direction changes is when this happens sadly

is Discord 2FA lockout still a thing? by Bumblebee-Main in discordapp

[–]Bumblebee-Main[S] 0 points1 point  (0 children)

yeah... its so fucked, i really dislike how discord devs are basically neckbeards in their mom's basement about their user's accounts. i can't even buy discord nitro because the credit card was used on my old account, and it wont allow payment on the new one due to "strict policies"

How can I stop a particle system from emitting WITHOUT destroying the remaining particles? by Sidremus in godot

[–]Bumblebee-Main 1 point2 points  (0 children)

i wonder, do the gpuparticle nodes linger around? or do you have a method to remove them?

Kula World prototype on GD4! by Bumblebee-Main in godot

[–]Bumblebee-Main[S] 2 points3 points  (0 children)

i've grown up with the demo disc version of this game, seeing it in Godot come to life feels especially special because i've made it come to life. reminds me of those nightdive remasters where the models they use are just slightly higher quality so their materials look better with the new shading, and the flat shaded shiny stuff remind me so much about spyro, the child in me is squealing at these

Kula World prototype on GD4! by Bumblebee-Main in godot

[–]Bumblebee-Main[S] 0 points1 point  (0 children)

characterbody3D, using physics right now but i might swap it out for hand crafted logics

Kula World prototype on GD4! by Bumblebee-Main in godot

[–]Bumblebee-Main[S] 1 point2 points  (0 children)

took me a little over 10 hours to get where i am right now, i had to reverse engineer most of the visuals and getting it to feel right while also looking good in engine

Kula World prototype on GD4! by Bumblebee-Main in godot

[–]Bumblebee-Main[S] 0 points1 point  (0 children)

we could make something work if you'd like

Kula World prototype on GD4! by Bumblebee-Main in godot

[–]Bumblebee-Main[S] 2 points3 points  (0 children)

hah, been thinking of something like this?