Ein Programmierspiel ist ein Computerspiel, bei dem der Spieler keinen direkten Einfluss auf den Spielverlauf hat, sondern stattdessen ein Computerprogramm in einer domänenspezifischen Sprache schreibt, das die Steuerung der Spielfigur, üblicherweise ein Roboter, Panzer oder ein Bakterium, übernimmt.
Die Spielfiguren kämpfen dann autonom in „Arenen“ gegeneinander und versuchen sich gegenseitig zu zerstören, bis nur noch eine übrig bleibt. Der Spieler, der das beste Programm geschrieben hat, gewinnt. Allerdings gibt es normalerweise keine „eierlegende Wollmilchsau“: Programme, die bestimmte Strategien verfolgen und mit dieser bestimmte Programm-Typen leicht schlagen, sind wiederum selbst anfällig für andere Strategien, so zum Beispiel die „Replikatoren“, „Bomber“ und „Scanner“ in Core War (vgl. Schere-Stein-Papier-Prinzip).
Bekannte Programmierspiele sind Core War, Crobots, Robocode, Dnafight[1], Robot Battle, Robowar und TORCS.
Darwin (1961) gilt als erstes Programmierspiel.
Programmierspiele als Lernspiele
Programmierspiele haben oft das Ziel, Anfängern eine Programmiersprache näherzubringen und das Schreiben von optimiertem Code zu fördern. Üblicherweise sind die einzelnen Programmabläufe zeitlich begrenzt, so dass in einem kurzen Zeitrahmen möglichst optimale Abläufe geschrieben werden müssen.
Da die Befehle zum Steuern der Spielfigur begrenzt sind, lassen sich die Programmiersprachen in einem vereinfachten Umfeld erlernen. Beispiele für solche Spiele sind: Robocode (Java, C#, VB.NET), Crobots (C), Marvin’s Arena (C#, VB.NET, C++), AntMe! (C#, VB.NET). Einige Spiele haben auch eigene vereinfachte Programmiersprachen entwickelt (sogenannte Minisprachen), um Anfänger den Einstieg zu erleichtern. Beispiele sind Robot Karol, Kara und Niki – der Roboter. Bildungsorientierte Programmiersprachen haben oft vorgefertigte Aufgaben oder die Möglichkeit solche zu erstellen, die die Lernenden versuchen können zu lösen, bieten aber auch die Möglichkeit eigene Projekte zu programmieren.
Moderne Programmierspiele richten sich nicht nur an Lernende, sondern auch an den Unterhaltungsmarkt und sollen den Spieler herausfordern, logische Rätseln durch Programmiertechniken zu lösen. Bekannte Beispiele sind 7 Billion Humans[2] oder Shenzhen I/O.[3] Zudem gibt es viele Browserspiele und Handyspiele mit dieser Thematik, die unter die Kategorie Denk- und Rätselspiele fallen.
Weblinks
- Liste von Programmierspielen auf aiforge.net ( vom 11. August 2015 im Internet Archive)
Einzelnachweise
- ↑ Dnafight programming game in which bacteria fight against each other. Abgerufen am 28. November 2020 (englisch).
- ↑ 7 Billion Humans - Test, Geschicklichkeit - 4Players.de. Abgerufen am 19. August 2019.
- ↑ Shenzhen I/O: Programmierspiel hat Early Access verlassen - 4Players.de. Abgerufen am 19. August 2019.