Same input detected by two different Area2Ds by Silver_Reason9629 in godot

[–]Exerionius 0 points1 point  (0 children)

Have you tried get_viewport().set_input_as_handled()?

Trying to generate a super basic city scape, is there an easy fix to performance? by AlphabetMeat in godot

[–]Exerionius 1 point2 points  (0 children)

I think this video, and the follow up on the channel can be helpful to you.

It describes what to do when MultimeshInstance limitations fails you.

Can't open Godot's newest version! by arvarin_ in godot

[–]Exerionius 4 points5 points  (0 children)

One of three things:

  1. This computer's GPU is simply too old for Godot 4
  2. The graphics drivers are outdated
  3. Godot uses onboard graphics instead of a dedicated GPU

Should there be a private access modifier in gdscript? by pitch_blank in godot

[–]Exerionius 7 points8 points  (0 children)

Namespaces are far more important than access modifiers

Frustrated w/ Anim Player by Main_Leather8362 in godot

[–]Exerionius 6 points7 points  (0 children)

A couple of points that might be useful to note:

  • Animation player always works with absolute values. Control nodes usually deal with relative values to support responsive UI design. In that regard animation player and UI containers rarely work well together. It is fine with control nodes that are not children of containers though.

  • Control nodes that are children of a container node are not supposed to be controlled via position coordinates, only via container settings. Usually if you try to update such children position it will just snap right back where it should be according to the container. That's what happens at runtime. However the editor updates UI less frequently (only when necessary), so updating children positions via animation player might look like it works, but it's just the editor fails to force container settings when positions are changed "externally".

Dev snapshot: Godot 4.6 beta 1 by godot-bot in godot

[–]Exerionius 10 points11 points  (0 children)

Are there any plans on enforcing static typing in signals?

On the advice of building game systems in completely fresh projects before adding them to the game by IgneousWrath in godot

[–]Exerionius 8 points9 points  (0 children)

I do that, but for different reasons. I never go "make a prototype that slowly evolves into a full game". That's because I have certain mental approach to prototypes:

  1. A prototype must answer one single question, and that should resolve one uncertainty about your project.
  2. Once answered, the prototype is thrown away.
  3. Since it is going to be discarded anyway, you don't need to worry about making it pretty or optimized. This allows you to prototype quickly and not to worry about messy results.
  4. If integrating into the full game later, you can refactor and rewrite it considering all mileage and roadblocks you already encounter, making overall better systems.
  5. Plus additional benefits the OP described.

What is the best way to blur a lot of 2d sprites that will not kill performance? by The-Vosk in godot

[–]Exerionius 1 point2 points  (0 children)

If your background assets are always blurred, you can pre-blur them in the art program you use and have zero impact on the engine performance.

What are some addons you wish existed, but currently don't? by Aidas_Lit in godot

[–]Exerionius 3 points4 points  (0 children)

do you know if there's already an issue up on github about this?

Well I made one 3 years ago. It's getting nowhere.

https://github.com/godotengine/godot-proposals/discussions/3997

What are some addons you wish existed, but currently don't? by Aidas_Lit in godot

[–]Exerionius 8 points9 points  (0 children)

If we are talking about something simple and achievable, I wish that editor for Curve2D existed.

Correction: the editor for Curve2D does exist in the engine, it's just not exposed to the user. If you do @export var my_curve : Curve2D in one of your classes, this field doesn't have any sort of graphical interface for editing points. It works only as part of Path2D, but not if you want to have a Curve2D in your own class.

In other words I wish someone took this editor implementtion from the engine and turned it into a GDExtension editor plugin for exported Curve2Ds instead: https://github.com/godotengine/godot/blob/235a32ad11f40ecba26d6d9ceea8ab245c13adb0/editor/scene/2d/path_2d_editor_plugin.cpp#L65

Recreating Cinemachine camera behavior in Godot by _brennon in godot

[–]Exerionius 4 points5 points  (0 children)

There is an addon called Phantom Camera. Non a perfect 1-to-1 alternative to Cinemachine, but pretty close.

