Thanks for sharing the project source, Ulises! It will be handy for my future reference in my games. There is a lot of good ideas in there.
For your example to be added to the GDevelop base, it will need a bit of clean up, I guess. There are unused elements in your project, like
obj_floor_colision for example.
Also, to be added to GDevelop examples list, it has too many functionalities in just one place. Consider breaking it in smaller examples, for each purpose individually, like:
- Code example 1: Platform movement - dash with smoke trail effect
- Code example 2: Platform movement - sliding by walls
- Code example 3: Platform control using the GAMEPAD extension
- Code example 4: Finite state machine - platformer combo moves
For the Finite State Machine logic, instead of using one a 0/1 variable for each state like you are doing, have you considered using one single variable to manage the player multiple states? Like this:
gs_player_state = "by wall left"
gs_player_state = "by wall right"
gs_player_state = "jumping"
gs_player_state = "moving"
gs_player_state = "attacking"
One little last thing, you misspelt the variable name
Anyways, good job and thanks for sharing