Archive for June, 2008

5-player local games

Sunday, June 22nd, 2008

Celebrating Midsummer is an old tradition in Northern Europe. Somewhat untraditionally we managed to bring 7 Nintendo DS together and play Mario Kart DS. I really like that game.

Of course we also tried to play a five player game of Tetattds, but unfortunately it didn’t work. Too many packets are sent and it quickly breaks down. I will try to find some time later this summer to improve the network code. It should easily be possible to have five players, and the only reason for not having more is that only four fields can fit on the upper screen. Maybe there should be some way to flip the top screen to be able to display more players.

Anyway the good news is that four players seemed to work fine.

Tetattds 3.0

Sunday, June 8th, 2008

What’s new in 3.0:

  • Local Wifi
  • Host game on DS
  • SDL port for PC
  • Lots of changes in the code

It’s been a long time since there was any news on Tetattds. Two big things has happened. The first is that we ported Tetattds to SDL so that it can run on PC during the last year. The purpose for this was that we wanted to be able test new features with access to a debugger. If we ever would add a big feature like AI players this would be very useful, although we probably never will. Another reason was to see if it was even possible. It was but the code is now in a mess. :-)

You can play the SDL version against other DS players, but as I said it is only meant to beĀ  used for development. One problem is that the GUI is exactly the same as the DS version, and not suited for PC. I have provided a compiled version for Windows. If you want to have instructions for compiling on Linux or Mac OS X please post a comment.

The other big thing, local wifi, was added during christmas. It is now possible to play multiplayer player games without an access point. This was made possible using liblobby, which is a work-in-progress library, but development seems to have stopped.

One reason I didn’t release Tetattds 3.0 back then was that I meant to refactor the network code in to make efficient use of the bandwidth of local wifi. One problem with liblobby is that it sends packets reliably, and when too many packets is pouring in they start to pile up.

The network code in Tetattds is implemented using UDP, with reliable packets on top of that. That gave us much better response times than TCP since TCP is cached. This also means we don’t need liblobby’s reliable implementation. If it was possible to send packet directly, and skipping the “lobby” part of liblobby, we could send field updates a lot more often, since these are sent unreliably. There is a function to broadcast packages unreliably which would be perfect for this, but I need to refactor the code to make use of this.

Unfortunately the christmas vacation was over and I lost interest in the project, so I never investigated that further. I’m releasing what I have now so that it will not go to waste. Be warned that it is somewhat unstable.

Download here.


Bad Behavior has blocked 46 access attempts in the last 7 days.