Double Dragon, Final Fight & Streets Of Rage ( Best Practices and how to's )

  • I'm Starting to create my first Beat'em'up game.So i would like to start a "best practices & How To's" of the various mechanics of these games. I have already got a character moving exactly like the Double Dragon games with the all the directional animations. I will be explaining how i've done it here soon. So if anyone is working on or has done a similar game. You could explain your work of various game mechanics for other people to follow whether it's controls,animation systems,sound,combos,points,score system, how the screen scrolls or even tweaks to a game mechanic.

    THE IDEA;

    The Idea being people can pick and choose various part of these to implement in their own game and also to learn the best and most efficient ways of doing various parts.

  • Hi. I was developing a BeatEm Up type Double Dragon and the real challenge is the movement of jumping on boxes and walls with the movement of depth and not of platforms. I still can't do it correctly.

  • I'm just working on the jump aspects now. So will post when I've got it working unless someone else post's it first. Cheers

  • I will also keep working on it. I do it before i publish it.

    Regards.

  • My idea is to achieve the engine equal to Double Dragon or River City Ransom because I like that you can kick boxes and you can climb on certain edges or to the drums. I am not so interested in hitting the walls but if you climb on certain slopes. tHANKS.

  • I also working on something similar. More of a hack n slash but from the same perspective of a beat em up.

    The way that I have handled this is composite objects.

    Moving characters, like the player and enemies, are made of two objects: their shadow, and their sprite.

    The shadow is what the player/AI is controlling. Up, down, left and right.

    The shadow is the characters solid collision object, and the sprite is the non solid hit box object.

    The sprites position is updated at the end of every frame to match the change in movement of the shadow. (Pinning doesnt work, you'll see why)

    When "jumping", I use a tween to move the Sprite object in a jumping manner. This works great because I use the shadows Y position as the "ZDepth", which tells the sprite where to "land", or "what is ground". (If using the pin behavior, then the sprites x and y cannot be changed)

    I'm about to be implementing the pseudo platforming and was thinking that I can use raycasts.

    The idea is that when the player is jumping, I can raycast down from the players feet. If that raycast intersects a "platform object" that matches the "z depth" of the shadow, then I can just move the shadow "on top" of the platform object, and then the Sprite will use that newly updated position as the "where to land".

    It still needs some thought, because you will also need to handle falling off platforms and such, but that's where I'm at right now.

    Hope this helps or inspires other ideas!

  • Sounds good. We should share our .CAPX test in order to make a good ENGINE BeatEmUp do not you think?

    As something that looks as easy as the great game River City Ransom can be so complicated to program. I mean movements and how they interact with boats, fences and even the same characters charge other characters and throw them, etc. In short, those guys from Technos Japan are geniuses.

    Regards!!

  • You can check the monk fight template in Construct 3 and reproduce it in C2.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Thank you. I have already solved that one of the template, the problem that I still have not touched is the movement of depth but with "jump". That has gravity in the platforms and in edges and objects. Thank you.

  • My team wouldn't appreciate me sharing our project file. And I'd rather write up a tutorial than create a template project.

    For now, Just remember that its entirely an illusion, the jumping and platforming I mean.

    You have to do some "tricks" that make it appear that this kind of perspective is on all three x, y, and z axes.

    Creating a mental model is made a lot easier with the method I've described above.

    Shadows are x axis, when moved left and right.

    Shadows are z axis, when moved up and down.

    The sprite object casting the shadow is used to convey the y axis, when moved up and down.

  • Exact. Everything is trick because there is no gravity as in a platform mode, here you have to do trick to achieve it. Thank you.

    I will continue to work it.

    Regards!!

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)