A downloadable asset pack for Windows

Buy Now$4.99 USD or more

Latest Update: 11-04-20

Don't have Clickteam Fusion 2.5? Head on over to Clickteam's website!

NOTE: RPM Plus REQUIRES the Fusion 2.5+ DLC! A version is available for standard Fusion 2.5 as well! 

RPM - Super Basic Edition (RPM v1.0) is now free! 

Visit the official topic on the Clickteam forums for support and more!

Check out Volnaiskra's volCAMERA for an additional camera system for RPM!

Check out Volnaiskra's VACCiNE 2 for an improved input system for RPM!

A new general purpose FastLoop platformer movement engine designed for Clickteam Fusion 2.5! RPM includes:

    • Float-based, for smoother character movement
    • FastLoop-based collision detection, which can be modified even during play
    • Can be Frame Dependent or Frame Independent (Frame Skipping)
    • Character Linkage: Simply add you character to the Group.Player qualifier and the engine automatically applies basic animations and sets it to the mask
    • Group-Based objects: Turn active objects into solid objects, jump-thru platforms, moving platform, ladder, etc.
    • Slopes, including slopes that can be jumped thru the bottom
    • Support for Horizontal, Vertical, Rotating, and even Physics moving platforms
    • Built-in pause function
    • Custom smooth scrolling Camera
    • Options to toggle Jumping, Crawling, Crouch Jumping, Ceiling Slide, Jumping Down Platforms, etc
    • Basic XBOX Controller support, with the option to easily add more thru the Player Input Widget (which the engine reads as input)
    • Basic Metronome, which can detect beats and off-beats, and determine accuracy.
    • Animation Control Widget: Enable or disable any of the basic animations (even from behaviors) to allow custom animations, or used "Forced Animation" to manually control an animation
    • Uses XBOX Gamepad, Physics, and Advanced Direction extensions
    • Includes a super basic example starring my character, Angela!
    • Basic 2-Player support
    • Generate multiple "rooms" within the same frame
    • Option to toggle 8-Direction Movement
    • And many more...

This movement can be used commercially, non-commercially, or for learning purposes. The only stipulations are that the engine source cannot be shared/re-sold, nor can the Angela character be used commercially without explicit permission

The demonstration file contains an .EXE with 4 examples I developed to see what type of movements I create. This includes Yoshi's Island, an "Out-of-the-Box" sample, a "Greninja Gaiden" type thing (using the excellent sprites by Neweegee), and a basic Shantae example (mostly to test animation). Be sure to read the control file, there's a lot of stuff involved!

All of the demonstrations run on the exact same code, using behaviors and widgets to make each character different.

For legal reasons, the demonstration characters are not included in the paid packaged. They're a free download to show how the engine functions! However, you do need the engine source to actually use them, as they rely on behaviors.

This works best with the Windows exporter.

Special Thanks:

Elvisish, NB-The-Dragon, Neweegee, Luke T., Kritter, DinnerSonic, darkFunction, Volnaiskra, Furriokun, Johnathan Verge, Aroka, Charmandrigo, Zevifa, and tons of others!

Update 11-06-20

-Added "_AttributeCheck" to the Player Attributes Widget. This checks to see if the default Player Attributes was automatically changed by RPM at the start of the frame. The Player Attributes object will carry this information to the next frame due to being a global object.

-Added "CeilingCheck" value to the Ledge Confirm detector. This checks for a ceiling after the player begins to climb up a ledge. If it detects one while this value is active, the mask will automatically go into a Crouching state.

-Added "_MultiJumpWallSlideBuffer" to the Player Attributes Object. This value keeps multi-jump from applying when the player performs a wall jump, allowing them to retain any remaining multi-jumps afterwards.

-Grabbing a ledge will now reset MultiJump back to 0.

-Fixed an issue where Aerial Crouch was still active if you grabbed a ledge.

Update 10-16-20

-Added support for Volnaiskra's VACCiNE 2 input system. VACCiNE 2 is a universal input system that automatically adds support to a multitude of gamepads, without having to manually program them into Fusion yourself.

-Fire3 and Fire4 are now associated with B and Y on the default XBOX configuration.

-The Player Input Object has been expanded to include Triggers/Bumpers/Stick Click by default. This includes hold values and being read in the Input Reader.

-Fire1/2/3/4 now have cardinal directions applied to their name to make it easier to figure out what gamepad button its associated with.

-2-Player Mode has been updated with all of the current changes to RPM. Moving Platforms still isn't quite supported, however.

-Fixed an issue where some calcuations were not consistent when Frame Skip was active, such as the player jump height. deltaTime will now maintain a specific value as long as its within the Target FPS range.

-RPM's internal framerate cap of 120FPS was removed, though 120FPS is still the recommended maximum.