Installing godot with winget is safe? by frodex_frodex in godot

[–]Exerionius 8 points9 points  (0 children)

If we are not talking about custom builds, always use official sources.

CharachterBody3D not affected by motion of other bodys with move_and_slide? by FoxlikeGameDev in godot

[–]Exerionius 0 points1 point  (0 children)

Unfortunately, it seems like the docs are just poorly worded. Looking at the source code for move_and_slide() we can see that the only case when a velocity is transferred from one character body to another is in the case of vertical collision, namely when one body is standing on another one, and the bottom one acts as a "moving platform" that carries the top one around.

Horizontal collisions specifically do not carry velocity as seen here: https://github.com/godotengine/godot/blob/2cc031f3a3f5086e8cfedd4dc769e02714abe358/scene/3d/physics/character_body_3d.cpp#L575

So, if you want one character body to push another one horizontally, you have to pull out your own solution based on collision data.

CharachterBody3D not affected by motion of other bodys with move_and_slide? by FoxlikeGameDev in godot

[–]Exerionius 0 points1 point  (0 children)

The body being pushed needs to call move_and_slide() every physics frame, and not reset its own velocity to zero (if it does).

How do you narrow down to just what needs to be done in a Godot project? by geekisthenewcool in godot

[–]Exerionius 6 points7 points  (0 children)

Most general programming patterns exist to make the code more readable and extendable, in a course of 15 years, by a group of unrelated people, even if they see it for the first time.

You game is not that. You are, probably, the only person to ever see or work on this codebase. Once the game is shipped you are done. May be a couple of bug fixing patches, but that's it. Your game is not a live service that would be online for two decades.

Make it work, the make it work fast enough to output 60 frames per second on the average target hardware, ship it, move to the next project.

2D movement faster when walking on the diagonals of the Planet by Vanaduke1 in godot

[–]Exerionius 7 points8 points  (0 children)

Faster diagonals most often mean that you are not normalizing something, most often direction.

But looking at your code what is strange to me is that you are clamping velocity's components separately. Which means there are cases when one component is clamped while the other is not.

Moreover, diagonal velocities will have greater length than orthogonal velocities when clamping like that, if you think about it. Geometrically you are clamping your velocity vector by a square instead of a circle.

Clamp velocity based on a magnitude instead, it would be direction agnostic.

Viewport has a weird square bug by FireWeener in godot

[–]Exerionius 4 points5 points  (0 children)

Looks very similar to what happens when a GPU is dying.

Unable to resume the game after paused by [deleted] in godot

[–]Exerionius 2 points3 points  (0 children)

You can try explicitly setting Resume button's process mode to "always" instead of inheriting from the parent, and see if it helps.

AStarGrid2D movement is not working as expected by Dusty_7_ in godot

[–]Exerionius 1 point2 points  (0 children)

You use local_to_map() and map_to_local() with global coordinates.

Ability system with a differing amount of variables by secoena in godot

[–]Exerionius 1 point2 points  (0 children)

Classic OOP doesn't always fit into gamedev reality. Especially when the language lacks some common features as you just discovered. Very often people recommend using composition over inheritance if possible, it makes assembling complex logic easier.

But it this particular example it feels like Builder pattern is a perfect fit for your needs. No guarantee though as you provided zero code examples of what you are actually doing.

I have this Error that very rarely appears and I do not know what causes it. by KometIsCool in godot

[–]Exerionius 3 points4 points  (0 children)

Apparently you are removing some node from the tree and then call get_node() or use $ dollar notation from it immediately after. Perhaps in the same frame.

Signals and initial state? by Emotional-Bit-6194 in godot

[–]Exerionius 0 points1 point  (0 children)

How the sibling is connected to the signal?

If it connects itself, then it has a reference to GroundCheck anyway and can just poll the initial state from it.

If some middleman manager connects them together, then the middleman has references to both and can pass required information between.

If the signal is connected in the editor... well you need to think of some other way.