How far are we from online for all FGs?

horse shit, hadware means shit

compare your ping in DOS, then run it in your favorite PC games, and watch that shit spike, hardware means shit… quake1 ping hops just as much as quake 4 (about 10ms even though the games are a DECADE APART), then ping from dos your average xbox live IP, and then connect to it, whammo 80 ping spike in quake4, why is this? POOR FUCKING NETCODE!

I’ve been admin on several pro gaming leagues, and been admin of several dev teams that created new netcode for MAJOR online FPS games.

The issue fighters face now is a netcode issue. I shit you not, flawless east coast online plan can be done, with half decent netcode, your only lag problem will be east vs west, wich is a hub issue of chicago vs dallas, chicago favors east, dallas favors west.

It’s all about the code, hacked mame code, run over old dedicated servers is flawless. I get 8ms ping to NYC from DC on our clan sponsord server in quake4, mame ping is 30, hacked mame, 8ms, durrrrrrrrrrrrrrrrrr… guess why

As long as Namco remains, we won’t have all fighters online.

You can add Sega too
http://www.1up.com/do/newsStory?cId=3148615

Seems like the producer of Virtua Fighter doesn’t want to give the game online play because he thinks lag would ruin it. It’s true that fighting games requiring any sort of tight timing can’t be played seriously with lag, but… it’s better than nothing.

Fantastic thread gentlemen. I was JUST going to start a new thread discussing this isssue.

while this is discouraging news, I would like to know what would it take for all of us to who play online to never ever have to experience lag again?

I know that distance is a factor, but if we all had high speed fiber optic connections? Would lag still be an issue with a game like VF? Are there any new technologies on the horizon that you are of aware of that can potentially eliminate lag regardless of the distance between players?

I really cannot wait until a time where online fighting games have no noticeable lag. To me, even the slightest jerk or delay causes me to lose the immersion I had and “wakes me up” to the reality that I’m playing over a phone/cable line. I wish there was some sort of communication technology that makes things instant regardless of distance. :frowning:

Information transfer is, at its most base level, electrical ones and zeros trasnmitted via varied voltage (or current, it’s been a while, feel free to flame) over metal lines. This isn’t instantaneous. The time it takes the information to travel from a network card to another network card is longer than 1 frame. Possibly a fiber-optic connection between computers in the same room with protocols optimized specifically for it, network adapters too, you could THEORETICALLY MAYBE pull it off. Real world having to travel through the internet? No. It -can’t-. The reason that Halo, etc. can pull off the gaming is that the server can predict based on your motion where you’re going to be, etc. Fighting games can’t predict if you’re gonna nail that 1 frame link or not.

Fighting games over the internet is not possible, as far as a perfect version goes… and as they’re possibly -the- most anal games about timing and reflexes, playing them is going to be farily well pointless otherwise.

There are some interesting observerations here. Here’s my 2 cents:

Someone said that online Fighters are totally possible and Capcom just needs to invest in better netcode
Even with the best network code, you still have to cope with real latencies in the internet. There’s no getting around the fact that it may take 50 ms or longer for a packet to move from one physical NIC to another through the internet, no matter how good your client-side code is. Client / Server just makes the problem harder, as now all your packets have to take two big jumps through the internet instead of 1, so you really want to do peer-to-peer. This opens up a whole new can of worms (synchronization and the 2 generals problem, time-skew, etc.). Yes, these are all solved problems, but even if you solve them you still have to deal with those 50 ms.

Someone else refutes that fighting games over the internet are not possible due to the laws of physics
Sort of. It takes roughly 13 ms for light to travel from LA to New York, which is less than 1 frame of latency. So if you had line-of-sight between two consoles on opposite sides of the country, a REALLY powerful laser, and some really cool networking hardware to use it to transmit IP, you could do an online fighter with 1 frame of latency. We’re probably not going to get that, though.

So what can you do? You work around it. Virtual memory’s a great example. Way back before virtual memory it was impossible to allocate more memory than you had in your machine. Your entire OS, application, and all of its data had to fit in there, or you were done. The solution was to come up with a new memory managment system which would use the disk as swap space and could transparently page memory in and out. Now you can use more memory than you actually have! Defying the laws of physics! It’s like magic!

