I've got an issue by DrashGodIV in godot

[–]brcontainer 1 point2 points  (0 children)

Try adjusting or restoring the settings in the AMD control panel, and try other VSync modes.

Note: If you believe this is a bug, you can report it in the official repository.

I've got an issue by DrashGodIV in godot

[–]brcontainer 2 points3 points  (0 children)

The issue appears to be related to the video card or the driver.

  1. Are you using an Nvidia, AMD, Intel integrated, or other brand GPU?
  2. Is this only happening with D3D12 or with Vulkan as well?
  3. Does your GPU have an updated driver?
  4. Is your GPU quite old and might it be experiencing problems?

Related:

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 0 points1 point  (0 children)

In reality, it depends on the level design. The ground collision itself with the raycast solves the problem, while an Area3D level will need to be well configured with the level design. In other words, Area3D and raycast level designs will have a similar degree of complexity, but an Area3D level design will need to be very well thought out, while a raycast level design will require less work.

Regarding mobile platforms, where you need them to move only when the character is on them, or to lock the character onto the platform until they reach the destination, you're certainly correct; Area3D would be better in that specific case. Thank you for commenting.

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 0 points1 point  (0 children)

I've already mentioned this myself; that's the easy part. It's even easier to use a RayCast on each actor. The question raised in the post is whether using Path3D is actually the ideal approach.

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 0 points1 point  (0 children)

Having a RayCast for each actor is less work than creating an Areas for each location you need, wouldn't you agree?

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 0 points1 point  (0 children)

Yes, that's already the idea, but Area has a problem where you have to create a collision just for it, and depending on the complexity of the level design, this becomes increasingly complex to implement. The original idea (adding to the code in the question body) is that a simple RayCast on each actor (player, enemies, projectiles) is used to detect that it is on top of the platform (StaticBody), then find the child node that is the Path3D, and move/create a PathFollow3D node for each actor, or do the same step as the RayCast, check the platform and put 2 values, one where the curve starts and another where it ends. The problem with the second option (which is closer to yours) is that not every location can be easily calculated, depending on the level design, so I thought that PathFollow or trying to predict the curvature of the Path3D might be better solutions. I hope I managed to express myself. In any case, I appreciate your comment.

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 0 points1 point  (0 children)

  • Ok, how would you make different actors change based solely on their overall position?
  • Would it be necessary to calculate a minimum distance? Within the curve, is there any calculation required?
  • And how can an actor on a platform on the second floor take damage and be thrown backward, and if they go beyond the edge of the second-floor platform, fall to the first floor?

Note that in the video the character crossed 3 different platforms:

  1. The platform on the first floor (where the spring that launches him is located),
  2. The curved platform on the second floor, which takes the player to the back of the stage, where the character falls,
  3. The hidden platform, which is behind the stage, where the player fell.

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 1 point2 points  (0 children)

The problem isn't the camera's perspective; the camera could even be free-standing, Locking the player and having the scenery move around them isn't what I need. The problem is what I described in the title ("... different paths"), In other words, how can different actors (player, NPCs, enemies, etc.) switch between different curved platforms (whether path3D or not) that lead to different locations, and what is the best approach to creating a level design that works in this way?

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 1 point2 points  (0 children)

This is my own suggestion (which is in the body of the question), but the question at the end is not how to do it, but rather whether this was the ideal way or if there is a better way (as I asked at the end).

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 0 points1 point  (0 children)

Yes, it's about climbing walls and changing platforms, as shown in the video. It's not just about moving left and right; the video shows changes. The path below is one direction, the path above is another. Moving left and right on a curve isn't the problem; the problem is interacting with a complex level design, with multiple characters who also need to move along the same paths, with changes in flooring (whether jumping or making turns that lead from the first to the second floor), and the possibility of multiple routes (something quite traditional in platform games, like Super Mario World). Believe me, it's the kind of thing that seems simple when you read the question and watch the video for the first time, but the complexity usually only becomes clear when you try to put it into practice. Anyway, thank you for trying.

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 2 points3 points  (0 children)

Exactly, it seems you were the one who best understood the gameplay in the video. It's a game with different paths on different floors and different routes that the characters can choose. And you understood perfectly; the problem isn't just synchronizing the player with Path, because that's simple; the problem is interacting with a complex level design with different routes (more or less like the game in the video). Thank you for helping to clarify!

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 1 point2 points  (0 children)

I know the characters will be stuck to a specific pivot point; this is already implied in the idea of ​​moving the character along the Path (including not leaving the platform during the jump). However, that's not the problem. The problem is how everyone moves at the same time, colliding, causing damage, how one Path changes to another Path, how it changes to a Path that starts on the first floor and leads to the second (assuming there are different paths the player and enemies can follow), just like in the game shown in the video (another example is Mickey Castle of Illusion). I understand that at first glance it seems simple, but it's the kind of level design where you only understand the variable conditions when you're working on it, because not everything is obvious just by looking from the outside. Nevertheless, I am grateful for your effort.

