This is a small implementation of the board game Thud, written in C# by Matthew Badger (2008-9).

Thud is a game mentioned by Terry Pratchett in his Discworld novels (particularly Thud!) and later realised as a full game by Trevor Truran. The relevant Wikipedia page has the short history of Thud as a concept and game.

The official Thud site has all the details of rules and lore you could ever want.

In short, this is a variant on the Tafl family of games common in Northern European culture, in which a small number of powerful pieces are pitted against a larger group of individually-weaker pieces.


This game has two styles of control, but both use the same interface. A player controls either Dwarves (starting on the perimeter in traditional rules) or Trolls (grouped in the centre).

The game ends when a player cannot make further attacks or the players agree to end the game.

Side-by-side play

If both players are sharing the same computer they can take turn about on the same board. Since Thud doesn't have a "side" for each player the same view of the board doesn't disadvantage either player.

Network play

If both players have their own computer they can play across the network. One user starts a game and awaits a connection from the other user. Play continues as usual from there.

Code and coding

I resurrected this implementation, with Matthew's permission, in order to get some experience writing C# on a project that I had some degree of artistic control over. I'm writing my additions with the Mono tools and framework, so there may be compatibility problems if you're using the official .NET tools.

Because this is a learning exercise then code reviews are positively encouraged. If there's anything that looks funny to you then open an issue using the bitbucket issue tracker. The same goes for actual bugs of course!

Dougal Stanton 2010