Software-Challenge Dokumentation

Die Ersten (Programmier-)Schritte

Bekanntlich ist aller Anfang schwer. Deshalb soll hier eine kleine Hilfe gegeben werden, die den Start mit der Entwicklung erleichtern soll.

Die richtige Programmiersprache

Am einfachsten ist es natürlich, eine der offiziellen Spielervorlagen (Java, Ruby, Python) als Basis zu nutzen, allerdings könnt ihr auch eigene Clients in anderen Sprachen schreiben. Das ist mit mehr Arbeit verbunden, aber wenn ihr eine Sprache besonders gerne nutzt oder Vorteile seht, dann kann es sich lohnen!

Wenn ihr also genug Erfahrung habt und euch entscheidet den schwereren Weg zu gehen, dann solltet ihr euch die XML-Dokumentation genau anschauen, da ihr die ganze Kommunikation inklusive Parsen der XML-Nachrichten implementieren müsst. Außerdem solltet ihr euch als Beispiel den (inoffiziellen) Swift Computerspieler ansehen. Das kann auch helfen, wenn man Swift nicht kann, da die meisten prozeduralen Programmiersprachen viele Ähnlichkeiten haben. Somit sollte es nicht allzu schwer sein, den Swift code in eure Sprache zu übersetzen. Auf ähnliche Weise können natürlich auch der Java Quellcode und der C# Quellcode helfen.

Am besten sprecht ihr die Verwendung einer anderen Programmiersprache frühzeitig mit eurem Tutor ab, damit sichergestellt ist, dass der Computerspieler auch am Wettkampf teilnehmen kann. Wir stellen gerne eine passende Laufzeitumgebung auf dem Wettkampfsystem für die Programmiersprache zur Verfügung.

Weiterführende Literatur

Zu den meisten Programmiersprachen existieren umfassende Dokumentationen. Einige Empfehlenswerte werden hier aufgeführt. Der geneigte Leser ist eingeladen, in dem entsprechenden Bereich eigene Empfehlungen hinzuzufügen.

Java

Die umfassende (englischsprachige) offizielle Dokumentation zu Java ist einsehbar bei Oracle. Als deutschsprachiges Referenzwerk ist das Buch "Java ist auch eine Insel" empfehlenswert, welches man bei Galileo Computing als Open-Book kostenlos online betrachten und herunterladen kann. Man kann es dort ebenfalls als gedruckte Ausgabe bestellen.

Entwicklung eines Computerspielers