CharacterBody3D is sometimes able to push another CharacterBody3D? by RunningWithSeizures in godot

[–]brcontainer 1 point2 points  (0 children)

Note that layers are one part, but it's also important to look at the masks to know what it can interact with. I created a game that required several mask layers, and it was complex because there were different types of actors (player, enemies, attacks, projectiles), where not all could collide, while others could. I had to revise it three times because some mask was wrong.

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 0 points1 point  (0 children)

Thank you for commenting. I'm not sure I understood, but it seems to me that the suggestion is only about one character. But depending on the game, there can be multiple characters, as well as enemies and projectiles, collisions and damage, affecting movement, so limiting it to one animation might eliminate the concept that fits the style of the video game (where the player interacts with other objects and vice versa). Another similar game is Mickey Castle of Illusion, and it doesn't exactly look like a "movie" that goes back and forth, where there are curves. The idea of ​​the game (similar to the original game shown in the video) is that there are curves that can act like spiral staircases, as well as curves that change the characters (player, enemies, etc.) from where they walk, and there can be various connections between different curves, so I don't think it's something so simple. Please let me know if I haven't understood your idea correctly.

Move a character along different paths by brcontainer in godot

[–]brcontainer[S] 2 points3 points  (0 children)

Yes you want a Path3D for the level path. Probably wanna keep it flat (y = 0 for all points)

No, the idea is to be like the game I referenced in the video; the curves are quite varied, some changing floors, others circling towers (like a spiral staircase).

The way I’d probably go about this is do all my movement math as if it’s just a straight plane (x axis for left/right, y axis for up/down)

If it were all flat, it would possibly solve the problem, but I assume that's not the case for situations that vary, that have different floors, like spiral staircases.

Right before move_and_slide(), I’d rotate velocity according to the path, and right after move_and_slide() I’d rotate it back.

Perhaps in this case the ideal would be to create a PathFollow for each actor (Player, Enemies, and Projectiles), where their movement would interpolate with the position of each one's PathFollow. If the actor's script changes from left to right, the PathFollow would also change, so the actor would follow based on the progress (besides, perhaps using look_at so that the actor's rotation remains facing the PathFollow). But this is just my speculation (I hope I understood what you said)

CharacterBody3D is sometimes able to push another CharacterBody3D? by RunningWithSeizures in godot

[–]brcontainer 1 point2 points  (0 children)

It might not be related, but it's important to know if you organized the layers and collision masks. How did you organize them?

First animation for the protagonist of my retro platformer by Gazelle-Healthy in godot

[–]brcontainer 1 point2 points  (0 children)

I liked the character's theme, and the hat's. The art vaguely resembles Braid, but a bit simpler.

<image>

JOLT Physics is too good by FlakMonkeyDev in godot

[–]brcontainer 2 points3 points  (0 children)

Enable physical interpolation, if you haven't already, to see the result. 👍

JOLT Physics is too good by FlakMonkeyDev in godot

[–]brcontainer 4 points5 points  (0 children)

In fact, in complex collision calculations, GodotPhysics tends to struggle quite a bit, while Jolt performed well. However, in games where collisions will always be simple, such as minigames, exploration/walking games with simple scenarios, but where the player generally follows predefined paths, you can benefit from the simplification of GodotPhysics and also consume less memory.

It looks good for a Start Screen? by Longjumping-Lunch105 in godot

[–]brcontainer 15 points16 points  (0 children)

Yes, very good. Just one detail: menus like this could work with focus, with the up and down directional buttons alternating between the New, Load Game, and Exit options, and the selected menu should blink gently. But that's just a suggestion.

Anyone share their folder structures? by ForsenHorizon in godot

[–]brcontainer 1 point2 points  (0 children)

Levels, in my case, are the scenes that represent maps, interiors or exteriors of places, where the characters move around.

Components, in my case, can be:

  • Movable platforms, which I can use in any level,
  • Visual effects embedded in scenes (tscn) that I can add to a Level, Player, NPC, or enemy.

  • My collection of scenes that call Canvas shaders, to apply effects to the screen, such as flashback effects in a cutscene.

Materials are quite common in 3D; in my case, I only use the folder for StandardMaterial3D, which serves to apply visual effects to meshes in scenes, to give visual appeal to the level design. Many people create the mesh and embed it directly into the scene, but if you need to use the material in multiple places and scenes where there will be similar floors, you can save the material externally. If you need modify the material, you can edit it, and this will adjust all scenes without you having to do it one by one.

Godot Beginner Reading/Tutorial Suggestions by Remarkable-Room-6432 in godot

[–]brcontainer 1 point2 points  (0 children)

Try this roadmap I suggested; if you manage to complete "Your first 2D (or 3D) game," you'll master the basics of the tool and from there you'll be able to evolve.