A programming game is a computer game where the player has little or no direct influence on the course of the game. Instead, a computer program or script is written in some domain-specific programming language in order to control the actions of the characters or other entities.
Many programming games involve controlling entities such as robots, tanks or bacteria which seek to destroy each other. Such games can be considered environments of digital organisms, related to artificial life simulations. There are different tournaments and leagues for the programming games where the characters can compete with each other. Usually a script is optimized for a special strategy. Not all programming games involve competition. Programming may be incorporated into puzzle games where the player's goal is to program a character or mechanism to perform specific tasks. An example of such a game is SpaceChem. Programming games may be derived from almost any other type of game. For example, the World Computer Chess Championship consists of matches between programs written for the abstract strategy game of chess. Also, some non-computer games borrow elements of programming games; in the board game RoboRally, players arrange cards to "program" their pieces with a sequence of moves, causing moves to be made without the knowledge of one's opponents' preceding moves.
Researchers presented RoboCode as a "problem-based learning" substrate for teaching programming.
- ↑ O'Kelly, Jackie, and J. Paul Gibson. "RoboCode & problem-based learning: a non-prescriptive approach to teaching programming." ACM SIGCSE Bulletin 38, no. 3 (2006): 217-221.
- The Programming Games Wiki
- Programming Game list at DMOZ
- Many inactive programming games listed at AIforge
- A History of Programming Games