-"_JumpInputMade" in the player mask has been renamed "_TriggerJump". 

-The jump routine can now be activated by setting "_TriggerJump" in the player Mask to "Y". "PlayerPressedJump" in the Player States Widget replaces "_JumpInputMade"'s original functionality.

-The default "JumpInputBuffer" value in the Player Input Widget has been increased to 6.

-The intial jump routine now subtracts 2 pixels from Y instead of 1. This ensures jump will work better at higher framerates.

-deltaTime will now always stay at 1 if Frame Skip is disabled.

-Added LedgeGrab ClimbUpDelay to the Player Attributes Widget. When the player climbs up a ledge (By default, using the Up key), a delay is activated before the player moves up the ledge. This allows time to play an animation of the character climbing up. 

-The Player States Widget has a new state for when the ClimbUp routine is activated.

-Added Disable Ledge ClimbUp Reposition to the Player Attribute Widget. When active, the player will not automatically go to the top of the ledge after the Climb Up delay. The mask will simply fall off unless instructed to move a different way during the delay.

-Added the Ledge Snap detector. This sits between the other two ledge detectors and helps keep the mask locked on the ledge on the Y Axis. If you used Ledge Grab before, it will break without this object!

-Added One Button LedgeDrop to the Player Attributes Widget. When active, you simply have to press one button to drop down (Down key by default), as opposed to holding Down and then Jump/Fire 1.

-Added Ladder Buffer to the Player Attributes Widget. When enabled, the mask will need to overlap any Ladder object a bit closer to its center before it can grab on to it. Disabling it will keep the old system where you can latch on as long as the mask touches it anywhere.

-Added WallSlideJump XSpeed, WallSlideJump YSpeed, and WallSlideDown YSpeed to the Player Attributes Widget. These were originally hard-coded values that controlled how fast the player would move during a Wall Slide routine, but now can be easily modified in the Widget. WallSlideJump affects how far the player will jump off a wall, while WallSlideDown affects how fast the player slides down a wall. Note that the values placed in the Widget will be automatically divided by 10 for the Player Mask.

-Added GroundTime to Player States Widget. This simply counts how many frames the player has been on the ground. It automatically resets if the player leaves the ground.

-Added Disable BoostX Decel flag to the Player Attributes Widget. This allows BoostX to either hold or continually add towards its base value when active.

-Added a horizontal Wind Tunnel gadget, which pushes the player backward when they overlap the object. This object makes use of BoostX and Disable BoostX Decel in the object's behaviors.

-Fixed an issue where BoostX wasn't being factored into deltaTime, so it should now maintain the same pace at different framerates.

-Added Enable Debug Keys to the Engine Widget. You can use this flag to toggle on or off these fuctions instead of disabling the group in the Event Editor. By default, this option is disabled.

-Added Unlink Sprite to Mask to the Engine Widget. When active, the player sprite will no longer attach itself to the player mask.

-Angle Detection now works if the player is moving with BoostX.

-"PlayerDroppedThruPlatform" in the Player States Widget will now reset to "N" if the player's YSpeed is lower than 0.

-Fixed an issue where Manual Position on the Master Camera Object did not function properly. All of the events that originally containted actions that moved the Camera (including those found in the Movement, Pushout, and Room Camera groups) were consoldaited into the Camera Setup group. These actions are now disabled when Manual Position is activated.

-Fixed an issue where the player could get stuck in scenery if they tried to jump under a very low ceiling. RPM now forces Crouch Jump to activate if it detects a low ceiling while the player is crouching, preventing the mask from changing size when you jump. _CrouchJumpCheck was added to the Engine Widget to detect if Crouch Jump was enabled at the start of the frame. If not, Crouch Jump will disable itself once the ceiling is clear.

-Fixed an issue where the player would be pushed back if they crawled into a wall while in a tight space.

-Fixed an issue where the player could still jump in mid-air if they set Max Jumps to 1. 

-Fixed an issue where the player couldn't climb up properly if the mask was standing on the ground.

-Fixed an issue where Jump Buffer could be repeatidly triggered by hold both the Left and Right keys simutaneously.

-The Floor Detector can now detect ladders from a further distance when standing over one.

-The conveyer gadget now uses BoostX to move the player instead of using RePosX directly.

-The Super Basic Stage now has a small area to test crouch jumps, and a sloped area that goes into a ceiling. Also added are new curved sloped platforms in various areas.

-The Quick Reference guide has been updated to reflect the current version of RPM Plus. Note that it may go over features not found in the Standard or Super Basic Edition of RPM.

Rated 5.0 out of 5 stars
Tags2D, Characters, clickteam, engine, fusion, Game engine, movement, Multiplayer, platform


Buy Now$4.99 USD or more

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