You can probably do something similar with fighting games. Acknowledge that you cannot transmit a packet in < 1 frame and focus instead on creating the illusion of a zero frame latency game by using magic tricks to hide the packet transmit time. If anyone solves this problem, it will be with good netcode to minimize the transmit latency and enough secret sauce to hide the latency that’s inherit in transmitting packets over the internet.

very VERY informative post Tony! Thank you for sharing that it sheds a whole lot of light(no pun intended) on the issue. I’ll probably gaf this.

You sumed it up perfectly, Ponder.

do any of you guys even know anything about the transfer of data across the internet? if you talk to anyone who programs on the socket level, they will tell you that data is never guranteed to make it to the final destination. so, to counter act the corruption, data loss, out of order packets, and lag, a whole patch work of code and techniques are in place just to make sure all the data eventually makes it to where its going. trust me, for the most part its not the net code, its the internet itself.

First of all, TCP is as good as guaranteed to get packets across eventually. A lot of the brains of TCP is in ensuring this occurs (e.g. exponential backoff). Unfortunately, this is one of the reasons you don’t want to use TCP for this sort of thing.

UDP packets, however, may never reach the destination. There are many, many, many ways to deal with this. It’s a solved problem. Google for “reliable udp” and you’ll find hundreds of links on this. Getting data through the internet isn’t the problem.

It’s getting it through as fast as possible, and what you do while you’re waiting for it to arrive.

Great. I’ve always thought it was possible to give off an illusion of the perfect fighter online, since it was never going to happen. No fighter will ever be brodbanded as clear as it’s played on a console, but technology and inventive usage might bring us so close we won’t care about the difference.

Assuming online reaches a “tolerable” point for fighters, should there be an ideal setup? I heard that DOA Online has a decent “arcade” system, but for some reason I’ve stayed away from DOA period. Could someone explain and evaluate whatever thing DOA has going on?

Hardware is definitely part of the issue (thousands of lagging games on XBL because bittorrent is running is proof of that, between speed and bandwidth), however upgrading hardware will only do so much. You can’t say that there won’t be any difference between a 9600 baud modem and DSL/Cable/T1 whatever.

But coding is also important. Having coding with a low “Big O” notation (essentially the speed and efficiency of the code) is important for things like this.

Another problem is TCP/IP. In TCP packets vary in sizes. And it works like a first come first serve. So if you’re fighting input data in a packet is stuck behind some larger movie data packet that someone is DLing then you’ve got to wait til they’re finished processing in the hubs/switches and routers before you can go through. While there are “smart” routers that can detect a colision in packets and route you to another way to get to your destination using RIP.

You also have to deal with (thanks to TCP) the various methods like handshaking, and whatnot which will increase time for pings.

From my understanding ATM is a much similar and much more effectient way to transmit data over the internet, but as long as TCP/IP remains the standard for the internet that won’t have a chance to take off.

Keep in mind that a ping of 16mm is exactly 1 frame in 60fps fighters.

For now at least, online play in fighters is feesable on a smaller level (ex. LANs), but if you’re doing a LAN parties anyway then whats the point of playing it online?

But ponder is right as well.

(edit=keep in mind I haven’t used my network+ cert for over a year now so some of the info may be slightly off)

You say a lot of things which are true, however:

Hardware does have a lot to do with it, but all modern consoles have broadband ethernet adaptors, which is more than good enough.

Anyone using TCP to make a networked fighter should be shot (use UDP)

Anyone using an networking algorithm with a running time so great as to affect the latency of a packet transmit or receive should be shot, dismembered, buried, dug up, set on fire, and fed to dogs (which in turn should be shot and gutted).

Well the PS2 has a modem port, and if you’re using an emu like mame of whatever you have the option of using a modem. But obviously it isn’t recommended.

Another point about the Fiber Optics. Not only is it expensive, those cables are also very fragile, and they don’t bend too well (so getting it from around your computer to whatever your fiber optic ISP gave you to connect to them may be fairly out in the open since you can’t just “tuck it away” thus prone to damage).

Considering Ponders estimation of light getting from LA to NYC being 13ms, it makes it impossible for anything under 16mm to get half way around the world should you decide to play someone from India.

That’s been done with PC games for close to a decade, it’s old tech.

You can fake things with good netcode, the issue is “is xxxxxxx game profitable enough to pay people to code the damn thing”. Currently several of the top FPS games (where ping is more important then in fighters at the top level) use BS comp algos in this sense. It draws data from the client, and server, and then does the math over to figure out “what should have happened”, it’s pretty damn good in spoofing lan ping over large distances.

