Un juego de programación es un videojuego que incorpora elementos de programación de computadora , lo que permite al jugador dirigir unidades autónomas dentro del juego para seguir comandos en un lenguaje de programación específico de dominio , a menudo representado como un lenguaje visual para simplificar la metáfora de la programación. Los juegos de programación se dividen en general en dos áreas: juegos para un solo jugador en los que los elementos de programación forman parte o la totalidad de un juego de rompecabezas , y juegos multijugador en los que el programa automatizado del jugador se enfrenta a los programas de otros jugadores.
Como juegos de rompecabezas
Los primeros juegos del género incluyen System 15000 y Hacker , lanzados en 1984 y 1985 respectivamente.
Los juegos de programación se han utilizado como parte de los juegos de rompecabezas, desafiando al jugador a lograr un resultado específico una vez que el programa comienza a funcionar. Un ejemplo de un juego de este tipo es SpaceChem , donde el jugador debe usar su lenguaje visual para manipular dos waldos para desarmar y volver a ensamblar moléculas químicas. En tales juegos, los jugadores pueden probar y depurar su programa tan a menudo como sea necesario hasta que encuentren una solución que funcione. Muchos de estos juegos animan al jugador a encontrar el programa más eficiente, medido por la cantidad de pasos de tiempo necesarios o la cantidad de comandos requeridos. Otros juegos similares incluyen Human Resource Machine , [1] SpaceChem y TIS-100 fueron creados por Zachtronics , una empresa de desarrollo de videojuegos conocida por sus juegos de rompecabezas que implementan la programación en sus mecánicas de juego . [2]
Otros juegos incorporan los elementos de programación como partes de rompecabezas en el juego más grande. Por ejemplo, Hack 'n' Slash incluye una metáfora de poder acceder a los programas internos y las variables de los objetos representados en el mundo del juego, pausando el resto del juego a medida que el jugador activa esta interfaz de programación y modificando el programa del objeto en cuanto a avanzar más; esto podría estar cambiando el estado de un objeto de indestructible a destructible. Otros juegos similares con este tipo de enfoque de programación incluyen Transistor , además de Heart.Break () , Glitchspace y Pony Island . [3]
Otro enfoque utilizado en algunos juegos gráficos con elementos de programación es presentar al jugador una interfaz de línea de comandos para emitir órdenes a través de un lenguaje específico de dominio para dirigir objetos dentro del juego, lo que permite al jugador volver a emitir comandos a medida que cambia la situación en lugar de crear un programa prefabricado. Juegos como Quadrilateral Cowboy y Duskers hacen que el usuario controle varias criaturas robóticas pequeñas en conjunto a través del lenguaje del código para alcanzar un objetivo determinado. [3] Hackmud presenta al jugador una interfaz de mainframe simulada a través de la cual emiten comandos para avanzar. [4]
Como juegos competitivos
Muchos juegos de programación implican el control de entidades como robots , tanques o bacterias que buscan destruirse entre sí. Estos juegos pueden considerarse entornos de organismos digitales , relacionados con simulaciones de vida artificial . Los jugadores reciben herramientas para desarrollar y probar sus programas dentro del lenguaje específico del dominio del juego antes de enviar el programa a un servidor central. Luego, el servidor ejecuta el programa contra otros e informa los resultados al jugador, desde el cual pueden realizar cambios o mejoras en el programa. Hay diferentes torneos y ligas para los juegos de programación donde los personajes pueden competir entre sí. Por lo general, un script está optimizado para una estrategia especial. Se utilizan enfoques similares para juegos más tradicionales; el Campeonato Mundial de Ajedrez por Computadora consiste en partidos entre programas escritos para el juego de estrategia abstracta del ajedrez .
El juego de programación competitivo también ha llegado a varios juegos de mesa como RoboRally o Robot Turtles , en los que normalmente un programa se convierte en una baraja de cartas prefabricadas que se juegan una a una para ejecutar ese código. [5]
Los investigadores presentaron RoboCode como un sustrato de "aprendizaje basado en problemas" para la enseñanza de la programación. [6]
Áreas relacionadas
Los juegos de mundo abierto que cuentan con la capacidad de los jugadores para construir entornos a partir de una serie de bloques de construcción a menudo han sido utilizados por jugadores más avanzados para construir circuitos lógicos y programas más avanzados a partir de los bloques fundamentales. Minecraft es un ejemplo, ya que si bien el juego proporciona un conjunto limitado de bloques que imitan interruptores y circuitos eléctricos, los usuarios han podido crear computadoras funcionales básicas dentro del mundo virtual, y al menos una modificación tiene como objetivo enseñar a los niños a programar. en la computadora virtual en un lenguaje simplista. [7]
Varios sitios, como Codecademy , ayudan a enseñar lenguajes de programación del mundo real a través de la gamificación , donde los principios de los videojuegos se utilizan para motivar al usuario. [8]
Ver también
- Categoría de juegos de programación
- Lista de simuladores de organismos digitales
- Lenguaje de programación visual
- Zachtronics
Referencias
- ^ Sayer, Matt (3 de octubre de 2016). "¿Pueden los videojuegos enseñarte a programar?" . Escopeta de papel de piedra . Consultado el 3 de octubre de 2016 .
- ^ "El libro Zachtronics Zach-Like muestra cómo se hace la salchicha del rompecabezas" .
- ^ a b Caldwell, Brendan (9 de noviembre de 2015). "Los 10 mejores juegos de piratería, codificación y computación" . Escopeta de papel de piedra . Consultado el 3 de octubre de 2016 .
- ^ Caldwell, Brendan (27 de septiembre de 2016). "Lo que creo: Hackmud" . Escopeta de papel de piedra . Consultado el 3 de octubre de 2016 .
- ^ Metz, Cade (24 de septiembre de 2014). "La saga de 75 años detrás de un juego que enseña a los niños en edad preescolar a codificar" . Cableado . Consultado el 3 de octubre de 2016 .
- ^ O'Kelly, Jackie y J. Paul Gibson. "RoboCode y aprendizaje basado en problemas: un enfoque no prescriptivo para enseñar programación". ACM SIGCSE Boletín 38, no. 3 (2006): 217-221.
- ^ FInley, Klint (18 de agosto de 2014). "El nuevo mod de Minecraft te enseña a codificar mientras juegas" . Cableado . Consultado el 3 de octubre de 2016 .
- ^ Vincent, Alice (19 de agosto de 2011). "Codecademy 'gamifica' el proceso de aprendizaje de Javascript" . Cableado . Consultado el 3 de octubre de 2016 .
enlaces externos
- Wiki de Juegos de Programación
- Muchos juegos de programación inactivos enumerados en AIforge
- Una historia de los juegos de programación
- 1 Clases de codificación en línea en vivo para niños