Fighting engine tutorials

Anyone have a link or code I can study on fighting games (similar to the streetfighter or soulcaliber types?) Me and some of my programming buddies are looking to make a purely opensource python driven counterstrike on crack style multiplayer fighter game. (yes it sounds hard but we have the graphics engine and a layout for the database,) however I am just looking for examples i can study to help get the gears of development going. Any assistance or pointers would be greatly appreceated.

You’re not gonna really find the source to a completed fighting game but you can try the Blender Game Engine . There is a VERY simple little 3d fighting game in there that you can take a look at. … 5-physics/

Even if you really want to use panda and not blender, you can still take a look at it to see what it takes to make even a simple game. The blender engine also uses python (I never really used it and I never plan to) but it gave me some nice ideas about camera angles and stuff so take a look.

I think I saw some 3d (fighting?) game engines that you can buy around on the internet somewhere. They are much simpler then even blender, and if you have the money but not the patience to make a game from scratch, then maybe you should google it.

If you actually WANT (why? lol) to code your own game from scratch, good luck! But you will actually have to do it from scratch. Because there’s no source code laying around that you can actually use.

Edit: Just realized that my post may sound like I’m talking down to you. I’m not ^^. Just talking from personal experience, and I regret getting into programming, but I’m just too addicted. Try to get away, but it just keeps on pulling you back in…

infact a game like streetfighter is the second easiest thing you can do… right after pong.

even in full 3d. you only need some basic camera movemenet, some nice animations for your characters, and a few lines which checks the distance between opponents and check if an attack would hit/get blocked.
really easy to do with panda since it provides somewhat all methods you’d need on high-level. checking for a hit would only take 2 lines of code.

there where times when you could make loads of money with such simple things.
i for myself am about to build one too. just for fun to write something small and easy to finish once in a while. it always feels good to finish a game :slight_smile: even if its very simple.

sounds like this would also make a nice sample for complete game / useage of effects like shadergnerator, particles etc. anyone wanna join in?

That does sound like a good idea for a Panda3D tutorial. The closest thing we have to a complete game tutorial is asteroids and airblade, but those don’t explain themselves very thoroughly. You just have to kind of look at the code and figure it out.

It would be great if we could make a step-by-step tutorial using best practices. It should be simple, easy to extend and include things the basic samples lack like a pause button and a main menu.

It sounds like the hardest part would just be the artwork.

What exactly did you have in mind, and how can I help?

Actually, I was focusing more on soul caliber and other 3d games. But, saying it’s close to the level of pong? That’s a bit exaggerated. Not even street fighter is really that easy. Either way just want to say something real quick first since you reminded me.

A fighting game is really just like any other game, it’s simple… Until you make it complex. The problem is that people (generally) don’t like overly simple games. What’s the point, since those were done a long time ago. And we played them until we got bored of them. That’s why I was wondering why they would want to make one from scratch. It’s like recreating the wheel. (Unless you want to learn form it) But then again, their post sounds like they want to do something “new”. So I say, what the heck.

You can easily create the basics to the fighting game as you stated (unless you’re doing something outrageous), but what really counts is what happens after that. Moving characters, a camera, animations, and simple collisions does not a game make.

Lately I’ve been in a tired state, so odds are I’ve angered you in some way. Not sure where or how, but I tend to do that when I’m feeling like this. In other words, this is intended to be a friendly statement and not, “WTH are you talking about?!”

And what I really wanted to say in this post was that’s a good idea. Of course, I would help but I’m still just figuring out Panda. Maybe once I’ve got a more solid foundation to work with, I’ll join you.

Kayn ^^

guess you dont have the slightest idea how much money was made with titles like mario, streetfighters, tetris etc ? (btw it works without collision detection too^^)
as long as a game is fun, people will play it. people still play games like frozenbubble(including all simmilar ones), tetris and all those. complexity of a game doesnt make it neccessarily funny.

and in the end… WE are the game designers… we do what we like :slight_smile: who cares what comes out as long as we have fun doing it?

@cyan: i have a small fighting game with some japanese-like catgirl-characters in mind. more cute than serious. maybe with some kind of “tamagotchi” with battle-mode.
first test-character to checkout animation/export and such. it’s fully rigged,textured and ready to get animated.
even thought the name suggests its a render… it’s just a blender-ineditor shot.tail isnt pink , just blender selection

Thanks for all the help guys. Basically me and my friends thing WoW sucks now (mostly due to gear > skill) and we trying to make a fun game that you can come home… log in … kick ass and make some sort of progression … log out and do other things… none of this 3 months to a 70 then a year of crap to get gear (or now 1 week of BG’s to get welfare)

That is why we going for a fighter style game with some rpg qualities. Now i understand the simple part of the fighting engine

(check distance, perform move if close enough, calculate success based on block/armor/power/etc.) but i am looking for something along the lines of what sort of modifiers or scripting i should be looking at to create these functions.

Once again thanks for all your help and trust mate … i am not in a programming degree program… i am in a Securities degree program, but programming is a hobbie!!

Fighting game can be simple.
Networked fighting game (with melee combat) is much more complicated…
The precision and response time needed for a melee fight is not very compliant with the lag on Internet…

That’s why we see so much FPS where melee combat is just a one click move that is managed either as a short range projectile or a simple ray trace;;;

Sorry, I guess I didn’t write it clearly in my post. I’m saying work towards innovation unless your just learning from it, in a long and roundabout way. That stuff doesn’t matter, though.

I came back to give some more info since it just game to mind:

Have you ever seen street fighter online or kwonho? The games are fun because you get to play them for free online. However, their primary concerns aren’t even balance or a huge character roster (these are up there , of course) but lag. In countries outside of the US, especially Japan and South Korea, the lag isn’t a problem because their internet is crazy fast. Yes. It is CRAZY fast. You can google it for more information.

In the US, where these sort of games are in sort supply, our internet sucks compared to theirs. When these wonderful games come along, the average user is left unable to play (or the game is left unplayable) due to lag.

Now, have you seen Nintendo’s solution? Keep the games small, and the graphics mediocre. Then they can focus on other things like gameplay. Of course, there is still lag caused by the players whose internets are absolutely horrible, or those who are downloading something.

Just something to keep in mind. I believe Kwonho went down due to lack of players (no one could bear the lag).

Ok i can see all that . from my understanding if you keep the graphics on the client side and the engines on host side… the lag is lessened and able to be played in near real time. Although those with horrible internet connections will always just die on contact but hey… cannot please everyone all the time. Any ideas on logical ways to accomplish this in a mmo/fighter game sytle?

Unfortunately not so simple… Graphics are not sent via the net, so it will not generate lag at all.

However we sometimes delay the graphic rendering to cover a laggy situation (at least a jittery one).

I havent read trougth all posts under this topic, so this might has been covered already:

Lag is a issue with slow internet connections, but you already have some of the problems if you have 2python instances on 1 computer, which communicate over a network socket.

If you want to be real-world capable you can only send about 10packages/second (this is afaik what games like Counter-strike etc. use, mmorpgs sometimes only have 1pkg/s), which leads to jumps, if you directly take the data from the package. This is where SmoothMover (from panda3d) can be used. It smoothes the movement of objects, and can even predict the current location if no data has been received for a while. If more lag comes into the connection, the prediction will become more inaccurate, but without prediction it will look even worse.