Tetattds 3.1

October 12th, 2008 by Sten Larsson

What’s new:

  • Network protocol rewritten
  • Support 8 players
  • Fix displaying highscores

Me and Gustav spent some time during the summer to rewrite the network protocol. Every packet is now smaller which means we can send them much more often. Every client now only sends the changes to the playfield (delta) and also the last seen version of the other players’ fields (ack). The whole field is sent if a new player joins or the delta is so big that it is more efficient to send the whole field. It also sends a new packet directly after reciving a packet from the player on the left. Before it simply sent packets at a fixed interval. The improvement is very noticable with two players.

Unfortunately the improvement is most apparent when using dswifi (”Internet”). It seems liblobby (”Local”) is not as fast.

My friends requested that you could see your own field on the upper screen. This is useful after the round is over to look at what you could have done to survive. This would have reduced the number of players to 4, but I’ve added a button (X) to switch the upper screen to show players 5-8. I noticed this doesn’t work very well on Nintendo DS after packaging this release, because I’ve only tested 8 players in the SDL version. Sorry about that. But if you do get 8 people together please let me know.

Download here

Comments

July 4th, 2008 by Sten Larsson

Whoops I usually get mail when there are comments to moderate, but apparently not. Anyway I’ve moderated the comments now, sorry about that.

5-player local games

June 22nd, 2008 by Sten Larsson

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

June 8th, 2008 by Sten Larsson

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.

libmikmod 3.2.0ds1 released!

December 22nd, 2007 by Sten Larsson

I’ve released a new version of libmikmod for Nintendo DS. Here is what’s new:

  • Based on libmikmod 3.2.0-beta2
  • Many fixes to the hardware mixer by Andreas Back. It is almost as good as the software mixer now!

Download here

Server up

November 29th, 2007 by Sten Larsson

It seems there are still people interested in this so we have started the server again. There seems to be some problem with the old server address so please use “walkyrie.se” instead. The server is still quite unstable so please post a comment here if it goes down again.

Server crashes

March 1st, 2007 by Sten Larsson

The Tetattds server has crashed several times since we released 2.0 (and actually many times before that too) . I found and fixed a potential problem, so I hope the server is more stable now.

For those interested in the technicalities, it happened when the client closed the connection at the same time as the server sent out a packet. The server would then close it’s end of the connection, but after a while it determines that there was a timeout, since the client never replied to the packet sent out earlier. At this point the data for that player was already deleted, and it crashed as a consequence.

Tetattds 2.0 released!

February 22nd, 2007 by Sten Larsson

Tetattds 2.0 is finally here! Here is a list of what’s new since 1.2:

  • New graphics!
  • New sound and music!
  • Now saves highscores to FAT if available (otherwise it uses SRAM)
  • Server now works on ppc
  • Bug fixes
  • Improved building from source
  • Built with latest devkitpro

Download here.


Tetattds 2.0 menu Tetattds 2.0 endless mode Tetattds 2.0 vs self 1 Tetattds 2.0 vs self 2

Tetattds 2.0 wifi mode 1 Tetattds 2.0 wifi mode 2

May the source be with you

February 4th, 2007 by Sten Larsson

I’ve imported the source for Tetattds and related projects into our Google Code repository. I would have done this earlier but I wanted to get rid of copyrighted material stolen from Tetris Attack before doing this. (That also means we now have some new sound effects in place.) The code currently in the repository will be Tetattds 2.0, but it needs some more polishing before we release it. We would also want the official server to be up and running, but Thomas’ computer is broken.

If you want you can check out the source and build it yourself in the meantime. To be able to build you need some standard libraries: devkitpro, libnds, dswifi, and libfat. Quick build instructions:

  • Check out the code (instructions here)
  • make in mikmod
  • make in fwgui/tools (only on unix)
  • make in fwgui
  • make in tetattds/tools (only on unix)
  • build.bat in tetattds/libcartreset (on unix run build.sh)
  • make in tetattds
  • make in tetattds/server (only on unix)
  • build the project tetattds/server_gui (only in Visual Studio 2005)

tftpds 2.4 beta

January 7th, 2007 by Sten Larsson

I promised someone on the gbadev.org forum that I’d upload the latest source for tftpds. The problem is that I added a save system that seems to be buggy. I wanted to fix that before releasing the next version, but I cannot find the problem, and I prefer spending my free time on Tetattds right now. Therefore I’m releasing tftpds 2.4 beta. Note that this version might ruin the saves in all banks of your flashcart.

What’s new:

  • Added save system
  • Implemented “blocksize” option.
  • Rewrote code for booting programs. It’s much simpler now.
  • Disables wifi before booting
  • Fixed code so that it compiles with cvs version of libnds.

See readme for details on the new save system and blocksize option.

Also this actually still doesn’t compile with the latest libnds, but it does compile with the cvs version of libnds. Just change REG_POWERCNT to POWER_CR in boot9.cpp to fix this.

tftpds-2.4beta.zip

tftpds-2.4beta-src.zip


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