lingo.lol is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for linguists, philologists, and other lovers of languages.

Server stats:

59
active users

#Godot

16 posts13 participants3 posts today

Had a hard time falling asleep last night because I was getting anxiety thoughts about my #Godot project.

I want real interfaces or traits static typing, and I'm not super excited about all the extra engine baggage that we won't be using. And I don't want to use C#.

But I also don't want to code all the graphics and pathfinding and editor stuff from scratch, it is so much work. And I'll still need scripting capabilities. I have a lot of coffee for those things in half finished Rust projects that I've worked on over the years, but switching now would set me back so much...

I wish #Bevy was like a bit more mature, with the editor and a stable API, or that I already knew enough C++ so that I could write my game logic in a GDExtension without having to learn language basics, or that the Rust Godot bindings were mature...

It's a pain to implement complex systems without proper compile time type checking, and I haven't found an up to date testing framework, so I keep having regressions and weird bugs, and now I have to do state machines in GDScript and it feels wrong.

Anyway the tradeoffs are probably worth it, and I'll be able to progressively rewrite things as a GDExtension later why my implementation stabilizes. Just gotta be patient and do one step at a time.

Hey! I wanna know about optimizing #Godot games for #mobile. Do you have any resources or general tips on that?

I read this article, in which they mention minimizing the amount of times the GPU needs to read textures. I assume this could be achieved by reusing textures/materials when possible, right?

community.arm.comOptimizing 3D scenes in Godot on Arm GPUsIn part 1 of this series, learn how we utilized Arm Performance Studio to identify and resolve major performance issues in Godot’s Vulkan-based mobile renderer.

Looking through Composition for Godot.
It seems that "The Godot Way" is to make everything Scenes/Nodes, with attached Scripts, and drag them onto the Scene that wants them. Or to export a variable, and add the component Node there.

I need to ado a LOT of rewriting to sort this out.

All advices welcomed

I spent the whole day with Godot multi-threading. I tried the WorkerThreadPool and also spawning Threads manually, but the performance gain between doing the stuff in a thread is less than expected.

My goal was to multi-thread a intensive task, that takes about 2000ms on the main thread. But in the end it was only 25% faster when ran 10 tasks simultaneously.

Does someone have a Godot multi-thread success story? I really want to see how it's done properly.

How can i make two 3D objects look at one another?

lemmy.world/post/33392061

lemmy.worldHow can i make two 3D objects look at one another? - Lemmy.WorldI’m working on a two player 3D game that involves both player character models facing toward one another most of the time. I worked out that i can use translate_object_local(Vector3.MODEL_<side>) for movement around a point that a model faces toward (there’s probably a better way to do that, but that’s not what i’m focused on for now), but i’m struggling to make that focus point an object instead of just coordinates. > I’ve tried a few things inside func _physics_process(delta): look_at($Beacon.position.x, Vector3.UP, $Beacon.position.z) to rotate around the Y axis and face the object Beacon (CharacterBody3D placeholder for player 2) crashes with the error “Invalid access to property or key ‘position’ on a base object of type ‘null instance’.” Putting var look_here = position in the script for the beacon and then look_at($"../Beacon".look_here) in TestChar (test character) makes the character rotate around the world origin. Adding a Vector3 variable look_here_P1 to Beacon’s script and then adding or subtracting to its X and Y positions with beacon’s movement keys should make TestChar face a point that’s in the same place as Beacon, but i don’t know how to either make TestChar use that that variable from Beacon’s script, or move the variable to TestChar and make Beacon update it now that it’s in another script. Making Beacon emit a signal every time it moves in a particular direction and then using those signals to update a Vector3 variable in TestChar’s script doesn’t seem to work, i think either it doesn’t update the variable’s position or look_at() in _physics_process doesn’t check for a new target to look at. > Is there a simple way to make an object always look at another object? I’m sure there must be but i can’t seem to figure it out. Thanks in advance.

One of the biggest challenges I am facing in my #Godot #GameDev journey is the composition pattern. I need to read now about it. But briefly, what I'm running into is this. I have some entities finished of nodes and resources and things, but when I have some entity interacting, I need to have some kind of interface that I can call into! If I don't know what are the components that compose a particular entity, how do I know what methods I can and can't call meaningfully?! And if I do know, if I have some kind of parent entity that implements a particular set of methods that call into the components, what's the difference between that and inheritance? especially since I don't have a ton of different types. With an ECS, I'd know how to solve it by definition, but with the node tree it seems less intuitive to me.

KLAXXON! #SOURCE issue 2 is now available for download! In case you don't know what I am on about SOURCE is my attempt at an #opensource "pay what you feel" magazine. In this issue we look at #Godot, #Inkscape, #OpenStreetMap #Logseq #Termux and #Syncthing

There's a little more info and a direct to pdf link on my blog as well as links to Issue 1 which was a deep dive on Computational Fluid Dynamics with #FreeCAD.

concretedog.blogspot.com/2025/

Please Boost!

Replied in thread

Now, the remaining problem I'm having with my #godot #indiedev project is that I still get body_exited events when the player starts or stops moving while overlapping or even fully within the collision shape.

I don't know how to deal with this. Because after a player spawns in at a door, I don't want it to activate until they player has LEFT the collision area and RE-ENTERED. But I am getting a false body_exited event as soon as the player starts moving, and I don't know how to exclude this.

Replied in thread

Last night, very late, I posted in frustration that I couldn't figure out why my Door's player detection was "flapping". I'm happy to report that it was just my addled, sleep-deprived brain at fault.

I was seeing interleaved console logs from the two different doors in my level, forgetting that I had two doors. One was correctly detecting the player overlap, the other was correctly not detecting player overlap.

🤦This is why I should go to bed instead of trying to code at 1am.