It does not matter if you are a C# newbie or you are a master in Microsoft .NET. You all are invited to write your own computer player for the Battleship game C# Pirates. Upload your algorithm and battle against other players, see how your player acquits himself in our hall of fame and watch your player on a cool Silverlight 2.0 playing field.
What Is C# Pirates?
C# Pirates is a game you cannot play manually. Instead you have to write a computer player using C#. After that you can upload your code and let it play against players written by other people.
How Much Does Participating in C# Pirates Cost?
It is free! We do not charge you anything. On the other hand you cannot win any money in C# Pirates. You play for getting famous ;-) However, if you like the game we would be glad if you tell us so (office@software-architects.at).
Is It Complicated To Write a Player?
Absolutely not! We will provide you with a startup package including two basic computer players. Both are less than 30 lines of C# code. We designed C# Pirates to be much simpler than other similar games like AntMe!. Everyone should be able to write a player for C# Pirates, even C# beginners!
How Can I Watch My Player?

Download our startup package with sample players and debug/test environment.
The startup package you receive a text-based playing field (see picture below). You can use this environment to debug and test your player. After you have uploaded your player you can watch it on the Silverlight 2.0 Beta 1 based playing field (read more about the Silverlight Playing Field).
Text-based playing field
(click to enlarge)

Silverlight-based playing field
(click to enlarge)

What Do I Need to Participate?
In principle all you need to participate is a text editor and a browser. However, in practice C# Pirates is fun if you use the following tools:
- Microsoft Visual Studio 2008
(it does not matter which edition, even the free Express Edition is fine) - Microsoft Internet Explorer Version >= 7
If you want to watch the Silverlight playing field you will have to install the Silverlight 2.0 runtime. If you do not have it already you will be asked to install it the first time you start the Silverlight playing field. Note that you do not need to install the Silverlight 2.0 Beta 1 SDK to create a player! However, we encourage you to install and play with it. The world is much cooler since Silverlight 2.0 has arrived ;-)

Download our startup package with sample players and debug/test environment.
If you have the tools mentioned above you can download our startup package. It contains two sample players and an environment for debugging and testing your player.
Where Can I Get Help About the Classes of C# Pirates!
We documented the classes you need for implementing a computer player at DesktopModules/Battleships/Help/Index.html. If you have problems with C# Pirates you can send us an email (office@software-architects.at). Because we create and maintain this game in our spare time it may take some days until we answer questions.
My Player is Ready to Battle, What Now?
Make sure your computer player works! If it does not compile or throws exceptions we will disqualify you!
Go to the upload page and upload your computer player. Note that you cannot upload compiled assemblies! You have to upload the C# source code. We will compile it for you!
Are There Any Constraints About What I Can Do Inside My Player?
Yes, there are:
- You have to implement your computer player in a single C# file.
- Because of security reasons you can only use classes from mscorlib.dll, System.dll and System.Core.dll (.NET 3.5).
- Your Move method must complete within 0.5 seconds. If it takes longer we kill the thread and declare your opponent as the winner.
- Don't try to hack us!
Can I Use Other Programming Languages Than C#?
No, we only support C# 3.0.
Can I See How Good My Player is Compared to Other Players?
You can see the current raking list on our Ranking site. The points represent the percentage of games that this player has won. We refresh our ranking list every hour or so.
Does the Silverlight Client Execute Code of Other People's Players on My Computer?
No! The code for computer players is compiled and executed on the server side. The Silverlight playing field communicates with the server using .NET WebServices. Stay tuned with our Technical Articles and Blogs. We will publish details about the implementation of C# Pirates there.