A downloadable asset pack

Buy Now$6.00 USD or more
Play and download the demo here

Introduction:

Hello everyone, thank you for clicking on my asset pack :) This is a complete character controller system for Gamemaker Studio 2 platformers. The original version was available on the Gamemaker Marketplace, but can now also be downloaded here. It is easy to use and beginner friendly and is a great base to build your platformer game apon. I'm planning to continue updating this asset pack with your suggestions and ideas. If you find a bug, have a suggestion or need help be sure to place a comment below, I will try and answer all of them.

Make sure to rate and comment, it helps me out a lot :)


Features:

If you buy one version you will gain lifetime acces to all the updates.

Legacy Version (2021-09-25):

  • Smooth Movement
  • Good Collision
  • Keyboard + Controller Support
  • Coyote Time (Jump Assist)
  • Variable Jump Height
  • Demo and instructions are in the download

Update 1 (2024-3-12):

  • Smooth Movement
  • Solid and Pixel Perfect Collision
  • Slope and Stair Physics
  • Keyboard + Controller Support
  • Changeable Keybinds
  • Coyote Time (Jump Assist)
  • Variable Jump Height (Depending on how long you hold the button)
  • Demo source code project included in the download

Currently working on:

  • Moving platforms (Done)
  • Rotating platforms (Also done
  • One way/Jump trough platforms

Future Update Plans:

  • Animation Support
  • Wall Jumping
  • Double Jumping
  • Dashing and Sprinting
  • Platformer Accessories (Spikes, Doors, Keys, etc.)
  • Squash and Stretch
  • Slipperiness Variable
  • Complex Gravity


Guide:

You can also view and download the full guide here

Setup:

1. Unzip the .zip file and import the .yymps file into your project. (Tools > Import Local Package)

2. In the create event of your player character, run 'movement_initiate();' You can change all of the variables at any time, in this example the default variables are changed. (You can find a list of all the variables below)

Gamemaker Studio 2 movement code for obj_player create event

3. In the step event of your player, run 'movement_update();' (You could also update the variables here, for example, if you had a booster you could change the speed when colliding with the booster)

Gamemaker Studio 2 movement code for obj_player step event

4. Create an object named 'obj_collider' and add all the objects that you want to be collidable as its children

Gamemaker Studio 2 obj_collider parent with children added

Variables:

Default variables are for a 32x32 player, you may need to change the variables depending on the scale/resolution of your game
NameTypeDefaultDescription
colliderobjectobj_colliderDefines the object used as the collider for your game. (Child objects of the collider object will also be collidable)
Keybinds
key_jump +
key_jump_sec
keyvk_up
ord("W")
The keys used for jumping (Set to 'noone' to disable)
key_left +
key_left_sec
keyvk_left
ord("A")
The keys used for moving left (Set to 'noone' to disable)
key_right +
key_right_sec
keyvk_right
ord("D")
The keys used for moving right (Set to 'noone' to disable)
More information about keyboard input can be found here
Controller settings
gamepad_jumpgamepad buttongp_face1The  gamepad button used to jump
gamepad_horizontalgamepad axisgp_axislhThe gamepad axis used to move left and right
gamepad_deviceinteger0Which gamepad device is used for input
More information about gamepad input can be found here
Forces
force_accelerationfloat1.2Acceleration force for moving left and right
force_gravityfloat0.8Downwards force
force_frictionfloat
0.85Amount of friction when moving (This variable is from 0 to 1,  1 is no friction and 0 is 100% friction)
Jumping
jump_forcefloat8The upwards force applied when jumping
jump_durationinteger9The maximum amount of frames the jump force is applied (This also depends on how long the player holds the button)
Slopes
max_slope_heightinteger2Maximum height of pixels that the player can move up and down on
slope_resistancefloat0.9The extra resistance added when climbing a slope (This variable is from 0 to 1,  1 is no resistance and 0 is 100% resistance)
Speed
speed_xfloat0Initial horizontal speed of the player
speed_yfloat0Initial vertical speed of the player
Other
assist_framesinteger4Number of 'coyote time' frames
Updated 13 days ago
StatusIn development
CategoryAssets
Release date 47 days ago
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorFakeStanTheMan
GenrePlatformer
Made withGameMaker
Tags2D, Controller, GameMaker, movement, Parkour, Physics, Pixel Art, Side Scroller, sourcecode
Code licenseMIT License
Asset licenseCreative Commons Attribution_ShareAlike v4.0 International
Average sessionA few minutes
LanguagesEnglish
InputsKeyboard, Xbox controller, Playstation controller
LinksDocumentation, Gamemaker Marketplace

Purchase

Buy Now$6.00 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $6 USD. You will get access to the following files:

platformer-movement-legacy.yymps 19 kB
Platformer Movement (Update 1).zip 69 kB

Comments

Log in with itch.io to leave a comment.

(+2)

Witchcraft

Useful witchcraft

Hahaha

(1 edit) (+1)

Man, I remember the first time I tried to get a solid platformer code working with irregular surfaces. I recall it being monumentally painful as a novice.

Just bought it, definitely worth more than $12. This is the sort of simplicity I would have killed to have handed to me no strings attached to pull apart!

Exited for the future updates!

(+1)

Thank you so much :)