Closed hyperdoxical closed 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.
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
fixed on https://github.com/pigdevstudio/platform_template/tree/fsm_revamp :blue_heart:
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.