stringtranslate.com

Juego de programación

Un juego de programación es un videojuego que incorpora elementos de programación informática , lo que permite al jugador dirigir unidades autónomas dentro del juego para que sigan comandos en un lenguaje de programación específico del dominio , a menudo representado como un lenguaje visual para simplificar la metáfora de programación. Los juegos de programación se dividen en dos grandes á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 este tipo de juego es SpaceChem , donde el jugador debe usar su lenguaje visual para manipular dos waldos para desmontar y volver a ensamblar moléculas químicas. En estos juegos, los jugadores pueden probar y depurar su programa tantas veces como sea necesario hasta que encuentren una solución que funcione. Muchos de estos juegos alientan 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] Infinifactory y TIS-100 . Zachtronics es una empresa de desarrollo de videojuegos conocida por sus juegos de rompecabezas centrados en la programación . [2]

Otros juegos incorporan 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, pausar el resto del juego a medida que el jugador interactúa con esta interfaz de programación y modificar el programa del objeto para seguir avanzando; esto podría ser cambiar el estado de un objeto de indestructible a destructible. Otros juegos similares con este tipo de enfoque de programación incluyen Transistor , else 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 del 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 ordene a varias criaturas robóticas pequeñas en tándem a través del lenguaje de código para alcanzar un objetivo determinado. [3] Hackmud presenta al jugador una interfaz simulada de mainframe a través de la cual emite 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í. Dichos juegos pueden considerarse entornos de organismos digitales , relacionados con simulaciones de vida artificial . Un ejemplo temprano es Core War (1984), donde los programas escritos en un lenguaje estandarizado similar al ensamblador luchan por el espacio en una memoria finita ( núcleos magnéticos virtuales ). 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 donde puede realizar cambios o mejoras al programa.

Existen diferentes torneos y ligas para los juegos de programación donde los personajes pueden competir entre sí. Normalmente, 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 partidas entre programas escritos para el juego de estrategia abstracta del ajedrez .

El juego de programación competitiva también ha encontrado su lugar en varios juegos de mesa como RoboRally o Robot Turtles , generalmente donde un programa se convierte en una baraja de cartas prefabricada que se juega una por 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 ofrecen la posibilidad de que los jugadores construyan entornos a partir de una serie de bloques de construcción han sido utilizados a menudo 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 de ello, ya que, si bien el juego ofrece 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 se utilizan principios de videojuegos para motivar al usuario. [8]

Véase también

Referencias

  1. ^ Sayer, Matt (3 de octubre de 2016). "¿Pueden los videojuegos enseñarte a programar?". Rock Paper Shotgun . Consultado el 3 de octubre de 2016 .
  2. ^ Tarason, Dominic (7 de febrero de 2019). "El libro de Zachtronics Zach-Like muestra cómo se hace la salchicha de rompecabezas". Rock Paper Shotgun .
  3. ^ ab Caldwell, Brendan (9 de noviembre de 2015). "Los 10 mejores juegos de piratería, codificación e informática". Rock Paper Shotgun . Consultado el 3 de octubre de 2016 .
  4. ^ Caldwell, Brendan (27 de septiembre de 2016). "Lo que pienso: Hackmud". Rock Paper Shotgun . Consultado el 3 de octubre de 2016 .
  5. ^ 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 programar". Wired . Consultado el 3 de octubre de 2016 .
  6. ^ O'Kelly, Jackie y J. Paul Gibson. "RoboCode y aprendizaje basado en problemas: un enfoque no prescriptivo para la enseñanza de la programación". Boletín ACM SIGCSE 38, n.º 3 (2006): 217-221.
  7. ^ Finley, Klint (18 de agosto de 2014). «Nuevo mod de Minecraft que te enseña a programar mientras juegas». Wired . Consultado el 3 de octubre de 2016 .
  8. ^ Vincent, Alice (19 de agosto de 2011). «Codecademy 'gamifica' el proceso de aprendizaje de Javascript». Wired . Consultado el 3 de octubre de 2016 .

Enlaces externos