Juegos para programadores


Hola de nuevo, hoy hablaremos de un fenómeno tan inusual como la programación de juegos. O juegos para programadores. En resumen, los juegos en los que la mayoría de las veces no puedes resolver directamente algunos problemas, pero debes elaborar instrucciones e instrucciones para resolverlos. Entonces, ¿para quién son?


(contamos todo esto y aún más en la versión de video, que se puede encontrar al final del artículo; en ella puedes ver la jugabilidad de los juegos y otros materiales sobre el tema)

Deben dividirse en varias categorías: la primera es juegos educativos que deberían ayudar a los niños o los estudiantes entienden los conceptos básicos de programación, compilación de algoritmos, comandos generales y principios. Por ejemplo, el popular lenguaje gráfico Scratch, que se puede usar directamente desde el navegador. O el sistema ruso de PictoMir. Incluso un lenguaje tan conocido como BASIC, cuando se creó a principios de los años 60, fue concebido como una versión simplificada con una sintaxis entendida por los no programadores.


La siguiente categoría es juegos sobre programación y para quienes lo poseen. Los jugadores ya necesitan usar sus habilidades para ganar, es decir el juego puede usar un lenguaje de programación real o su apariencia. Por supuesto, tales juegos generalmente tienen un manual detallado.

Y finalmente, juegos algorítmicos, donde la programación es una parte discreta y orgánica del juego.


No es necesario que la escritura del algoritmo se presente en forma de comandos de texto: por ejemplo, hay una serie de The Incredible Machine, un rompecabezas donde se deben construir elementos complejos a partir de elementos para realizar algunas tareas simples. Explota todos los globos en la pantalla, guía a los ratones hacia el queso, lanza un cohete y similares: los niveles del mar. Ella tiene un análogo más moderno, Crazy Machines, e incluso un remake de los mismos autores. Para resolver esto, se le proporciona un conjunto de bloques: tiras, bolas, enchufes para electrodomésticos, pero no todos los bloques de construcción son estáticos: en algunos puede configurar un temporizador, o hacer que comiencen a funcionar después de encenderse, o funcionen cada dos veces, o haga la clasificación . Gran alcance para la creatividad algorítmica.


Bueno, si miras juegos muy populares, por ejemplo, en Dragon Age: Origins puedes detallar, paso a paso, controlar el comportamiento de los miembros de tu grupo en la batalla. Con nuevos niveles, incluso abren nuevas opciones. Era posible elegir a quién atacar primero, cuándo aplicar habilidades o magia, bajo qué condiciones cambiar a otros enemigos y similares. ¿Qué no es un algoritmo?


Pero pasemos a los orígenes de la pregunta: ¿cuándo comenzaron los programadores a jugar con sus colegas? Y esto sucedió en 61, en los albores de la era de las computadoras, cuando un grupo de desarrolladores de la compañía estadounidense Bell Labs: Victor Vysotsky (hijo de inmigrantes rusos), Malcolm Douglas McElroy y Robert Morris construyeron el primer juego, si puedo llamarlo así. No se guardaron imágenes ni códigos, pero el concepto se describió y publicó más tarde. Este juego, Darwin, fue una "batalla de programas", es decir Usando las tres funciones disponibles: sondear, matar y reclamar, fue necesario componer un programa que sobrescribiera el código enemigo, evitando que se multipliquen. Y lo más interesante es que las batallas tuvieron lugar en la memoria del verdadero mainframe IBM 7090 sin ninguna virtualización: el movimiento incorrecto y la pantalla azul, o mejor dicho,luces de alarma en la consola del operador! Esto se hizo para mejorar el rendimiento, para no escribir un intérprete. El juego no duró mucho, solo unas pocas semanas, hasta que se inventó el programa asesino "definitivo", que no dejó ninguna posibilidad para el oponente.


