News for hackers. Stuff that matters.
Re:Tetris for Game Boy Gets Online Multiplayer by emptybits on Monday May 17, 2021 @02:29AM (#27180585)
Very cool. Another piece of "massively multiplayer" Game Boy trivia that might be of interest:

There is a Game Boy game published in 1991 called Faceball 2000. It's a first person shooter that supports up to 16 players with a homebrew hardware connector. This was even before Nintendo's own 4-player adapter was available for any games. The connector was not Nintendo-endorsed so it could not be shipped with the game but the code is still there in the ROM. Disclosure: I was a programmer at the small company responsible but not the genius himself. You can read a short interview with him here.[1]

[1] https://web.archive.org/web/20100509163809/http://fb2k.retro...

Re:Tetris for Game Boy Gets Online Multiplayer by lostgame on Monday May 17, 2021 @04:16AM (#27181127)
The fact that people like you are here makes HN still worthwhile while all other social media networks seem to fall flat.

I’d love to think John Carmack is here among us; cleverly disguised under some cute u/n we’d never get unless it was explained to us.

Re:Tetris for Game Boy Gets Online Multiplayer by _Microft on Monday May 17, 2021 @05:30AM (#27181554)
He is actually here, undisguised and even joins discussions sometimes:

https://news.ycombinator.com/user?id=JohnCarmack

Re:Tetris for Game Boy Gets Online Multiplayer by lostgame on Monday May 17, 2021 @06:00PM (#27188956)
Welp; meeting him briefly by accident once was the reason I decided to go straight into the field of development instead of going to school for it around 2008.

I took a moment and read some of his contributions - very fascinating to read his comments on the whole Oculus thing, especially!

Thank you so kindly for sharing that.

Re:Tetris for Game Boy Gets Online Multiplayer by ant6n on Monday May 17, 2021 @07:21AM (#27182232)
The 16-player multiplayer is advertised on the box, but its unclear whether the 16-player Faceball match happened. "Punching Weight" looked into it a while back, apparently some crazy retro nerds managed get a 9-player game running on real hardware quite a while back:

https://www.youtube.com/watch?v=vyK-2LWB734&t=42s

Re:Tetris for Game Boy Gets Online Multiplayer by grenoire on Monday May 17, 2021 @02:58AM (#27180718)
Damn, that's like Quake Arena for the GB!
Re:Tetris for Game Boy Gets Online Multiplayer by konfusinomicon on Monday May 17, 2021 @07:54AM (#27182445)
Ahh I loved faceball 2000! I played the shit out of that game when I was a kid! Never got a chance to try the multiplayer, none of my friends had it and that cord was not in the price range of a 3rd grader
Re:Tetris for Game Boy Gets Online Multiplayer by stuaxo on Monday May 17, 2021 @08:28AM (#27182669)
Awesome, that was such a strange game.

Hopefully someone forks the Tetris multiplayer to work with this.

Re:Tetris for Game Boy Gets Online Multiplayer by CamelRocketFish on Monday May 17, 2021 @03:06AM (#27180760)
16 players on gameboy is incredible, massive props!
Re:Tetris for Game Boy Gets Online Multiplayer by raldi on Monday May 17, 2021 @02:17AM (#27180523)
Several years ago I went looking for a GameBoy emulator that let you do multiplayer over the Internet, basically tunneling VideoLink over TCP. I was very surprised to find no support for this in any known emulator.

As a step to writing a patch for this myself, I hacked in some analysis to try to at least reverse-engineer the GameBoy Tetris protocol (also seemingly unpublished anywhere on the Internet) but never got very far.

Re:Tetris for Game Boy Gets Online Multiplayer by Y_Y on Monday May 17, 2021 @08:46AM (#27182801)
Isn't there some generic tool for handling transmitting keypresses? Then you could use an emulator with local multiplayer (I know this exists at least for two-player) and a video link to have both machines emulated on one host, and one working remotely. At worst you could have have a limited vnc session or something.
Re:Tetris for Game Boy Gets Online Multiplayer by livre on Monday May 17, 2021 @09:47AM (#27183321)
> At worst you could have have a limited vnc session or something.

I don't know specifically about Gameboy but this approach has been tried by PS1 emulators and it doesn't work. There are two main problems, computer and internet speed variations will eventually make both games go out of sync, and if using the clock or some external data for the seed of the game's rng then both players will be getting different things while in game (depending on the game, could be different Tetris blocks, different bonuses, different weapons). I discovered this while trying to play a multiplayer PS1 game over the LAN and the emulator did just that, send keystrokes to the other computer.

Re:Tetris for Game Boy Gets Online Multiplayer by mrslave on Monday May 17, 2021 @03:07AM (#27180767)
TetriNET was huge back in 1998.[0] And gtetrinet[1] still runs on Linux.

[0] https://en.wikipedia.org/wiki/TetriNET

[1] http://gtetrinet.sourceforge.net/ (no HTTPS unfortunately)

Re:Tetris for Game Boy Gets Online Multiplayer by ZitchDog on Monday May 17, 2021 @03:30AM (#27180874)
I was in a tetrinet clan!
Re:Tetris for Game Boy Gets Online Multiplayer by mrslave on Monday May 17, 2021 @05:26AM (#27181536)
My memory isn't good enough to remember how to bootstrap a game. I believe TetriNET didn't have a forum to play against strangers, but I could be wrong. I played only with friends who would initiate the game with an instant message group chat first.

Did your league organize on IRC to bootstrap games with the host's IP address? Is there a webpage with league standings still around?

Re:Tetris for Game Boy Gets Online Multiplayer by ZitchDog on Monday May 17, 2021 @09:30AM (#27183149)
Re:Tetris for Game Boy Gets Online Multiplayer by sen on Monday May 17, 2021 @04:12AM (#27181094)
Stacksmashing is well worth a follow on YouTube[0]. They’ve been cranking out some seriously awesome projects lately with very detailed breakdown videos that have taught me heaps. Reverse engineering and adding homebrew support to the Game & Watch, and hacking AirTags and running their own code on it, among others.

[0] https://youtube.com/c/stacksmashing

Re:Tetris for Game Boy Gets Online Multiplayer by hatsunearu on Monday May 17, 2021 @02:14AM (#27180516)
A decade+ ago I played Pokemon on GBC/GBA emulators and I always wondered why I can't play online link cable multiplayer and back then I heard that the link cable requires real time communication and any sort of network latency will kill the RT guarantee--I wonder what's different now?

edit: okay looks like their scheme doesn't work for arbitrary games and arbitrary protocols.

Re:Tetris for Game Boy Gets Online Multiplayer by raldi on Monday May 17, 2021 @02:17AM (#27180525)
That doesn’t make sense; an emulator could simulate any latency it wants.
Re:Tetris for Game Boy Gets Online Multiplayer by hatsunearu on Monday May 17, 2021 @02:21AM (#27180544)
Yeah, I think if you did the "dumb" approach of simulating SPI bit-for-bit (or byte by byte, etc) over networking it will quickly break down (like, you'd have to pause the emulation while the packets roll in...?)

I think their approach of understanding how the protocol actually works and making a latency tolerant networking layer on top of it might work for pokemon (assuming the pokemon game code allows this)

Re:Tetris for Game Boy Gets Online Multiplayer by esrauch on Monday May 17, 2021 @09:12AM (#27182992)
I don't think it's that simple.

Imagine the game sends a message over the wire and presumes it can get an stateful ack calculated by code running on the other side before it takes any other action, and then does that multiple times per frame. Also, the code might not even block while waiting arbitrarily long, it might just run ahead and desync/bug out if the reply doesn't come back in a couple ms.

What do you expect the emulator to do when the network latency is more than 25ms long? The emulator can't trivially simulate 0.1ms latency instead. It can maybe try to hook in and pause the emulation while it's waiting for the reply, but it would grind down the game to a crawl.

Re:Tetris for Game Boy Gets Online Multiplayer by AnIdiotOnTheNet on Monday May 17, 2021 @09:48AM (#27183334)
Actually, while not trivial, it is possible to simulate lower latencies than actually exist in reality. What the emulator does is keep a buffer of previous states for some arbitrary length of time (say, 10 frames) then, upon receiving the data, it can roll back the state to when it was supposed to have received it, add the data to the state, and run it forward to catch back up to where it was.

This is a technique used by some fighting games that have internet play, and is also used in emulators to deal with input latency on modern TVs.

Re:Tetris for Game Boy Gets Online Multiplayer by hatsunearu on Monday May 17, 2021 @12:00PM (#27184955)
If you wanted to do this, you'd need complete control over the emulation game state transitions which is much more difficult than just making whatever you call the OP's post (a proxy? I don't know)
Re:Tetris for Game Boy Gets Online Multiplayer by lostgame on Monday May 17, 2021 @04:36AM (#27181252)
This relies on hardcore deterministic reverse-engineering.

Coming from the ROM hacker scene I initially was confused by this; too - but absolutely understand it’s impracticality difficult from a technical end.

Re:Tetris for Game Boy Gets Online Multiplayer by bullen on Monday May 17, 2021 @05:41AM (#27181604)
I made my own take on PuzzleFighter/PuyoPuyo/Multiplayer Tetris: http://fuse.rupy.se
Re:Tetris for Game Boy Gets Online Multiplayer by Juntu on Monday May 17, 2021 @03:49PM (#27187585)
Tetris is panic attack at 1000 whats most cases is when you lose it it’s because your brain functions stops and a part of your memory is gone the more you play the most dare you’ll get. I consider this a death penalty watch nintendo will not put precaution on whats being advertised let the kids decide.
Re:Tetris for Game Boy Gets Online Multiplayer by brailsafe on Monday May 17, 2021 @07:35AM (#27182322)
This is the coolest thing I've seen all year. Particularly use of WebUSB.