playMaker

Author Topic: newb question  (Read 6675 times)

XxJohnXx

  • Playmaker Newbie
  • *
  • Posts: 1
newb question
« on: April 10, 2026, 04:34:12 AM »
Hi guys.
I need to create a movement system that lets me easily cancel into other mobility options
For instance, double jump to dash, then to grapple hook etc. How do I do that?
TIA
...

Alex Chouls

  • Administrator
  • Hero Member
  • *****
  • Posts: 4398
  • Official Playmaker Support
    • LinkedIn
Re: newb question
« Reply #1 on: April 10, 2026, 01:01:11 PM »
By "cancel into" do you mean automatically enter a new movement state when exiting the current state based on some previous/queued input? One way to do this is a separate FSM that just reads input and turns it into flags using bool variables e.g., ShouldDash, ShouldRoll, etc. The other FSM can check these flags when exiting a movement state. E.g. OnLanded checks ShouldRoll, and transitions to Roll if true or Idle if false.

LeDisciple

  • Playmaker Newbie
  • *
  • Posts: 45
Re: newb question
« Reply #2 on: April 10, 2026, 06:57:43 PM »
Hi,
By "cancel into" I think he mean an input listener who send global events when his mobility options are pressed like the Prince Of persia, Assassins Creed game system ( jump then when in position, press the dash button or grappling hook or etc. etc.)

XxJohnXx, both solutions are similar, you need an FSM as input listener, the one proposed by Alex send event when state exiting and mine is sending event in live action.

LeDisciple

  • Playmaker Newbie
  • *
  • Posts: 45
Re: newb question
« Reply #3 on: April 11, 2026, 10:19:03 PM »
Oh by the way sorry to forgot: instead of global Events, you can use "send event by name" it's a more secure than Global if you don't know how much to use Globals. It's a good compromise between those 2 worlds (local and global). FYI: In your Input Listener, you send event by name in the state where you pressed a button or choose an action, and in the state(s) your Game Object receiving the input, you add the  events as long you need and link them to their rightful action states. Good Luck! :)

marktuan

  • Playmaker Newbie
  • *
  • Posts: 1
Re: newb question
« Reply #4 on: May 07, 2026, 09:43:58 AM »
Oh by the way sorry to forgot: instead of global Events, you can use "send event by name" it's a more secure than Global if you don't know how much to use Globals. It's a good compromise between those 2 worlds (local and global). FYI: In your Input Listener, you send event by name in the state where you pressed a button or choose an action, and in the state(s) your Game Object receiving the input, you add the  events as long you need and link them to their rightful action states. Good Luck! :)                                                                                                             sports games
I'm a newbie too. Thanks for the explanation, it helped me understand the idea better.
I have a question, though. If we use "send event by name" for actions like dash, grapple, wall jump, etc., how do you usually avoid conflicts when multiple inputs happen very fast? Do you use a queue system or just let the current state decide what it can cancel into?
I'm also trying to build a movement system like this and still learning Playmaker

LeDisciple

  • Playmaker Newbie
  • *
  • Posts: 45
Re: newb question
« Reply #5 on: May 07, 2026, 09:47:22 PM »
Hi Mark,
Be sure that your input listener are always " awake" : when you send events return to it immediately, don't be afraid, Playmaker will be faster than all the buttons pressed at the "same" time , one will always be first or you can also add a buffer time if a bad press is done. Be sure to always test your input by being a player because people LOVE to smash or click millions times just to be sure that the game or the app "understand" what you want to do and adjust in consequence. Don't forget to use Next Frame Event when Events are executed very quickly in a State. Be sure that your movements or animations are not set to Wait until the End because you'll not get an instant action.