I design this game thinking in mobile as you said! I know the game has a lot of inconveniences, but I should have changed the little dots, they are indeed hard to see, but I completely forgot. I going to correct it. Thanks for the feedback!
guizero
Creator of
Recent community posts
The node options looks good. It might be some logic problem. Take a look in this code: https://github.com/Guizeronet/godot-platform-test/blob/master/obj/char/char.gd
You can download my example and see it running. It is different from my last comment, it can works better. (Download here: https://github.com/Guizeronet/godot-platform-test )
Probably you are executing this code into a loop (_physics_process or _process) and move_and_collide is returning the colision information when it's hits the platform, so $AudioStreamPlayer.play() is always be called. To solve it you can declare a gloal variable thats saves the current touched plataform then check if the current platform is diferent from the saved, so the play function will be called once per platform. Something like this:
var current_platform = null # global variable
[...]
func _physics_process(delta):
[...]
var colision = move_and_collide(direction.normalized()) # get collision data
if colision: # check if is colliding
if current_platform != colision.collider: # check if the colliding object is different from last one
current_platform = colision.collider # save current platform
$AudioStreamPlayer.play() # play the audio
Will be good to set current_platform as null when an action like jump be done for the audio be played when platform be touched again.
There are several other approaches to solve this problem, this is one of them.
This is true, does not give a sense of battle, I think by the fact lack of middle frames in the animation. But to deal damage you must be close to the opponent. I did not have time to put a visual or sonorous feedback for the hits, but it can be observed the adversary's life reduces when a hit does damage. But this game is only a prototype, I'll improve it after the jams end.
I has searched about this error. It seems that godot has problems with some GPUs. Maybe if you update your graphics divers the problem can be solved. If your computer has more then one GPU you can try to switch between them as "preferred GPU", one of them can works. It's a problem with the engine so I need to wait a new version with a fix for this problem, when it happens I'll post a new version of the game. I need to thanks you for report the problem and for try to play my game.