The Nokia N-Gage Might Have Sucked, But It Had Rollback Netcode In 2003 1
Image: Nokia

Back when Nokia released the N-Gage in 2003, it felt like a huge moment for the handheld games industry. The Finnish company was the dominant force in the world of mobile phones, and, by combining its tech with a proper gaming platform, promised to kickstart a portable revolution years before smartphones came along and did pretty much the same thing.

There was one huge problem: the N-Gage kinda sucked.

A new book has just been released which documents the history of the N-Gage, and its launch has spurred former Nokia staffer Sebastian Aaltonen to share some of his thoughts and memories of working on the device.

"Their first problem was the hardware itself," says Aaltonen in a thread of posts on social media. "N-Gage was identical hardware to their camera phone, except the camera was gone. [The] display was still vertical and very small. There was no GPU and no floating point unit in the CPU either. The only SDK we got was just two functions: One [was] to get the start memory address for display memory for direct write. Symbian gfx APIs were dead slow. The second one was for reading multiple key presses so that we could read diagonal (up+down) on d-pad. That's it."

Aaltonen also highlights one of the biggest issues with the Mk1 N-Gage – loading up new physical carts: "The first N-Gage version had MMC memory card slot under the battery. You had to take off the back lid and take off the battery to change your game. They didn't even bother doing hardware modification to add hotswap memory card slot. It was just a default phone hardware."

Amazingly, though, the N-Gage had one innovation which makes it significant, at least in the world of online gaming – it had a rollback netcode, and Aaltonen was responsible for writing it. "I wrote our client-side network code," he reveals. "We were among the first ones to ship rollback netcode. This kind of netcode has become popular in fighting games recently. This was required to hide the 1-second network latency. We also designed the game to hide the network latency very well."

In case you weren't aware, rollback netcode is a way of dealing with the latency that is always present when playing games online. To put it simply, the code predicts what the other player's next move might be; should this prediction prove to be correct (say, your opponent throws a punch), then the code plays out that move, which gives the impression of low latency. If the guess was wrong, the code 'rolls back' and displays the correct move. The end result is gameplay which can sometimes feel as instant as playing with someone in the same room, and, at the very least, means that your own inputs are faster and more precise.

This latency present on the N-Gage was down to the fact that the system used GPRS (General Packet Radio Service) for its data transfer – the precursor to 3G connectivity. Even though it's dog-slow by modern standards, it was still seen as a luxury 21 years ago. "It was way too early," admits Aaltonen. "GPRS latency was almost 1 second (in average case). Unlimited GRPS data plan was +50€/month extra on your phone bill in Finland. Only rich people could afford that. And the phone didn't even have an internet browser."