Top Down + Jumping - Beat'em Up system - 2 Players

I’m working on Beat’em Up system (Double Dragon like) but i have a problem i can’t resolve!?

I want to make a 2 Players game and i builded 2 Platformer characters (red square & pink square) on 2 Top Down Platforms (blue squares). The problem is logicaly the 2 Platformer characters react with the 2 Platforms (colliding) and it make some weird displacements when players are closed!

Based on Sparckman System

I tryed to rebuild the system with Tween for jumping but it’s not so powerful and precise.

Have an idea to keep this system: Platformer + Top Down and abort colliding?

Xanks :pray:

Platformer + Top Down

Top Down + Tween (No Platformer)

Reply to my own post :slight_smile:

Finally I found a path… probably the fastest way!

2 Sprites:

  1. Elevator (red square) > Behavior Top Down Movement
  2. Character > Behavior Top Down Movement + Platformer
  • Set Elevator position & Move Character away from Elevator
  • Remove Default Controls and customise them
  • Use Tween

Elevator Push >>>>> Character

Just a tween to jump should be enough. It looks as if you moving the player’s position while the tween was playing. If so, use a condition to ensure the jump tween doesn’t exist before moving the player.

Also, it’s not the best idea to mix platformer and top-down movement.

Really? The character has 2 behaviors (Top Down + Platformer) because I need 4 axis and gravity to obtain the best jump so I need a ground too. The ground (red square) can’t be a real platform (it create some bad collisions with a potential 2nd player) so i used “Move away”. Finally the ground help me to push and stop the character. So I need Tween Up and Down on red square but the character is the real player, red square follow him.

Maybe not the best way but the best i’ve found :slight_smile:

I think you can do it properly with just top-down movement and tweens (for jumping) on the player characters. It’ll be a lot less fiddly, and less prone to bugs/odd behaviour.

I agree, but impossible to obtain good feeling with tween in replacement of gravity system. I can obtain a correct jump up/down but not any satisfying side jump. Maybe be write a good curve? :confused:

Ok. I guess if you’ve created a system that works for you, then no point in changing it.

Sincerely I tried many solutions and I think it’s a functionnality who is on the roadmap (called 2.5D platformer engine behavior). Hope it’s on the way!

If i find better i will publish it :wink:

You were right MrMen! I don’t need gravity, it’s possible to simulate jump only with tween! I will share the program when it will be available. Xanks for your advices! :pray:


A simple Top Down + Jump System for Beat’em Up! :fist: :facepunch: :fist_left: :fist_right:
Green square is a HitBox (in option).

The file is here! enjoy :slight_smile:


Back to my prototype, I was looking to a tracking system Enemy > Player. But “Move toward an object” is not very precise. I need alignement in Y between Objects!

So I found this : 2 variables distance X & Y between Enemy & Player…
Not very clean, but it works…

Nice. And it’s a huge bonus if this mimics the double dragon enemy behaviour.

I think i need FSM to improve my program… I saw you posted about this. Any advice is welcome!

Last version. I need to implement damage system, lifes, Player 2, other enemies, new behaviors for enemies…
And other things like ladder, grab & catch objects (…) -_-!

1 Like

Have a look at this wiki page on FSMs, and fire away any questions you may have that it doesn’t answer.

1 Like

OK I’ve build this program ( :fist_right: Beat FSM V1 :fist_left: ) with the FSM system, it’s clean, shorter and very powerful! But I can’t switch my brain to understand why my character jump like a mad goat! I tried many things but it’s maybe the method. I probably need a “transition state” between Idle and Jump to check if the Jump key is released. I’ve made it with my old method with a Jump variable to allow jumping again and it works perfectly. Second thing it can be a problem to call states by animation for managing transition, isn’t it?

Maybe this method is better?

Can you check this MrMen?

I’ve modified your project. Here’s a link to the .JSON to replace your one.

Note, for some reason I cannot work out, the player cannot just if moving in an up left direction. I can’t figure out why, and wonder if it’s a bug with GDsvelop

Wow so easy… I understand a liitle bit more the logic!
No bug on my computer, Perfect!
Thanks :pray:

WOW THANKS for sharing this. I’m new to all of this and was trying to make a beat em up style game. I’ve spent the past several days trying to find anything on how to make your player jump in isometric view and this post has been the first that I’ve found that may help me. Like I said im new to all of this so a lot of what yall have been talking about has gone over my head but i may be about to piece it all together. If you and @MrMen ever decide to do tutorial videos on this, please tag me, i would really appreciate it!

Thank you for your interest… I’m still looking for the right solutions to align the enemies in front of the player :confused:

Have a look here.