A programming game is a
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
that incorporates elements of
computer programming
Computer programming or coding is the composition of sequences of instructions, called computer program, programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of proc ...
, enabling the player to direct otherwise autonomous units within the game to follow commands in a
domain-specific programming language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
, often represented as a
visual language
A visual language is a system of communication using visual elements. Speech as a means of communication cannot strictly be separated from the whole of human communicative activity which includes the visual and the term 'language' in relation t ...
to simplify the programming metaphor. Programming games broadly fall into two areas: single-player games where the programming elements either make up part of or the whole of a
puzzle video game
Puzzle video games make up a broad genre of video games that emphasize puzzle solving. The types of puzzles can test problem-solving skills, including logic, pattern recognition, Sequence, sequence solving, Spatial ability, spatial recognition, ...
, and multiplayer games where the player's automated program is pitted against other players' programs.
As puzzle games
Early games in the genre include ''
System 15000'' and ''
Hacker
A hacker is a person skilled in information technology who achieves goals and solves problems by non-standard means. The term has become associated in popular culture with a security hackersomeone with knowledge of bug (computing), bugs or exp ...
'', released in 1984 and 1985 respectively.
Programming games have been used as part of puzzle games, challenging the player to achieve a specific result once the program starts operating. An example of such a game is ''
SpaceChem
''SpaceChem'' is a puzzle game, puzzle and indie game by Zachtronics Industries, based on principles of automation and chemical bonding. In the game, the player is tasked to produce one or more specific chemical molecules via an assembly line b ...
'', where the player must use its visual language to manipulate two
waldo
Waldo may refer to:
People and fictional characters
* Waldo (given name), a list of people and fictional characters with the name
* Waldo (surname), a list of people
* Waldo (footballer), Brazilian footballer Waldo Machado da Silva (1934–20 ...
s as to disassemble and reassemble chemical molecules. In such games, players are able to test and debug their program as often as necessary until they find a solution that works. Many of these games encourage the player to find the most efficient program, measured by the number of timesteps needed or number of commands required. Other similar games include ''
Human Resource Machine'', ''
Infinifactory
''Infinifactory'' is a puzzle video game developed and published by Zachtronics, initially released on Microsoft Windows, OS X, and Linux on June 30, 2015. The game was later released on PlayStation 4 in December 2015. In the game, the player take ...
'', and ''
TIS-100
''TIS-100'' is a programming/puzzle video game developed by Zachtronics Industries. The game has the player develop mock assembly language code to perform certain tasks on a fictional, virtualized 1970s computer that has been corrupted. The ga ...
''.
Zachtronics
Zachtronics LLC is an American video game developer, best known for engineering-oriented puzzle video games and programming games. Zachtronics was founded by Zach Barth in 2011, who serves as its lead designer. Some of their games include ''Space ...
is a video game development company known for its programming-centric
puzzle games
Puzzle video games make up a broad genre of video games that emphasize puzzle solving. The types of puzzles can test problem-solving skills, including logic, pattern recognition, sequence solving, spatial recognition, and word completion. Man ...
.
Other games incorporate the elements of programming as portions of puzzles in the larger game. For example, ''
Hack 'n' Slash'' include a metaphor of being able to access the internal programs and variables of objects represented in the game world, pausing the rest of the game as the player engages this programming interface, and modify the object's program as to progress further; this might be changing the state of an object from being indestructible to destructible. Other similar games with this type of programming approach include ''
Transistor
A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch electrical signals and electric power, power. It is one of the basic building blocks of modern electronics. It is composed of semicondu ...
'', ''
else Heart.Break()'', ''Glitchspace'', and ''
Pony Island
''Pony Island'' is a video game developed and published by Canadian indie developer Daniel Mullins. As a metafictional game, the game has the player interact with what appears to be an old arcade cabinet game called "''Pony Island''". The player ...
''.
Another approach used in some graphical games with programming elements is to present the player with a
command line interface
A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternati ...
to issue orders via a domain-specific language to direct objects within the game, allowing the player to reissue commands as the situation changes rather than crafting a pre-made program. Games like ''
Quadrilateral Cowboy'' and ''
Duskers
''Duskers'' is a strategy video game by independent developer Misfits Attic. It was released on May 18, 2016, for Linux, OS X, and Microsoft Windows.
Gameplay
In ''Duskers'', players assume the role of a drone operator, hopping between derel ...
'' have the user command several small robotic creatures in tandem through the language of code to reach a certain goal.
''
Hackmud
''Hackmud'' is a massively multiplayer online, massively multiplayer online video game and/or Multi-user dungeon, MUD that simulation game, simulates 1990s hacker subculture through text-based adventure. Players use social engineering (secur ...
'' presents the player with a simulated mainframe interface through which they issue commands to progress forward.
As competitive games
Many programming games involve controlling entities such as
robot
A robot is a machine—especially one Computer program, programmable by a computer—capable of carrying out a complex series of actions Automation, automatically. A robot can be guided by an external control device, or the robot control, co ...
s,
tank
A tank is an armoured fighting vehicle intended as a primary offensive weapon in front-line ground combat. Tank designs are a balance of heavy firepower, strong armour, and battlefield mobility provided by tracks and a powerful engine; ...
s or
bacteria
Bacteria (; : bacterium) are ubiquitous, mostly free-living organisms often consisting of one Cell (biology), biological cell. They constitute a large domain (biology), domain of Prokaryote, prokaryotic microorganisms. Typically a few micr ...
which seek to destroy each other. Such games can be considered environments of
digital organism
A digital organism is a self-replicating computer program that mutates and evolves. Digital organisms are used as a tool to study the dynamics of Darwinian evolution, and to test or verify specific hypotheses or mathematical models of evolutio ...
s, related to
artificial life
Artificial life (ALife or A-Life) is a field of study wherein researchers examine systems related to natural life, its processes, and its evolution, through the use of simulations with computer models, robotics, and biochemistry. The discipline ...
simulations. An early example is ''
Core War
''Core War'' is a programming game introduced in 1984 by D. G. Jones and A. K. Dewdney. In the game, two or more battle programs, known as ''warriors'', compete for control of a virtual computer. These programs are written in an abstract assem ...
'' (1984), where programs written in a standardized assembly-like language battle for space in a finite memory (virtual
magnetic ''cores''). Players are given tools to develop and test out their programs within the game's domain-specific language before submitting the program to a central server. The server then executes the program against others and reports the results to the player, from which they can make changes or improvements to the program.
There are different
tournament
A tournament is a competition involving at least three competitors, all participating in a sport or game. More specifically, the term may be used in either of two overlapping senses:
# One or more competitions held at a single venue and concen ...
s and leagues for the programming games where the characters can compete with each other. Usually a script is optimized for a special strategy. Similar approaches are used for more traditional games; the
World Computer Chess Championship
World Computer Chess Championship (WCCC) was an event held periodically from 1974 to 2024 where computer chess engines compete against each other. The event is organized by the ''International Computer Games Association'' (ICGA, until 2002 ICCA). I ...
consists of matches between programs written for the
abstract strategy game
An abstract strategy game is a type of strategy game that has minimal or no narrative theme, an outcome determined only by player choice (with minimal or no randomness), and in which each player has perfect information about the game. For example ...
of
chess
Chess is a board game for two players. It is an abstract strategy game that involves Perfect information, no hidden information and no elements of game of chance, chance. It is played on a square chessboard, board consisting of 64 squares arran ...
.
The competitive programming game has also found its way to various
board games
A board game is a type of tabletop game that involves small objects () that are placed and moved in particular ways on a specially designed patterned game board, potentially including other components, e.g. dice. The earliest known uses of the ...
such as ''
RoboRally
''RoboRally'', also stylized as ''Robo Rally,'' is a board game for 2–8 players designed by Richard Garfield and published by Wizards of the Coast (WotC) in 1994. Various expansions and revisions have been published by WotC, Avalon Hill, and ...
'' or ''Robot Turtles'', typically where a program becomes a premade deck of playing cards played one by one to execute that code.
Researchers presented ''RoboCode'' as a "problem-based learning" substrate for teaching programming.
Related areas
Open world games that feature the ability for players to construct environments from an array of building blocks have often been used by more advanced players to construct logic circuits and more advanced programs from the fundamental blocks. ''
Minecraft
''Minecraft'' is a 2011 sandbox game developed and published by the Swedish video game developer Mojang Studios. Originally created by Markus Persson, Markus "Notch" Persson using the Java (programming language), Java programming language, the ...
'' is one such example, as while the game provides a limited set of blocks that mimic switches and electric circuits, users have been able to create basic functional computers within the virtual world, and at least one
modification
Modification may refer to:
* Modifications of school work for students with special educational needs
* Modifications (genetics), changes in appearance arising from changes in the environment
* Posttranslational modifications, changes to prote ...
is aimed to teach children how to program on the virtual computer in a simplistic language.
Several sites, such as ''
Codecademy
Codecademy is an American online interactive platform that offers free coding classes in 13 different programming languages including Python, Java, Go, JavaScript, Ruby, SQL, C++, C#, Lua, and Swift, as well as markup languages HTML ...
'', help to teach real-world programming languages through
gamification
Gamification is the process of enhancing systems, services, organisations and activities through the integration of game design elements and principles in non-game contexts. The goal is to increase user engagement, motivation, competition and ...
, where video game principles are used to motivate the user.
See also
*
Programming games category
*
List of digital organism simulators
*
Visual programming language
In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create computer program, programs by ...
*
Zachtronics
Zachtronics LLC is an American video game developer, best known for engineering-oriented puzzle video games and programming games. Zachtronics was founded by Zach Barth in 2011, who serves as its lead designer. Some of their games include ''Space ...
References
External links
The Programming Games Wiki
{{VideoGameGenre
Video game genres