Click. Work. Collect
LinuxEra.com arrow Linux Articles arrow Linux Items arrow Inside Warp Pipe
Tuesday, 06 January 2009
LinuxEra.com
Linux Articles
Discussion Board
Interview Questions
Site Map
Search
About
Contact
Members Login





Lost Password?
No account yet? Register
Featured Links
PHP.Net
MySQL.com
Apache.Org
Linux.Org
Special Note

Linux Preloaded on Dell: At this point however, there are no specifics on the Linux preload, other than it will be available on laptop and desktop systems. From David Lord, a spokesman for Dell.

Rejoice penguins, Linux will be an option on future Dell desktop and mobile computers.

After several weeks of soliciting feedback from customers through its IdeaStorm Web site, pre-loading Linux became the first customer-requested option adopted by the company.

 
Syndicate

Valid XHTML 1.0 Transitional


Inside Warp Pipe
Courtesy: guri  

Warp Pipe Makes GameCubes Party Together on the Internet

Nintendo's game consoles have been well regarded for their excellent multiplayer titles -- Mario Kart and Mario Party immediately come to mind. Now owners of the Nintendo GameCube can connect over the Internet to play together and against one another by using Warp Pipe, a networking application that requires a GameCube connected to a LAN with the Nintendo broadband adapter card. Created by Nintendo fans and developed under Linux, versions also run on Windows and Mac OS X.

Warp Pipe is not officially sanctioned by Nintendo. The company appears to have been reluctant to launch an online service that brings GameCube players together for gaming sessions, such as Microsoft's Xbox Live. "We haven't had any contact with Nintendo at all, but I hope they see what we are doing in a positive light," says Chad Paulson, the originator and project manager of Warp Pipe. "We simply want to create that bridge between GameCube gamers, extending the LAN capabilities."

From Open to Closed

Warp Pipe has had a major point of controversy in its short lifetime. It started as an open source project, but after the alpha release, Paulson and his team elected to close subsequent versions. (When this article was originally researched and written, Warp Pipe was still open source.) Essentially, the Warp Pipe team appears to have misunderstood the ramifications of releasing their code as "open source." However, they insist that, technically, the code in versions since the alpha are new rewrites. The original, open source Warp Pipe alpha version remains available (.zip file of Warp Pipe alpha version), but no longer receives any official updates by the Warp Pipe team.

"We all agreed that the alpha was a good release and that a lot of improvements were needed. At that point, it was brought up that we should go closed source, and there was a general consensus to do so, as long as the software remained free," says Tushar Singh Quack, developer of Warp Pipe's Windows GUI. "The earlier code is still open source. However, as soon as the change occurred, I started fresh and recoded the GUI in a different manner. The 1.0 release development was also started from scratch. Thus, all releases after the closing are fresh starts."

(Quack and Paulson both discuss this delicate matter further in follow-up interviews below. The rest of this article specifically addresses the development of the open source alpha version of Warp Pipe, and the technology behind it.)

Extending the "Nintendo Experience"

The core code of Warp Pipe alpha was written in C, with its GUIs in C and C++. Some XML parsing was necessary. Quack wanted to use XML absolutely everywhere for Warp Pipe, but the rest of the team rejected this suggestion, being more comfortable with C and C++.

The Warp Pipe team has four development groups. One team works on the network code, a second on the server side code, and the remaining two handle the GUIs for the Mac OS X and Windows ports.

Paulson got the rough idea for this project when he first learned that Nintendo would be releasing LAN-based games for the GameCube. "I am a huge Nintendo fan, and I love what they bring to the table in the ways of innovation, so I really wanted to extend that fun and overall 'Nintendo experience' over a wide-area network," he says. "I thought that it would be interesting to see how the connectivity and interactivity of the Internet would affect Nintendo's multiplayer games."

Paulson imported a copy of Kirby Air Ride from Japan the day of its release. With his GameCube and Linux computer both connected to a LAN, he ran the game on the Nintendo console and initiated tcpdump on his Linux system. By gathering all of the packet data from the GameCube during both the connectivity and gameplay sequences, he was able to collect enough information to write a specification showing how the GameCube connects and relays packets. He discovered that the GameCube uses the UPnP (Universal Plug-N-Play) protocol .

Bringing Warp Pipe to realization laid in deciding the best way to make remotely connected GameCubes appear to one another as though they were sharing a local network, and minimizing (as much as possible) the inevitable lag in communication between the GameCubes. "Getting a solid design that everyone can agree on has been the biggest challenge, thus far. It took a couple of weeks just to decide how the actual proxy would work," says Aaron Yemm, who wrote the server code along with Courtney Falk.

Unfortunately, most of the developers had no way to test their code during the early stages of development. Only one LAN-enabled GameCube title existed at the time, the aforementioned Kirby Air Ride, and it was only available for purchase in Japan. It took a fair amount of guesswork to put together a working prototype.

Designing a unified user interface for the Warp Pipe client across different operating systems was also tricky. "We want the OS X and Windows GUIs to look alike, but users use each system differently. So designing the Windows version to work like the OS X version, or vice versa, just won't work," says Quack. "The solution is that we tried to make the same sort of interface with everything in roughly the same positions, but everything reacts differently. As somebody mentioned during one of our meetings, 'OS X morphs and moves.'"

Not the Only "Game" in Town

Warp Pipe has a competitor, in a sense. A Japanese team has created another GameCube-over-the-Internet project. However, it has a significant technical difference: the Japanese team's implementation requires a direct connection between a GameCube and a PC (with a second Ethernet card installed) via a crossover cable. "Our solution does not require anything that Nintendo already requires for a simple LAN game. Simply plug your GameCube into a router, plug your PC into the same router, and you're done," Paulson points out.

So far, the two teams have shared neither code nor personal communication, and the two techniques are incompatible. Besides any language barrier and hardware-usage differences, is the fact that the Japanese team has never released their work as open source.

Paulson guesses that his team and their Japanese colleagues have been "about neck and neck as far as progress goes." The Warp Pipe developers expect both methods of Internet playability to be similar in the end, when it comes to frame rate, speed, and other factors related to online gameplay performance.

Overall, the Warp Pipe team sees others' efforts to bring GameCube players online not as competition but a great sign of just how devoted, and technically ingenious, Nintendo fans are. "Since Nintendo lacks the huge support base for a system like Xbox Live, I think that grassroots efforts such as this will increase the popularity of online console gaming," says Falk.

 
< Prev   Next >
Your Views
What do you think about LinuxEra.com?