Pero el legado de Darwin no fue olvidado, y una vez otro autor, Alexander Dudney, también científico, divulgador de la ciencia, autor de novelas de ciencia ficción y colecciones de poesía, describió en detalle un concepto similar con una serie de mejoras. Él, por supuesto, fundó la idea en Darwin. El juego se llamaba Core War y un artículo detallado sobre él apareció en la revista "En el mundo de la ciencia" en 1984. En él, el campo de batalla no era la memoria de una computadora real, sino el entorno virtual de una computadora MARS imaginaria. El código de los programas opuestos se parecía al lenguaje ensamblador. Aunque el autor no presentó los códigos fuente, varios entusiastas crearon sus propias versiones, que resultaron ser tan populares que las competiciones por el mejor programa comenzaron a realizarse en este juego, un conjunto de reglas y estándares apareció a fines de los años 80 (¡aquí está, la aparición de los deportes electrónicos!), Luego y muchas implementaciones posteriores,y como resultado de la competencia hasta el día de hoy. Y, por supuesto, están atrayendo a más espectadores que las transmisiones de Starcraft.


El siguiente juego, el Robot War de 1981, fue mucho más fácil de usar y más cercano a los juegos de computadora tradicionales. Su autor fue Silas Warner, conocido por su otro juego, Castle Wolfenstein, el que inspiró id Software para una nueva versión y una serie de larga duración. Además, Castle Wolfenstein es considerado el primer juego de sigilo, pero no se trata de eso ahora.


El prototipo Robot War fue creado (o espiado) por el autor mientras trabajaba con el sistema PLATO en los años 70. PLATO fue una incubadora de ideas única, donde por primera vez aparecieron muchas cosas que nos eran familiares hoy: foros, correo electrónico, aplicaciones web, juegos de rol, tiradores de tanques multijugador y mucho más. En este juego, se propuso desarrollar independientemente la IA de un tanque robótico. El tamaño del código estaba limitado a 256 líneas, que no es tan pequeño. Bueno, después de las pruebas, puedes llevar a tu amigo de hierro a la arena para aclarar las relaciones con otras latas, lo que ya se mostró gráficamente y todas las acciones fueron visibles en tiempo real. El juego fue lanzado para la computadora Apple II y se puede ver a través del emulador. En general, las batallas de muchas IA se han convertido en un tema popular para tales juegos.


Otro juego sobre robots, había tanto interés en ellos, fue Robot Odyssey, ya en el 84. Y esto ya es un desarrollo claro, porque además del diseño y la programación reales, la parte de la trama también ha aparecido. El juego tiene un personaje: un niño que cayó por la ciudad subterránea de robots. Y para volver a casa, necesita usar los robots que encuentra en el camino y reprogramarlos para nuevas tareas.


Y aquí comienza la parte más interesante: el juego sugiere desarrollar no solo software, sino de hecho crear nuevo hardware, chips a partir de elementos primitivos, elegir la lógica de los robots. Como resultado, la complejidad y la sofisticación de este proceso, así como su parecido con la realidad, conmocionaron no solo a los jugadores, sino también a los especialistas del presente. Robot Odyssey ahora se considera "el juego más desafiante de todos los tiempos".

Además, los creadores deben tener en cuenta que tiene un tutorial detallado incorporado, una rareza en esos años. Y los autores del juego no se hicieron ilusiones sobre la complejidad, y los que lo aprobaron recibieron un certificado personal.


Pero la jugabilidad no tiene que ser tan dura y despiadada y un ejemplo de esto es el juego de la Torre de Babel, el rompecabezas de 89 años para Atari ST. Aquí controlamos uno de los tres robots que tienen habilidades únicas, pero la programación no necesita llevarse a cabo constantemente, sino solo cuando surge la necesidad, y necesitamos coordinar sus acciones cuando es imposible hacer una tarea. ¿Recuerda a The Lost Vikings?


