Hackfest 2004
Tetribot
The latest versions of Tetribot, a helper program and library for writing Tetrinet AIs, will be available from this site. Details about the Linux.conf.au 2004 Hackfest, which is a competition between Tetrinet AI programs, can be found here.
Example AI
Harmless is a simple AI I wrote to help test the tetribot code. Its not very clever (it is especially vulnerable to block bombs) and has at least a few bugs left in it, but it'll give you something to test your bot against before the conference starts.
Its not against the Hackfest competition rules to use code from harmless (note its released under the GPL), though there are much better algorithms documented elsewhere. You can download it from here
Mailing List
There is a tetribot-ai-dev mailing list here for those who want to discuss AI design/strategy.
Competition Results
Geoffrey Bennet's bot Beth won the Hackfest competition. You can download the source to most of the bots entered into competition here.
Downloads
Tetribot Release 1.0.1 (2004/1/15)
Notes
-
Fixes timeout bug
-
More tolerant to bad messages from server
-
Packages
Tetribot Release 1.0 (2004/1/12)
Notes
-
Includes missing tclient patches from 0.9.9
Packages
-
Tetribot Release 0.9.9 (2004/1/11)
Notes
-
Fixes bug where tetribot would not use last slot in game
-
Fixes bug where getting killed by specials would leave tetribot in zombie state
-
Handles games ending without anyone winning or losing
-
Fixes off by one bug with message buffering which caused random and rather rare assertions.
-
Various compiler warnings removed
-
Adds GetFieldP (no free needed version)
-
Various harmless bug fixes
-
Fixes special reporting bug
-
Bit of socket tuning
-
Packages
Tetribot Release 0.9.5 (2004/1/7)
Notes
-
Incorporate harmless AI as part of package
-
Adds notification of special use by other players
-
Adds support for ingame messages (rather dodgy but works)
-
Adds non blocking versions of functions
-
Fixes bug where effect of special could be lost if tetribot receives a message from the AI at the same time
-
Packages
Tetribot Release 0.9.1 (2004/1/1)
Notes
-
Adds support for partyline messages. Note this is different from in game messages.
-
Adds support for teams
-
Adds SIGCHLD handling for tetribot server
-
Fixes bug in block quake code that could corrupt player field
-
fix random block frequency settings (reset after multiple games)
-
Misc bug fixes (see ChangeLog)
-
Packages
Tetribot Release 0.9 (2003/12/22)
Notes
Switches work correctly
API/Protocol change for GetCurrentBlock
Specials cleared before game starts
NULL field sent correctly if player is dead
Properly detect winning a game
Refuse to use specials on a dead player
Addline algorithm corrected
Better endgame detection
Misc bug fixes (see ChangeLog)
Packages
Tetribot Release 0.8
Notes
-
Detect players leaving/moving slots
-
Lame attempt at finding players in other channels
-
Autostart game after 10 seconds if other players present
-
Auto joins channel tetribotx, where x>=0
-
AI disconnecting resuglts in player losing
-
Add correct info about block definitions
-
tetribot server serves multiple clients (forks)
-
Various bug fixes (see ChangeLog) file
-
Packages
Tetribot Release 0.7
Notes
-
Doco updates
-
Various bug fixes (see ChangeLog) file
-
Packages
Tetribot Release 0.6
Notes
-
Use of specials implemented
-
Various bug fixes
-
Packages
Tetribot Release 0.5
Notes
-
First public release
-
Please read the README file in the package
-
Packages