Einführung

C# Pirates reloaded

So groß war der Andrang in den offline Wochen von C# Pirates, das wir es jetzt im Rahmen der Herbst BASTA! in Mainz (22.09 - 26.09) wieder öffnen. Aber nicht nur das – Rainer Stropek von cubido business solutions öffnet, in seiner Session „C# Pirates – Silverlight 2.0 in der Praxis“ auch den Blick hinter die Kulissen des .NET Battleship Games.

Jetzt heißt’s wieder C# Template laden und los geht’s! Möge der Bessere gewinnen :)

What the hell... ;)

C# Pirates

Ganz egal ob Sie ein C# Einsteiger oder ein Senior Consultant im Microsoft .NET Umfeld sind – alle sind herzlich eingeladen, einen eigenen Player für unser „Battleship game“ C# Pirates zu entwicklen. Bringen Sie Ihren Algorithmus via Upload ins Spiel und beobachten Sie Ihn im Kampf gegen andere Piraten am coolen Silverlight 2.0 Spielfeld, wie er sich in unserer hall of fame bewährt ;)

Um was geht’s bei C# Pirates?

C# Pirates lässt sich nicht wie ein herkömliches Computerspiel „per Hand“ spielen. In diesem Spiel treten selbst entwickelte C# Algorithmen gegeneinander an – und genau das ist Ihre Aufgabe – einen schlauen Algorithmus zu entwickeln, der, schneller als ihr „Gegener“, alle gegnerischen Piratenschiffe erwischt. Sobald Sie die Entwicklung abgeschlossen haben, einfach uploaden (Infos dazu gibt’s weiter unten) und in die ersten „Seeschlacht“ stürzen.

Wie viel kostet die Teilnahme?

Die Teilnahme ist gratis! Auf ausgewählten Microsoft Entwicklerveranstaltungen (siehe Link), besteht sogar die Möglichkeit, tolle Preise zu gewinnen. Also nicht’s wie ab ins Visual Studio – schlauen Algorithmus entwicklen, uploaden und brühmt werden ;)

Ist es kompliziert einen Player zu entwickeln?

Ganz und gar nicht ;) Einfach unser startup package mit Debug & Testumgebung downloaden. In diesem Package finden Sie auch zwei Beispielplayer. Beide haben weniger als 30 Zeilen C# Code und das zeigt, dass C# Pirates viel einfacher ist, als vergleichbare Spiele wie z.B.: AntMe. Kurz gesagt, jeder sollte einen Player schreiben könnne, selbst C# Einsteiger.

Wie kann ich meinem Player zuschauen? (und anfeuern) ;)

Das bereits angesprochene Startup Package liefert ein textbasiertes Spielfeld mit (siehe Abbildung unten). Sie können es für Debug & Testzwecke während der Entwicklung verwenden. Nachdem die Programmierung abgeschlossen ist, müssen Sie den Player hier uploaden und danach sehen Sie Ihren Player im Glanze von Silverlight 2.0.


Text-based playing field

 
Silverlight-based playing field
(click to enlarge)
 

Was brauche ich um mitmachen zu können?

Im Prinzip brauchen Sie eigentlich nur einen Texteditor (am besten notepad.exe ;) und einen Internet Browser – aber in der Praxis hat sich doch gezeigt, dass es mit folgenden Tools doch mehr Spaß macht:

Microsoft Visual Studio 2008 (egal ob Express oder Co)
Microsoft Internet Explorer >= 7
Wenn Sie Ihren Player im Glanze von Silverlight zuschauen möchten, dann müssen sie auch noch die Silverlight 2.0 runtime auf Ihrem System installieren. Für die Entwicklung des Players müssen Sie natürlich kein Silverlight 2.0 SDK installieren!

Wo bekomme ich Hilfe zu den Klassen von C# Pirates?

Wie haben die Klassen für die Implementierung des Computer players hier dokumentiert. Wenn es irgendwelche Probleme gibt können Sie uns gerne eine E-Mail unter (pirates@cubido.at) schicken, oder besuchen Sie uns einfach auf den BigDays 2008 Stand in Bregenz, Graz, Linz & Wien.

Ihr Player ist fertig für die erste Seeschlacht, was nun?

Stellen Sie zunächst sicher, dass der Player auch wirklich funktioniert – also keine Compile Fehler bzw. irgendwelche Exceptions beinhaltet - ansonsten werden Sie automatisch disqualifiziert!!! Gehen Sie nun zur Upload Seite und laden Sie den Player hoch, besser gesagt, das C# Class File, welches Ihren Algorithmus beinhaltet.  Job done – und schon kompilieren wir für Sie!

Gibt’s Einschränkungen bei der Entwicklung meines Players?

Ja, die gibts ;)
Der Algorithmus muss in einem C# File implementiert werden. Aus Sicherheitsgründen können Sie nur Klassen von mscorlib.dll, System.dll und System.Core.dll (.NET 3.5) verwenden. Die Move Methode muss innerhalb von 0.5 Sekunden fertig sein – wenns „wiedermal“ länger dauern sollte dann killen wir den thread und Ihr Gegner hat automatisch gewonnen.
Don’t try to hack us!
Wir unterstützen nur C# 3.0

Wo sehe ich, wie gut mein Player im Vergleich zur Konkurrenz ist?

Den aktuellen Stand / Position können Sie über unser Ranking abfragen. Die Punkte repräsentieren den Prozentsatz gewonnener Spiele eines Players. Wir aktualisieren die Liste stündlich.

Führt der Silverlightclient den .NET Code anderer Player auf meinem Computer aus?

Nein! Die Ausführung der einzelnen Player passiert direkt auf unserem Webserver. Die Silverlight kommuniziert über .NET WebServices mit dem Server um die entsprechenden Informationen für die Darstellung zu bekommen.

CREDITS
C# Pirates wurde gemeinsam mit software architects auf die Beine gestellt. Ein großes Dankeschön geht an Martin Osen, der dem Spiel das tolle graphische Design verliehen hat.






DOWNLOAD
Startup package mit Beispielplayer, Test & Debug Umgebung downloaden und loslegen!