Edit of asset "Parametric 2D Platformer Player Controller" Accepted
Old/Current | New/Edit | |
---|---|---|
Title | Parametric 2D Platformer Player Controller | Parametric 2D Platformer Player Controller |
Description |
Player controller for 2D Platformers designed with the main goal of making it easier for designers to focus on levels and their own mechanics rather than fiddling with unintuitive, physics-facing values like acceleration rate and jump velocity. Current features include wall jumping, double/triple/etc. jumping, wall sliding, coyote time, and input buffering. All of these are data-driven and easy to update (including at runtime). All the grouped chunks of data (like horizontal movement or jumping) are put in custom Resource types, so a user could easily define different styles of movement (eg: running, walking, and crouched) and switch between them from their own script. Double jumping is enabled by giving "Aerial Jump Data" one entry. triple jumping by giving it two entries, etc. The same Resource can be used multiple times to keep all jumps feeling the same. Left, right, and jump inputs are selected from a dropdown which pulls from the ProjectSettings' input map. All of these and a general "Floor Coyote Time" have a configurable buffer size which lets the player buffer a given input before it's permitted to trigger it on the first possible frame. Users can specify their own custom inputs and buffer windows as well for adding additional actions (eg: dodging, dashing, attacking). Wall jumping is enabled, again, by providing a Resource with jump data (this can also be the same as your normal jump data). You also specify some ratios to define the feel of wall jumping. Wall sliding can also be enabled by decreasing its "Terminal Velocity Ratio" to a lower value (I've found 0.2 works well). Of course, there are signals for basically every event that the player could cause. This is to make it easy for you to drive animations, sound effects, and particle effects via the player controller without needing to write more code (very nice for prototyping and non-code-oriented developers). Everything is fully documented with examples, if you're ever unsure of what something means. |
Player controller for 2D Platformers designed with the main goal of making it easier for designers to focus on levels and their own mechanics rather than fiddling with unintuitive, physics-facing values like acceleration rate and jump velocity. Current features include wall jumping, double/triple/etc. jumping, wall sliding, coyote time, and input buffering. All of these are data-driven and easy to update (including at runtime). All the grouped chunks of data (like horizontal movement or jumping) are put in custom Resource types, so a user could easily define different styles of movement (eg: running, walking, and crouched) and switch between them from their own script. Double jumping is enabled by giving "Aerial Jump Data" one entry. triple jumping by giving it two entries, etc. The same Resource can be used multiple times to keep all jumps feeling the same. Left, right, and jump inputs are selected from a dropdown which pulls from the ProjectSettings' input map. All of these and a general "Floor Coyote Time" have a configurable buffer size which lets the player buffer a given input before it's permitted to trigger it on the first possible frame. Users can specify their own custom inputs and buffer windows as well for adding additional actions (eg: dodging, dashing, attacking). Wall jumping is enabled, again, by providing a Resource with jump data (this can also be the same as your normal jump data). You also specify some ratios to define the feel of wall jumping. Wall sliding can also be enabled by decreasing its "Terminal Velocity Ratio" to a lower value (I've found 0.2 works well). Of course, there are signals for basically every event that the player could cause. This is to make it easy for you to drive animations, sound effects, and particle effects via the player controller without needing to write more code (very nice for prototyping and non-code-oriented developers). Everything is fully documented with examples, if you're ever unsure of what something means. |
Category | 2D Tools | 2D Tools |
License | MIT | MIT |
Repository Provider | GitHub | GitHub |
Repository Url | https://github.com/Bryce-Dixon/godot-parametric-2d-platformer-controller | https://github.com/Bryce-Dixon/godot-parametric-2d-platformer-controller |
Issues Url | https://github.com/Bryce-Dixon/godot-parametric-2d-platformer-controller/issues | https://github.com/Bryce-Dixon/godot-parametric-2d-platformer-controller/issues |
Godot version | Godot 4.4 | Godot 4.4 |
Version String | 1.0 | 1.0 |
Download Commit | 98b2465d04e1e7946b2e9ec4fd7abb0bbae8fa10 | 98b2465d04e1e7946b2e9ec4fd7abb0bbae8fa10 |
Download Url (Computed) | https://github.com/Bryce-Dixon/godot-parametric-2d-platformer-controller/archive/98b2465d04e1e7946b2e9ec4fd7abb0bbae8fa10.zip | https://github.com/Bryce-Dixon/godot-parametric-2d-platformer-controller/archive/98b2465d04e1e7946b2e9ec4fd7abb0bbae8fa10.zip |
Icon Url |
https://github.com/Bryce-Dixon/godot-parametric-2d-platformer-controller/blob/master/parametric_platformer_controller_2d/icon.png?raw=true
![]() |
https://github.com/Bryce-Dixon/godot-parametric-2d-platformer-controller/blob/master/parametric_platformer_controller_2d/icon.png?raw=true
![]() |
Preview Insert | ||
---|---|---|
Type | image | |
Image/Video URL |
https://mastodon.brycedixon.dev/system/media_attachments/files/114/278/164/502/708/905/original/a3107fd68a63019d.mp4
|
|
Thumbnail |
|
Preview Insert | ||
---|---|---|
Type | image | |
Image/Video URL |
https://mastodon.brycedixon.dev/system/media_attachments/files/114/278/169/583/355/077/original/2abba061dc79bec4.png
![]() |
|
Thumbnail |
|
Preview Insert | ||
---|---|---|
Type | image | |
Image/Video URL |
https://mastodon.brycedixon.dev/system/media_attachments/files/114/278/184/348/853/814/original/a43fdc32262454a8.png
![]() |
|
Thumbnail |
|