online fighting games

Started by
4 comments, last by bitshit 17 years, 9 months ago
Hi all, After doing some simpler multiplayer games (like chess and pong) im thinking about creating a basic 2d figting game. It should support 2-4 players over the internet. Now a figting game seems a bit more of a hassle than a pong game or anything else because it's very delay sensitive... Does anyone have any expirience with this? What techniques could be deployed or are currently deployed in online fighting games? Maybe local perception filters could be used, maybe i should run all clinets lockstep, or maybe i should adjust gamespeed to the slowest connnection? Thanks! Ps: i found this post (http://www.gamedev.net/community/forums/topic.asp?topic_id=182826), which supposed to link to a thesis just about this subject, unfortunatly the link is dead, any other good references like that one available on the subject?
Advertisement
Well, if you won't have more than 2-4 players, and you're 100% sure cheating isn't going to happen, it'd be possible to make it pretty tolerant of latency, but you've gotta remember that anything that happens in less time than it takes for a packet to get to you and back simply won't be detectable. In a fighting game, this is especially serious, since timing is so important. You could find out who punched first, but you wouldn't be able to block, since the blow would've landed before the other player saw it coming.
I know it's not much to go on but have you ever heard of X-Band? It was a phone modem based service for SNES and Genesis and one of the games I believe was playable was Street Fighter 2. Maybe you can put the right magical combination of words/phrases into Google and turn up a relevant result...good luck!
You could hide the latency in the design, such that there would be a bit of delay in the button combos you needed to press to get a move in. There would also be two kinds of animation: one that you run on the client when making the move, and one that you run on the other machines, that's shorter and hints the move (to give the other guy time to block). Similarly, the "block succeeded" and "no block" and "block failed" animations could start out the same, so that you have some time to cut over to the one that you actually need on the initiating player's machine.

enum Bool { True, False, FileNotFound };
Thanks for the tips!

Altering gameplay will certainly be something I'll have to take in account while designing the game. I was also thinking about making the game go slowmotion just before making a move, kinda like a bullettime effect...

I've not looked into it yet, but would local perception filters be of any help here? I remember reading something about them and how they could be applied in multiplayer games to achieve such a bullettime effect...
Also, I thought going peer to peer might cut off a little of the extra latency compared to client/server communication. Or maybe it's not worth the efford? (c/s is easier to implement, as p2p adds difficulties with synchronisation and is prone to cheating)

This topic is closed to new replies.

Advertisement