The problem is that kind of stuff costs money.

BTW fiber optics are out now for home use, verizon fios.

since the game is simplistic (like say around quater of virtuafighter4’s command list) and its not 2d, it does away with alot of moves that arent needed

continuously pressing low kick for instance, it has vf4’s simplicity and fills it with moves that you enjoy in fighting games

its just not a matter of “what looks cool” its a matter of truth, in real fighting you wouldnt go upto someone crouch then tap their foot with mini kicks would you?

not saying 2d fighting or anything with 2d philosophy is shit, i LOVE 2d fighting games, why do we playthem? cos its fun!

thething is what people dont realise if you learn a way of fighting life becomes a guessing game, the way to become a great fighter is not only your reaction to certain situations but your mental abilities, the ability to suggest targets, goals, ideologies to your opponent aka mind games, but dont just say “uh yeah mind games he’s right” dissectthe word, getto know it, embrace for you to becomeone with this philosophy, its in every high competitive thing we do

when to people are evenly match whatdo we do? it justbecomes a game of “who will fuck up first” if your waiting for an expertto fuck up your gonna be waiting for a LONG time

what doa’s aim has been (yes its starting to show only now but evolution can be unpredictable to the ignorant) was to cut the crap and get to the crunch, no “iv wasted my timelearning this its useless” EVERYTHING is usefull

“keep what is useful and discard what is useless” this was bruce lee’s philosophy, and its ironic how his philosophy makes near acceptable online play a possibility

instead of lag becoming a wall it becomes a river we must adjust to so that we can reach our destination. :tup:

The problem with compensating for lag in fighting games is that it just can’t be done. Most online play is done in games where the players aren’t in regular close contact, and are constantly moving on all three axis. This allows the game to predict where a player is going to go, what the player is going to do, and the predictions are displayed for the player to see, eliminating the crazy gameplay artifacts we used to see in the early days of online gaming where players were popping in and out all over the place, and shots that clearly hit… didn’t.

Prediction won’t really work with fighting games, because it doesn’t always work in any game. For fighting games this is a nightmare, because there’s only one opponent, and he has your full attention, so if the prediction fucks up, you both know, and the match is ruined. In a fighting game it’s critical that you always know exactly what your opponent is doing - if he starts a predicted movement, or worse a kick when it should really be a punch, the entire match will start to break down. So instead the match has to slow down, timing changes, and the best players, the ones who have neural pathways and muscle memory careful tuned for particular games by years of practice, those great players are going to have a really, really shitty experience.

Of course, face-to-face gamers are quickly becoming the minority of fighting game players - arcades are almost nonexistant in most of the world, and fighting game sales are poor, so for many players online play is the only option. This will lead to a new breed of players, who can easily adapt to changing lag and just keep playing. That may actually fuel sales of online fighting games beyond their current levels.

It’s easy to say something is impossible when it hasn’t been done yet. I have good reason to believe it can be done. You’re welcome, of course, to disagree. :lovin:

I think it’s doable, but not with the current technology. Due to not having access to arcades anymore, I’ve had to switch to online games- which means I do miss out on some more modern games.

I think the only thing that would cause an explosion is an online Tekken- it’s the only really popular franchise in the US, and Tekken, while not being as good as VF, is deep enough to allow people to explore the game.

I also see some of the old-schoolers eventually making their own dojin games- not in the faux-GG style that most are these days, but SF-style dojin games.

Why can’t netcode be a reusable library?

Hey all,

Great thread. Forgive the ignorance here. Can anyone describe exactly what they mean by net code?

To me it sounds like the code that is put on the client to interpret inputs from the user and send them from the client to the server. On the other way, this code would take information sent from the server and interpret it.

As such, it seems that there are two important parts of the code

  1. The code that just “buffers” the inputs and outputs and makes sure that all information gets accross in an efficient fashion.
  2. The code that interprets the info coming from the server and shows it on the screen or interprets the info coming from the client and does something on the server

It seems like only 2 is game specific…to me 1 seems like the more complicated part to code (and where the lag would come in), but why couldn’t this be a library that is written by developers (or Microsoft) and shared across all their games? As such, the fact that a single game may not be a blockbuster should not prevent them from having good netcode.

Am I missing something here?