dannyboy said:
Funnily enough I was recently pondering the same kind of thing - whether it'd be possible to link two identical arcade games that support linking when sat side-by-side, (e.g. most of the Sega racing games), except link them over t'internet instead.
A lot depends on how they connect to each other. If it's fibre optic then it's going to be trickier as you'll need to convert at OSI layer 1 (the physical connection method) but say the game used Ethernet to talk to each other you could use a VPN tunnel and some IP encapsulation software to basically take anything that was outputted by either machine, encapsulate it into an IP datagram and squirt it over the internet to the other end of the tunnel, where it's unencapsulated from IP to whatever it is natively and then the remote machine sees the traffic.
That's obviously only a very high level overview. It may use Ethernet jacks but not actually be Ethernet on the wire so you'd have to examine that. Or it might use MAC based addressing. Or it may use Ethernet but completely non-standard in terms of frames. Basically a tonne of things could make it impossible or incredibly complex.
And then you have the latency issue but as long as you're not too ambitious (say, avoid a US to UK link at prime time) then the latency and jitter may be manageable.
I quite like the idea of hacking this guys design so it can either read or feed player 2 input. You'd have a pair of modules on either end and start as P1 on one cab and P2 on the other. The sniffer then monitors each players input and sends it over to the other cab. The obvious problem with this is when the game includes randomly generated action such as the activity of the baddies in Bubble Bobble (which would be one of my ideal test cases
) - both players would have different on-screen activity because the game state in terms of what the baddies are doing would quickly desynchronise as their activity is randomly generated on each PCB. So even if you were bubbling some enemies on your screen and remote P2 was doing the same, P2 might be aiming at somebody on the far right of the screen on his instance of the game, but on your instance of the game there's no baddy over there so he's bubbling at nothing.
It would be a lot simpler to start this in MAME I guess, and pick a game where the gameplay is fully deterministic in that everything that happens in-game occurs because of something the player has done. In this case it should be possible to maintain synchronisation of the game state, but it would significantly cut down the number of games you could apply this to.
Definitely something to add to my eventual free time list, like finishing off the arcade PCB gameshark equivalent I've been thinking about and fiddling with on and off (basically it's intended to implement the cheats menu in mame, but on real hardware).