RPM Plus v2.3.01 1 MB
RPM Standard v1.8.02 558 kB

Download demo

RPM Plus - Quick Reference Guide 637 kB
RPM - Super Basic Edition (RPM v1.0) 1 MB
RPM Character Examples (Standard/Plus Edition) 556 kB
RPM Character Examples (Super Basic Edition) 555 kB
RPM Demo Movements 9 MB
Metronome Widget example 17 MB

Development log

View all posts


Log in with itch.io to leave a comment.

when 8 direction is on, even though i disable the jumping flag, it still jumps. it seems to be forcing the jumping flag to be on when I start the frame.

I just wanna know how to do Slope Momentum :c

Which version of RPM are you using? The Standard and Plus version includes a rudementary check that can lower the player's maximum speed using the Angle Detection widget based on the angle of the current slope (starting at 45°). It isn't Sonic levels of slope physics (Sonic Worlds engine covers that aspect), but rather something basic to build off from.

The free Super Basic Edition only includes features that was in the original version of RPM, which doesn't include that object.

man, i don't have money to buy the standard or plus one.


how i can install it? :c , i'm new using clickteam fusion 

Depending on what version of Fusion you have,  you can open up either the Standard or Plus (which requires the Fusion 2.5+ DLC) of RPM. It requires certain extensions to open up, though Fusion should give you the option to download the required files. It comes with a basic stage showing off the main features of RPM and a blank frame you can build your project from.

If you’re brand new to Fusion, I’d actually recommend getting more accustomed to how the program works and check out some tutorials on YouTube first. Though RPM is simple enough to let you apply a character and give it the essential movements right away (just add a character sprite to the player group and it’ll do the rest), it requires intermediate to advanced knowledge of Fusion to fully customize it.

There is a quick start guide for RPM and I’m open to answer a few questions about it, but I would get your feet a bit wet first before diving in. :)

i just quickly took a look. its improving a lot.  are you aware the camera shakes (horizontally) , when you are hanging onto a ledge. (v22)

I am now. :P I'm not sure how I missed that but I'll see if I can squeeze in another hotfix once I figure out what's going on.

Should be fixed now. The issue was due to the mask being pushed forward in order to snap on to a ledge.

Hi, just want to re-confirm. Can we use a purchased asset to more than one game?

Or it just licensed as a single product (one license for one game only).

You can use RPM in as many projects as you like, I just ask that you mention that it was used in development (I.e. a logo or in the credits). :)

wow that's great thanks! :D

(1 edit)

This is really cool! Its so cool to see the projects other people have made in Clickteam! You should check out my clickteam platformer engine i put together not to long ago!


I purchased this asset from Clickstore, and it is still in version 1802. How can I get the updated version?

(Could've sworn I've replied to this a while ago, but I don't see the post on the main page so...)

Send me a PM on the Clickteam forums (ragem) with your Clickstore order number and name, and I'll generate a key for you. :)

Hey! I've purchased quite a while ago, but only now got the opportunity to work with it.

Is it compatible with other screen resolutions? Say, if I wanted to have a game available in 1920x1080, 1280x720, 1366x768, etc... What would I need to change to make it work?

Thank you very much. :)

If you're changing the resolution, you'll need to adjust the Global Values "Resolution X" and "Resolution Y" to match the screen size. If you're using the Room Camera Widget (it's the orange R box, it's not created at the start), you'll also need to change the Window Width/Height values as well. These are primarily for the camera object to properly lock it's position when it reaches the edge of the screen. If you're using your own camera system then you don't need to worry about them too much.

Thanks for the support btw! :D

You have no idea how happy I am that it's this simple, hahah! Thanks a bunch for being so quick to answer. :)


 I purchased!!

But I'm not good at English. 

So I want to translate it little by little, but do you have document files etc? Or is there any information in the .mfa file?

Thank you very much.

All of the documentation is in the .mfa file, as part of the Event Editor and a small guide on the Frame Editor. :)

Thank you  reply!!

I always wish you good luck and keep up the great work!

I purchased this asset from Clickstore, and it is still in version 1502. Did Clickstore end support?

It shouldn't have, it's supposed to be on the same version as this one. I don't have direct control over the listing on Clickstore, so I have to re-submit it to them whenever I need an update posted. I'll have to take a look into it when I get more free time.

In the meantime, if you provide me with your Clickstore order number and name, I can provide access to the itch.io download. :)

Ok, I sent you order information via Twitter DM.

Howdy Rage! Long time no see! Good job getting featured in a Clickteam collection!

(1 edit)

Aw snaps man how ya been?! It's been too long ;_; Good to here from ya again! Yeah I gotta say I was totally not expecting Clickteam to back RPM like that, so I guess I did something right. :P

Clickteam collection? Where I can see this?
Well, congratulations, you deserve this attention!