Los juegos algorítmicos estaban en Rusia. Por ejemplo, un emocionante juego Navigator para la computadora MSX. Esta computadora se ha utilizado en escuelas soviéticas y rusas desde la segunda mitad de los años 80. El juego en sí apareció en el año 89 o 90. Era de naturaleza educativa y en él era necesario establecer una ruta para la computadora de navegación de la nave planetaria, de modo que los asentamientos colonos recibieran los bienes que necesitaban. El "lenguaje" de escribir el algoritmo era bastante simple, para no sobrecargar a los estudiantes.


Otro juego doméstico se llamaba Snake Battle y fue creado por Gamos, mejor conocido por su Color Lines y la misión Pilot Brothers. Pero este juego en particular fue claramente diseñado para un público diferente. El principio básico está tomado de los juegos clásicos a la Snake, es decir. una serpiente se arrastra por la pantalla, come puntos y se alarga y así sucesivamente. Pero aquí otras serpientes deberían usarse como alimento, controladas, como se podría adivinar, por inteligencia artificial. A pesar de que el juego resultó ser original y algo innovador, no trajo mucha distribución, reconocimiento y dinero a su creador.


Y curiosamente, un género tan complejo y específico llegó a los prefijos. La serie Carnage Heart apareció por primera vez en Playstation en el '95 y desde entonces ha pasado a varias secuelas, incluida la PSP. Un hecho sorprendente, dado que el juego es realmente difícil. También se trata de peleas de imágenes metálicas programadas por nosotros. Las instrucciones gráficas se utilizan para escribir instrucciones de una lista bastante extensa, casi cada una de las cuales se puede personalizar de alguna manera. Fue complicado por el hecho de que no hay un manual incorporado aquí, y el video de capacitación estaba en el segundo disco.


Y finalmente, el TIS-100 es uno de los últimos juegos sobre este tema, y ​​lejos de ser el más fácil. En el centro de la trama hay una computadora misteriosa que acumulaba polvo en el garaje de tu tío. Por desgracia, el tío murió repentinamente y obtienes el TIS-100. Es difícil encontrar información sobre este modelo, algunos bloques de memoria están cerrados para el acceso, aunque el tío luchó durante mucho tiempo para resolver el misterio de su origen y destino. Bueno, ahora este dinosaurio ni siquiera quiere arrancar, no puede realizar la prueba de diagnóstico más simple.

Si describe el juego en palabras simples, entonces esto también es un rompecabezas. Aquí el proceso se divide en tareas separadas, y no es necesario realizarlas en secuencia directa. Después de la decisión, como en muchos acertijos, se le mostrará su calificación, además, dará estadísticas de otros jugadores y evaluará su ingenio rápido.


Pero comparar el TIS-100 con algunos Cut the Rope no sería del todo correcto. Después de todo, este es de hecho un simulador de un sistema similar a una computadora que fue popular en los años 80. El sistema está programado en un lenguaje ensamblador simplificado. Cada procesador o nodo, y hay 12 de ellos, tiene un límite en el número de líneas de programa. Al mismo tiempo, el número de nodos da mayor libertad en la forma de resolver tareas. Las tareas son bastante variadas, pero generalmente tienen la siguiente forma: tomar los datos iniciales, llevar a cabo algunas acciones (clasificación, operaciones aritméticas u otra cosa) y enviarlos al puerto deseado.

Por un lado, tales manipulaciones son fáciles de hacer en muchos lenguajes de programación, pero esto no es BÁSICO y, por lo tanto, tendrá que buscar soluciones en términos de la arquitectura misteriosa y la lista de comandos disponibles.

Y con esto terminaremos la excursión al mundo de los juegos. Si te gustó, mira nuestros videos sobre este tema: hay juegos y hechos que no están cubiertos en este artículo.

Gracias por su atencion!

// Virgilio, Dimouse, verdadero grue.

PD El video con la transferencia se divide en dos partes:

Source: https://habr.com/ru/post/es394753/


All Articles