[WIP] Versus fighting prototype

Hello everyone :slight_smile:

I open a post about the game prototype I’m working on. I had the idea of doing it some months ago to try the Blender Game Engine out and Python. I’m now a lot more comfortable using it (thanks to the help I got in this forum!) and try to gather all the tests I did into a “real” game.

I’m a big fan of versus fighting games! so, my goal is to make one of it.
The first step is to make a playable game with different moves, working hitboxes, cancel, special moves that override normal ones, life bar, etc)
The second step will be to work more in deep on the gameplay and the creation of the content (more animation and graphics)

This a short video of where I am for the moment.

The character rig is done and I think I will keep it like that. I’m quite happy of what I did. It has stretch/squash arm and leg deformation, muscle deformation where it is needed and include the hitbox animations in it, so it’s very simple to adapt it on each action.
I was even surprise that it was working so good in the game engine. It has around 200 bones for all the controllers and deformation bones and not one single problem in the BGE.


Any feedback are more than welcome!
If you have good ideas of things I could do or if you saw something I shouldn’t do, please tell me!! :cool:

reserved

It’s a nice project, I can see a good looking, fun to play fighting game working well in bge. Keep on it.

Finally a serious competitor of Street Fighter!:smiley:
I liked the fighting moves, quite smooth.
And finally something different from what I see so many projects, escaping the commonplace, such as race, FPS and RPG.
Waiting for updates.

Thanks :slight_smile:
Yes that’s really fun to try something else than other games even if I had some difficulties to start because I didn’t find any tutorials or help for that kind of game. Especially how to manage hitboxes. I finally succeeded to do something that works. I have no idea if I did well but for the moment, it does the job! :slight_smile:

Now I’m working on a bpy addon that can export in a file all frame data that is animated with custom properties in the actions (hitbox activation, if the moves makes the character fall on the ground or lauch it on the air, etc).
I don’t know what format to use. Any advice on it? Ini file that is quite easy to do in Python with configparser, but all softwares seem to use now XML to get information for external data, is that better?

Yes, xml is better. But you can also use json which is far more readable for humans. I use the json package of python to read them, it works well enough.

Thanks, I will take a look to json.

If you’re just exporting and importing you could use pickle too. That preserves the data structure, so it’s good for saving dictionaries and things. That way you can edit in blender, save it out and reload it using python in game.

Platform specific serialized formats are wonderful but if you find yourself without the platform…you’re in trouble.

Json is exactly what I was looking for, thanks. Saving dictionary with multiple lists is much easier to do in Json than configParser :slight_smile:

FINALLY!!! THIS IS ONE I’M WAITING FOR!!! Thanks buddy!

Looking forward to it :smiley:

Wow very impressive, i always wanted to make fighting game too but could not. I tried Mugan too but failed. This motivates me a lot, best of luck and hope to learn from this.

Very nice game, the actions are a bit slow so far, but I’m sure this will be fixed. Can’t wait to play it !

Well, you could test for type of hit and apply the damage according to them(like collision with enemy + property hitType = n@ ==> and ==> Health -n(according to the type of hit).

The animations are very temporary for the moment of course. I will try to improve it and add more when the game mechanics are more advanced. For the moment, I focus on the game itself but if someone is interested to do things like animations, modelling etc, it could be very nice to have some help.

The damage according to the hit is actually already done. Each action has an property “hit” and “hit on guard” that is embedded in the frame data JSON file.

I will do two things next. The fun one is to create more interactions between characters : can’t go through another player on ground, set a border to the stage, add more hitbox etc. Try a jump hit to see if a cross-up is already possible.
The less fun thing to do is write a system to store inputs of the player. Punch is button 1 of joystick n, Right is “d” of the keyboard, etc… I already did it but it was really not well done. Some issue depending of the gamepad/operating system. I need to do it from scratch and try to keep it very generic. Any advice on this point is welcome! Is there however a script free to use for that?

After that, I could add some special move from inputs (quarter-circle, “dragon punch”, …). A lot of work to keep me busy some time :slight_smile: