Asset - Project Beat'em Up Engine

You can throw in backward and forward?
Is not exactly how I've made it. You can throw in backward and you can hit forward while grabbed. At 5th hit, you hithard and push enemy forward.

Anyway, with a new animation of throw in forward, anyone could replicate backwards code switching Left Input for Right Input. I can imagine an animation like "this is Sparta" in 300s movie. But I'll let to users this kind of engine adaptations :p
 
NEW UPDATE

Already at marketplace

- Added a deformScale() script for more fluid gameplay feeling on jumps
- Changed HitParticles position from receiver position to hitbox position
- Added a RECOVER state and stand up animation for enemies
- Added new heavy hurt animations at KO state
- Added GRAB and THROW gameplay. Player can GRAB and keep hitting or THROW the enemy backwards
- Added Special Move
- Added a new game Background and scenario props
- Improved engine aesthetics
- Improved code structure due to its constant growth

Remember to download update to a new project to avoid unwanted incompatibilities with your own projects.

I'll dedicate the following days to polish any new issues so comments about any bug or crash you could find are welcome.

I hope you enjoy it and in case you do I'll appreciate recommendations to your networks a lot! :)
 
Note

I've just checked that with new update, background is shown in low resolution. That's because, backgrounds sprite is wider than 2048px resolution that is set by default for textures in GMS2. So, I recommend to use smaller textures than the one I've used for the engine but since this is not the point for this asset, for anyone that want to see this background at full resolution, go to Option/Windows/Graphics and set the Texture page size to 4096x4096px.

That's all!
 
Hi, Looks very impressive, I'm interested in your asset. Can you tell me the Beat'em Up Engine can open or import into GMS1.4? because I saw that: .Asset ported to GMS 1.4 (I just work only with GMS 1.4 so I just want make sure this engine can work with GMS 1.4 without GMS2).
 
Hi, Looks very impressive, I'm interested in your asset. Can you tell me the Beat'em Up Engine can open or import into GMS1.4? because I saw that: .Asset ported to GMS 1.4 (I just work only with GMS 1.4 so I just want make sure this engine can work with GMS 1.4 without GMS2).
Beat,em Up Engine is only available for GMS 2, sorry about that :/

There's an smaller version fully compatible with GMS 1.4, Beat'em Up Starter Kit which contains the very basics of BeU games to start your own project. You can take a look at it, here: https://marketplace.yoyogames.com/assets/7960/beat-em-up-starter-kit
 
Thank for replying, so could you upgrade something as engine GMs2 for Gms1 in the future? sadly I didn't get the GMS 2
Sorry, it is not in my plans for the near future. There's lot of code in engine to port to GMS 1.4 and I am working on improvements for the GMS 2 versions :/

But if someday I get the time to port it I will inform all GMS 1.4 users here.
 

Taddio

Member
Man! I have the asset since pretty much day 1 and I'm amazed at how far you gotten. The last update is sick.My buddies asked to play it when they saw it!
Found a couple glitches where you could be stucked on the roof of buildings if you jump on the car. I took some screenshots, but Im not home atm. Had a crash related to grabbing to, some variable not set, but I didnt think to get a screenshot, sorry.
But overall man, it's INCREDIBLE!
An artist and a marketing team could turn this in a smash indie-hit for sure

Edit: screenshot of glitch.
And looking back at the code the crash occured on line 96 of oParPlayer Step Event (if grabbedId.grabbable and canGrab line). I was simply beating a 3 guys crew, I think 2 died pretty much at the same time, and when I got to grab the last guy, BAM! Crashed.
Will see if I can replicate more consistently, if it may help.
 
Last edited:
I've got same issue as Taddio. Hope your get it fix.
But overall great asset.
Man! I have the asset since pretty much day 1 and I'm amazed at how far you gotten. The last update is sick.My buddies asked to play it when they saw it!
Found a couple glitches where you could be stucked on the roof of buildings if you jump on the car. I took some screenshots, but Im not home atm. Had a crash related to grabbing to, some variable not set, but I didnt think to get a screenshot, sorry.
Hello both and thanks for quoting these bugs. First sorry for late answer, it's been busy days and I had the asset a little bit off. @Taddio , could you please give me some more info about the collision glitct after jumping on car? It happens if you keep walking once over the car? I you jump once over the car?

About the grabbing bug I can imagine what's happening since I suppose that the enemy is still grabbable once he/she is in dead animation. I'll take a look and once I have it fixed I will inform you about the update.
 

Taddio

Member
Hello both and thanks for quoting these bugs. First sorry for late answer, it's been busy days and I had the asset a little bit off. @Taddio , could you please give me some more info about the collision glitct after jumping on car? It happens if you keep walking once over the car? I you jump once over the car?

About the grabbing bug I can imagine what's happening since I suppose that the enemy is still grabbable once he/she is in dead animation. I'll take a look and once I have it fixed I will inform you about the update.
The collision glitch is not really after jumping on the car, as: 1) it's cool to climb and 2) you can see theres a collision box on top of the door which makes it logical to be able to walk on (reminds me of The Simpsons in NES, somehow!!).
The glitch is on the 2nd crossroad, you can jump on the vertical pipe (top left of the trash) and then continue jumping/walking on buildings facade. There's no way to get back in the street after that, and camera prevents from going back.
I know it's just a template, but there may be something worth checking collision-wise as the buildings don't show any collision boxes at these places.

I tried a couple of times and was not able to replicate the grabbing bug, sorry!
 
The collision glitch is not really after jumping on the car, as: 1) it's cool to climb and 2) you can see theres a collision box on top of the door which makes it logical to be able to walk on (reminds me of The Simpsons in NES, somehow!!).
The glitch is on the 2nd crossroad, you can jump on the vertical pipe (top left of the trash) and then continue jumping/walking on buildings facade. There's no way to get back in the street after that, and camera prevents from going back.
I know it's just a template, but there may be something worth checking collision-wise as the buildings don't show any collision boxes at these places.

I tried a couple of times and was not able to replicate the grabbing bug, sorry!
That's cool information, thanks! Working on it and hope to have a fix soon :)
 
Hey again!

Hopefully you're still working on this asset. I have a few questions and feature requests

Firsts, I noticed that the items have "fixed" and "throw" string variables on them and wanted to ask if the items could be make to be "Fixed AND Throwable"?

Also, could you add in a future update the ability to throw and use the other players as weapons? Like when player 2 is knocked out, another player can pick them up and use them as a weapon.

Lastly, how can I give items no resistance? Like no being able to break?


Thanks again for making the project and being supportive!
 
Last edited:
By the way, has anyone figured out a fix for the glitch caused by grabbing?
I'm also getting a error from the grab part of code and for me, it usually happens when the player is being hit and is either trying to grab or has his back to the enemy and then it causes the error.

This is the error that I'm getting

___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event0
for object oParPlayer:

Variable <unknown_object>.<unknown variable>(100124, -2147483648) not set before reading it.
at gml_Object_oParPlayer_Step_0 (line 96) - if grabbedId.grabbable and canGrab // ..and check if its grabbable.
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Object_oParPlayer_Step_0 (line 96)

But based on where it says "<unknown_object>.<unknown variable>(100124, -2147483648) not set before reading it."

it seems like at some point it doesn't know what this line of code is:

grabbedId = instance_position(x + facing, y, oParEnemy); // ..get the Id of the opponent to grab...
if grabbedId.grabbable and canGrab
 
By the way, has anyone figured out a fix for the glitch caused by grabbing?
I'm also getting a error from the grab part of code and for me, it usually happens when the player is being hit and is either trying to grab or has his back to the enemy and then it causes the error.

This is the error that I'm getting

___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event0
for object oParPlayer:

Variable <unknown_object>.<unknown variable>(100124, -2147483648) not set before reading it.
at gml_Object_oParPlayer_Step_0 (line 96) - if grabbedId.grabbable and canGrab // ..and check if its grabbable.
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Object_oParPlayer_Step_0 (line 96)

But based on where it says "<unknown_object>.<unknown variable>(100124, -2147483648) not set before reading it."

it seems like at some point it doesn't know what this line of code is:

grabbedId = instance_position(x + facing, y, oParEnemy); // ..get the Id of the opponent to grab...
if grabbedId.grabbable and canGrab
I´m facing the same problem, and can´t find a solution...
 
Hello again.

First sorry to anyone who tried to contact me and could have no response. It has been crazy months since I got a new job and became harder to put time in the Beat'Em Up Engine support.

Also, thanks to @KyleRansford and the rest of users for contact me. I have uploaded the last update with what I 99% (tested several times) will fix the grabbing issue. Some bad wall collisions have been fixed too.

- Fixed by twaking The Grabbing Issue for what Player wasn't able to find GrabID when had multiple enemies at the same position to grab.

I have some code about boss behaviours but honestly I can't say when I will be able to finish them. In case I have some free time to keep improving the asset, for sure I will inform all of you here.

P.S.: @KyleRansford for Items to be unbreakable, I should change various conditions right now but an ugly tweak can be:

- go to the Create Event of your desired item/weapon and change its resistance value to 1000
- Then Search for lines if resistance > 0 (there are only 2 in code) and replace them for if resistance > 0 and resistance < 1000

This would make objects with resistance over 1000, unbreakable.
 
Hello! I am from Russia and my English is not very good. I bought a beat em up engine and am very satisfied, great job! Please tell me how to add 3D collider (s3DCollider) to objects so that the player does not pass through the enemy. And increase the width of the collider for objects?
 
very good asset

a query as I enlarge the player and enemy of size without deconfiguring the impact boxes, I want to place graphics in hd with sprites of 500x200px

cheers
 

ricardo1996

Member
hey ive been coming across your projects on the market place im curious to know b4 i purchase how well does it port to mobile devices Android specific
 

rIKmAN

Member
hey ive been coming across your projects on the market place im curious to know b4 i purchase how well does it port to mobile devices Android specific
The OP hasn't been on the forum since September, you'd be better contacting him via the Contact Publisher button on the Marketplace.
 

Yal

🐧 *penguin noises*
GMC Elder
Is it just me, or are all the GIFs in the topic broken? A lot of images just gets replaced with this placeholder when I'm viewing the topic.
upload_2019-12-14_18-12-55.png
 

rIKmAN

Member
Is it just me, or are all the GIFs in the topic broken? A lot of images just gets replaced with this placeholder when I'm viewing the topic.
View attachment 28016
The first page gifs work for me but I get the same image as you on the ones on this page.

I guess they are cached from previous viewing though, as going to the link for the working gifs directly gives me a "Oops! There’s nothing here." message.
 
Hey, I wanted to ask if anyone else has had this error, or knows what could be going on?

This error comes from un changed code, and even happens when I import the asset into a new project. Also, it only shows this error when I run the game in YYC and not VM.

Here's the full error message:
Code:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Other Event: User Defined 0
for object oEnemy1:

Unable to find any instance for object index '-1' name '<undefined>'
############################################################################################
--------------------------------------------------------------------------------------------
called from - gml_Object_oEnemy1_Other_10 (line 9)
called from - gml_Object_oEnemy1_Step_0 (line 8)
And this is the top part of code in the oEnemy1User Event 0, that it points to:

Line 9 is : "facing = sign(nearestOpponent.x - x); // facing depends on the X position relative to the opponent x position"

GML:
#region behaviours
if instance_exists(nearestOpponent)                        // Only choose an state after finding a nearestOpponent. If there's no opponents, enemies won't do anything
and hitstuned != 0
{                                                        // (Find nearestOpponent at User Event 2)
    if state != DEAD and state != KO and state != HURT    // Except for DEAD, KO and HURT states, face always to the nearestOpponent
    and state != RECOVER
    {
        facing = sign(nearestOpponent.x - x);        // facing depends on the X position relative to the opponent x position
        if facing = 0                                // Tweak facing cause never can be 0
            facing = 1;
    }
 

Yal

🐧 *penguin noises*
GMC Elder
Unable to find any instance for object index '-1' name '<undefined>'
It looks like there's a reference to an object that doesn't exist in your project (which is why both its ID and name are invalid). Did you import this unchanged code from an old project?
 
It looks like there's a reference to an object that doesn't exist in your project (which is why both its ID and name are invalid). Did you import this unchanged code from an old project?
No. I imported it straight from the marketplace. But, why does it run without errors in VM, but errors in YYC? In fact, as far as I remember, this code was working. That's why I imported it new from the marketplace. It's odd that it's not working now.
 

Subiro

Member
I have Game Maker Studio 1.4, and I found it what I need, but I just saw the last video you make "Beat em up" for only Game Maker Studio 2.

So, I already buy it, and I need to use it just like the last video. Please 😊
 

dmckim

Member
Hi I'm very new to gamemaker and bought this to have a look at what it would actually take to make a beat em up style game. However, when I press F5 to run the game it just shows a black screen without any errors or anything. Is there a way to actually play a demo of the engine? I am using the trial version of Gamemaker Studio 2 will that make a difference?

Update: I just removed room0 and it worked just fine
 
Last edited:
Top