Программирование игры


Игра по программированию — это видеоигра , которая включает в себя элементы компьютерного программирования , позволяющие игроку управлять автономными единицами игры, которые в противном случае будут следовать командам на предметно-ориентированном языке программирования , часто представленном как визуальный язык для упрощения метафоры программирования. Игры по программированию в целом делятся на две области: однопользовательские игры, в которых элементы программирования либо составляют часть, либо всю игру-головоломку , и многопользовательские игры, в которых автоматизированная программа игрока противопоставляется программам других игроков.

Игры по программированию использовались как часть головоломок, требуя от игрока достижения определенного результата после запуска программы. Примером такой игры является SpaceChem , где игрок должен использовать визуальный язык, чтобы манипулировать двумя вальдо , чтобы разобрать и собрать химические молекулы. В таких играх игроки могут тестировать и отлаживать свою программу так часто, как это необходимо, пока не найдут работающее решение. Многие из этих игр побуждают игрока найти наиболее эффективную программу, измеряемую количеством необходимых временных шагов или количеством требуемых команд. Другие подобные игры включают Human Resource Machine , [1] Infinifactory и TIS-100 . Zachtronics — компания по разработке видеоигр, известная своими играми-головоломками , ориентированными на программирование . [2]

Другие игры включают элементы программирования как части головоломок в более крупной игре. Например, Hack 'n' Slash включает в себя метафору возможности доступа к внутренним программам и переменным объектов, представленных в игровом мире, приостановки остальной части игры, когда игрок задействует этот программный интерфейс, и изменения программы объекта, чтобы прогрессировать дальше; это может быть изменение состояния объекта с неразрушимого на разрушаемое. Другие подобные игры с таким подходом к программированию включают Transistor , else Heart.Break() , Glitchspace и Pony Island . [3]

Другой подход, используемый в некоторых графических играх с элементами программирования, заключается в предоставлении игроку интерфейса командной строки для отдачи приказов через предметно-ориентированный язык для управления объектами в игре, что позволяет игроку повторно вводить команды по мере изменения ситуации, а не создавать готовая программа. В таких играх, как Quadrireal Cowboy и Duskers, пользователь управляет несколькими маленькими роботизированными существами в тандеме с помощью языка кода для достижения определенной цели. [3] Hackmud предоставляет игроку симулированный интерфейс мэйнфрейма, через который он отдает команды для продвижения вперед. [4]

Многие игры по программированию включают в себя управление такими объектами, как роботы , танки или бактерии , которые стремятся уничтожить друг друга. Такие игры можно считать средами цифровых организмов , связанными с искусственными симуляциями жизни. Игрокам предоставляются инструменты для разработки и тестирования своих программ на предметно-ориентированном языке игры перед отправкой программы на центральный сервер. Затем сервер выполняет программу против других и сообщает результаты игроку, после чего он может внести изменения или улучшения в программу. По играм по программированию проводятся различные турниры и лиги, где персонажи могут соревноваться друг с другом. Обычно скрипт оптимизирован под определенную стратегию. Подобные подходы используются и в более традиционных играх; Чемпионат мира по компьютерным шахматам состоит из матчей между программами, написанными для абстрактной стратегической игры в шахматы .

Игра-соревнование по программированию также нашла применение в различных настольных играх , таких как RoboRally или Robot Turtles , обычно где программа становится готовой колодой игральных карт, в которые разыгрываются одна за другой для выполнения этого кода. [5]