pigdevstudio / platform_template

Template project for platform games in Godot Engine.
MIT License
72 stars 12 forks source link

Making SLOPE_STOP_SPEED a variable #13

Closed hyperdoxical closed 6 years ago

hyperdoxical commented 6 years ago

if the walk_speed associated with player_platform_actor.tscn is below the constant SLOPE_STOP_SPEED as specified in platform_actor.gd (in the addon folder) then the player won't move. Obviously this is required to slow the character down when there is no input. A problem would occur in the case where the user deliberately wants a slow walk_speed such as in a really low res game. If the walk speed is below 200 then the character just won't move.

Maybe by either having SLOPE_STOP_SPEED as an exposed variable or having it as a variable which is set as a ratio of the walk_speed ( eg: SLOPE_STOP_SPEED = walk_speed * 0.5 ) it would get around this problem.

Having GRAVITY and MAX_FALL_SPEED as constants could also give issues on really low resolution games ( would fall really fast) or really high resolution games ( would fall really slow )

These issues aren't of course really significant for most as it's easy enough to go into the code. But it may make it a little easier for someone new to Godot.

henriiquecampos commented 6 years ago

Hey thank you for the feedback, I really didn't think about how it would behave on low res games :thinking: so there are too many variables to stay on a single Node being exposed on Inspector at once, what if they were delegations of each state? I think it may get messed at first but with some tweaks it can work. My major concern is how to mix states. Like if the GRAVITY is on the fall.gd and the jump.gd how they would be handled in the wall.gd? Or maybe each one has their own gravity? So let's say instead of wall.gd taking fall.gravity / 2 it has its own gravity?

Hmm I think there are many improvements that can be done, specially to lowres games.

henriiquecampos commented 6 years ago

Hey @hyperdoxical just giving a heads-up here.

So, I think it would be really more useful to have each state export its relevant variables, than to have all cluttered on the PlatformActor. E.g.:

What do you think? Also, shout out @Keyaki777 maybe he can add more to the discussion as well

henriiquecampos commented 6 years ago

fixed on https://github.com/pigdevstudio/platform_template/tree/fsm_revamp :blue_heart: