Fighting Template
Ever wanted to make a Street Fighter game, but didn't know where to start ?
Do you want to learn how to make advanced fighting games mechanics ?
Then look no further !
Whether you want to build a Street Fighter like game, or you want to learn advanced fighting mechanics !
This template is the best choice for you !
You can get it → edit the game (change the assets or add more stuff) → Publish, then sell the game ! $$$
What you will learn from this template:
• Abilities and moves mechanics.
• Advanced fighting mechanics.
• Selecting characters (skins).
• Multi punches mechanic.
• Air attack mechanics.
• Combos mechanic.
• Countdown timer.
• Smart AI enemy.
• Dash mechanic.
• 2 players mode.
• AI difficulty.
• Game feel.
• and much more !
Engine
This template is built for the free and open-source game engine GDevelop 5
User-friendly
Every event in the template is commented in a way that even a beginner
will understand how things work in the game.
All events are grouped and organized in a super user-friendly way, so the user never get lost in the codes of the template, and can easily find the code of any mechanic he is searching for.
Licenses:
You CAN sell the game as it is, BUT you must mention the game assets credits (mentioned in the bottom of this page), only if you didn't change the game assets.
You CANT re-sell the template GDevelop project/codes.
You DON'T have to put my name or credit me in the game (Optional) you bought it, it's all yours !
Platforms
The template works for PC only, BUT, you can modify the template and make it work on mobile !
Get it now and make your Street Fighter game !
Credits:
Characters:
By Asset Bakery
https://assetbakery.itch.io/2d-fighter-3
Background:
By Admurin
https://admurin.itch.io/parallax-backgrounds-plains
MainMenu music:
By Fato_Shadow_Music
https://opengameart.org/content/last-fight-soundtrack
KO sound effect:
By ekemet
https://freesound.org/people/ekemet/sounds/400881/
Purchase
In order to download this Template you must purchase it at or above the minimum price of $3.99 USD. You will get access to the following files:
Comments
Log in with itch.io to leave a comment.
I got this template yesterday and I've been looking through it and I have a question. I'll probably have more eventually.
Fighting games usually use hitboxes attached to the attack animation and multiple hurtboxes for taking damage. I can't find any hitboxes other than the hurtbox you used to hold the skin. It looks like everything is based on range? Or did I miss something?
Thank you for your purchase <3
Correct, Range is used rather than hitboxes for many reasons:
1- It's much better for the game performance.
2- It's much easier to adjust/change any range for anyone using the template/building on the template.
3- Much fewer assets required, which means less game size.
4- Much fewer codes (events) required for fighting mechanics since it's just the range that change, rather than creating/deleting/handling every single hitbox object.
And much more things!
In general, fighting games doesn't always use hitboxes for attack animations, that's not required, and in my opinion it's a bad choice to take, otherwise you are going to get into all the issues (the opposite of what I mentioned above).
In my opinion:
- Range is the smart way.
- Hitboxes is a beginner way.
Really? I assume you mean for Gdevelop because I can't think of a single fighting game franchise that doesn't use hit/hurt boxes. Not since the 90s anyway. Even Smash, which would seem to be the most likely to use range, uses hitboxes (They call them attack collision)
I mean in GDevelop Yes, but in General, it still doesn't matter using range or collision box or even ray cast...etc it doesn't matter, all of them leads to the same mechanic/result, and in GDevelop range (distance), is the best option to avoid all the troubles I mentioned before, but if you want to go with collision box, sure go with it, check out the Special attacks in the template, they use Collision (hitbox) not distance/range, since they don't deal huge impact to performance, and won't cause any issues at all :)
The main reason I brought it up is I had actually bought this template and the beat em up, (which also typically use hit/hurtbox) was to see how you'd set up your boxes. (I'd hoped to be able to just reuse them, if possible.)
However, your way does seem to be much simpler and easier. Especially since I'm not planning on making any kind of competitive fighting game. I don't even plan to have 2 player.
So, your system actually gave me a different, and easier, way to do what I'm hoping to, which is great.
Now, if I was planning to do something multiplayer competitive (aside from Gdevelop likely not being the best engine to use) how would you get distance to work with things like high/low attack combos? (Typically, you have at least 3 hurt boxes - head, upper, lower. Delayed jump attacks, for example, can hit the low hurtbox even if an upper block is active. )
How would a character who uses long range normals, (like Dhalsim from Street Fighter), work with range checks? Not for his own attacks, that's easy, but for getting hit? His hurtbox extends along his arm/leg when they're extended so you can either avoid or i-frame past his hitbox and counterhit.
I'm guessing you could probably do i-frames with a "cannotbehit" variable and priority could probably be handled with a "priority" variable that gets compared between two attacks, though I'm not sure how precise that would be.
Just to be clear, I'm not dissatisfied with your templates, it has a simpler method of doing something I wanted to do anyway and it very well set up and easy to follow. I like it and I've already begun making modifications (like making Mr. AI way less oppressive by increasing his random chances from 1-11 to 1-100 making him less likely to cling to you like a leech and bomb you non stop, though he's still far too aggressive, but that's fixable.) But I just tend to forward think, (probably too much) and I'm curious what your solutions to some of these issues would be, even if it's "Gdevelop just can't handle that level of complexity just yet".
By checking both players animations, for example: Player is Stand Blocking (high block) and AI is doing crouch attack (kick for example), we check if AI distance is close enough to do damage the player from the low kick, then we check the player animation/status, if he is High blocking, we allow the AI to damage the player, if the player is doing Low block, we block the AI attack.
By using the distance again, but this time you don't check the distance between the Long range character body and the other player, this time we put a point on that long range character arm, and then we check the distance between the player and the Long range character arm/leg...etc, if the point is close enough player can damage the opponent, otherwise no.Glad you like my templates <3
GDevelop can handle everything in my opinion :3
You just need to think of a way to do it, and there are always many ways 😉
Good luck in your Project ! 💪
Hello there!
I was wondering, would it be okay if I purchased this template (or any of your other templates) to use more as an example project to reference instead of using it as a template? So I would basically have my own blank project set-up and use your template as a reference to understand what I'm supposed to do and how to do it, but starting from scratch (hopefully that made sense). Thank you kindly!
Hello !
Sure you can !
You can get any of my templates and use them however you want ! (Learning from them/ publishing games and selling them ...etc.).
The only thing not allowed is reselling/sharing the template codes (GDevelop project).
Check the license in the template page :)
Oh okay, thank you very much!
I'm really intrigued! Great project, woaw!
Just a question: if you would use this engine to create a fighting game that allows character import or custom games (reference MUGEN), is it allowed with the licence? Thank you in advance. There is some ambiguity in the info above...
Thank you <3
You mean that you want to use my Fighting Template to create a fighting game in GDevelop, and in that game you want to give players the ability to import their own characters to the game ?
In that case, sure !
You bought the template, it's all yours, you can build/add/edit/remove anything you want in the template :)
The only thing that you CANT do with any of my templates, is re-selling/sharing the template GDevelop project itself.
Hi VegeTato
Thank you for the clarification.
I hope you sell a lot of copies!
Kind regards
Fumetsujo
Hello, can you make the camera zoom in like street fighter/tekken game does? Because it looks like super smash bros instead of what you said its a street fighter like...or can you give tutorial for that instead? Thank you sir
Hey :3
The template looked more like Super Smash Bros because I couldn't find any assets close to Street Fighter, but if you want to make a Street Fighter like game, it's exactly the same mechanics in this template, same controls/mechanics/combos/powers ...etc.
And for Street Fighter camera, here is how to do it in the template:
Step 1:
Fighting Template → Project manager → FollowObjectsWithCamera → Open in editor → Functions → FollowMultipleObjectsWithCamera → Scroll all the way down to change camera zoom comment → Right-click on the event → Toggle Disabled.
Step 2:
Game scene → Create new Sprite object → Name: LWall → Edit in Piskel → Any color will do → Size: 32x32 → Double-click on the object → Add behavior → Platform behavior.
Game scene → Create new Sprite object → Name: RWall → Edit in Piskel → Any color will do → Size: 32x32 → Double-click on the object → Add behavior → Platform behavior.
Step3:
Drag and drop the LWall to the scene using this info:
X: -32
Y: 0
Layer: BaseLayer
Width: 32
Height: 360
Now do the same for RWall with this info:
X: 640
Y:0
Layer: BaseLayer
Width: 32
Height: 360
Your scene should look like this:
Step 4:
Game scene → Events → New event → Empty condition → Actions:
Change the X position of LWall set to CameraBorderLeft()-32
Change the X position of RWall set to CameraBorderRight()
And that's it :) now you can play the game, and you will have the exact same camera as Street Fighter.
Optional: You can at the beginning of the scene hide both LWall and RWall objects.
Hope it helps :3
I already bought 1 but when i look at the scene and asset I dont understand how you use combo and sprites in that game and the character asset in not pressent in object I wonder how but when I play it its running with character too, can you guide me?
Hello :3
Sure, first if you mean that the character is not in the scene, then that's because I create the characters directly from the events, but if you mean the objects don't have sprites, then something is wrong in your project, try downloading it again, and if it keeps happening please provide a screenshot of how it looks like, so I can understand more.
For the combos:
Open the project → Game scene → Events → Player 1 mechanics → Controls, or the abilities (energy ball/small energy balls...etc.), all events are commented, I explained how everything works in their just make sure to read the comments.
Tip:
The objects' folder "Characters" contain The skins of the picked character from (ChooseYourCharacter) scene, and contains the actual controlled objects (Pink objects), when the scene starts, we create the Pink objects that we control, and we create the skins on top of that objects and make it follow the pink object.
Tip2:
Game scene → Spawning players, read these event's comments, it will help you understand how we are spawning the players skins and controlled objects.
Hope this helps :)
Thanks bro, I hope you have tutorial about this on youtube ^_^
You're welcome <3
I do have a YouTube channel:
https://www.youtube.com/channel/UCawxGXPXeHgy32bn8VEOErg
Currently, it's for my templates review, but I will upload tutorials on it in the future :)