ИгрыКомпьютер играет сам с собой

Когда-то давно у меня была игра Snake. Это не просто игра, где ползает червяк и поедает квадратики. В этой игре участвовало до четырех змей, полностью управляемых компьютером. Побеждала та змея, которая съедала всех остальных. Главной особенностью игры было то, что программированием змей должен был заниматься человек…

Все игровое поле состояло из клеток. Общий размер поля примерно 80х80 клеток. Змея могла двигаться вперед и поворачивать. Съедать другую змею можно только за хвост. После откусывания хвоста длина одной змеи увеличивалась, а второй, соответственно, уменьшалась. Теперь главное.

В игре можно создавать и программировать собственную змею. В настройках змеи есть схема поведения, состоящая из девяти полей, описывающих ситуацию на поле боя. Каждое поле 10х10 клеток. На поле игрок указывает различные возможные ситуации и соответствующее поведение змеи.

Например:
— если змея уперлась в стенку то нужно повернуть налево;
— если никого не видно то двигаться прямо;
— если появилась голова змеи, двигающаяся в таком-то направлении то повернуть в обратное направление а потом ближе к ее телу, и т.д.

Так можно визуально описать 9 вариантов. Количество комбинаций огромное множество, и интеллект змеи полностью зависит от интеллекта ее создателя. После программирования настройки сохраняются и доступны только текущему игроку. В игре не было возможности играть по сети.

Зачем я пишу об этой игре. Сейчас много различных игр (в основном стратегии) где практически невозможно реализовать все свои стратегические способности в силу физиологических особенностей человека. Ну невозможно одновременно контроллировать несколько персонажей (юнитов, групп, баз) и всем одновременно выдавать задания, что б они просто так не стояли. Компьютер же способен это делать.

Я долго искал что то подобное в интернете но так и не нашел. Мне стало интересно, почему создатели игр не делают сейчас подобные игры. Ведь это очень интересно — создать игру в интернете, подключить свой, настроенный алгоритм игры, дождаться соперника и посмотреть, кто умнее. Пусть даже будет возможность вмешиваться самому в игру. Сам интерфейс программирования вовсе не должен быть в виде окна и языка С++, или Pascal. Его реально сделать визуальным и добавить какие-то не сложные для понимания скрипты. Например, юнит зашел на эту территорию — начать че то строить, что-то производить, кого-то атаковать. Помните как создаются кампании в StarCraft или Age of Empiries II? И там не надо глубоких знаний. Хочу услышать Ваши мнения по поводу написанного. Если такие игры есть, просьба поделиться со мной ссылками.

UPD1: Перенес в Игры
UPD2: Нашел описанную игру в интернете. Называется Snake Battle
  • +5
  • Magnat
  • 20 ноября 2009, 08:24

Комментарии (14)

  • avatar
  • fog
  • 20 ноября 2009, 08:48
  • #
  • 4
Я давно уже не в курсе, что там происходит в игровой индустрии, но думаю, дело в том, что
интеллект змеи полностью зависит от интеллекта ее создателя
Всетаки большинство людей относятся к компьютерным играм не как к головоломкам, а наоборот, как к способу расслабится и «выпустить пар». Ну, я имею ввиду игры тупо «убей их всех», где максимально упрощенное управление и минимальная работа мозга. :-)

Любителей разных квестов не так уж много и, на мой взгляд, популярностью игры вида «напрограммируй крутую штуку» пользоваться не будут. :-)
Ну в чем то вы правы. Я наверное как программист смотрю на это. Но я думаю таких как я все же много. Вовсе не обязательно делать игру полностью программируемой. Можно создать программируемого помощника. Кто хочет, может играть и без него. Но я думаю людям бы понравилось создавать, пусть даже простые, сценарии, и кто знает, может у заядлого геймера проснется вторая половина его мозга.
Все программисты в какой-то момент развлекаются чем-то подобным. Фактически все MMORPG-боты — результат попытки заменить человека машиной (не столько потому, что самому лень, сколько потому, что это сама по себе интересная задача).
Есть такая платформа ORTS — Open Real-Time Strategy. Предназначена для исследования, разработки и проведения турниров для ИИ в RTS. Можно посмотреть тут (что-то давно ничего не обновлялось) или почитать статью.
Помню была игра, не помню названия… Там управляешь космонавтом, у которого есть всякие роботы, которым он может либо отдать прямую команду, либо можно наскриптить и загрузить в робота целую программу, которую он будет выполнять. Так что такие игры есть, просто учитываю аудиторию, они редкость.

Хотя вот до сих пор вспоминаю UO, как мы писали мегаскрипты под инжект. LRN вот должен помнить… =) Сама по себе мморпг не скриптовалась, но энтузиасты запилили отличную программу, которая вклинивалась в протокол обмена между клиентом и сервером, предоставляя огромные возможности автоматизации персонажа.
Я ваял на UO Pilot. Помню эту смесь delphi(помоему) с непонятно чем:) Но было интересно! Пол дня пишешь скрипт, потом включаешь его, уходишь на обед а вернувшись обнаружимаешь, что какой-то if не предусмотрел и ты, в лучшем случае, где-то в углу заныкался и делаешь вообще не понятно чего.
Пилот был менее функционален, т.к. управлял только окном клиента. А инжект вклинивался в протокол и мог в обе стороны посылать то что нужно… Несравнимые по функционалу программы… Хотя помню и на пилоте как-то люди писали мегаскрипты… Хотя у меня такие творения ассоциировались с «гланды через жопу».
Помню была игра, не помню названия…

Думаю, речь идет о Colobot.
Отличная обучающая игра с полноценным скриптовым языком для управления ботами. Хотел бы я глянуть на нечто подобное в боевом аспекте =)
Могу выложить скрипты для автоматизации персонажа в Ultima Online. У меня сохранились. Забавно сейчас на них смотреть. Но там реально было проделано много работы по доведению этих скриптов до полной автоматизации.
Скажем Скрипт для добычи руд. Он запускался и оставлялся на ночь, герой за ночь успевал накопать и по-моему даже переплавить огромное количество руды.
При этом персонаж сам ходил домой, открывал двери, ели на пути, перемещался через порталы, кастовал магию, выкидывал не нужное, звал охрану, если на него напали, сам лечился, там был реализован алгоритм перемещения, позволявший обходить препятствия ну и так далее… И все при достаточной бедности языка из-за чего программы похожи на быдлокод. =))) эххх!
Думаю, что просто те игры в которые мы играли раньше — морально устарели а нового не создавалось. Я б сейчас с удовольствием поиграл в такую игру, но хочется чего-то по-глобальнее. Я фанат стратегий, поэтому хочу стратегию.
  • avatar
  • fog
  • 20 ноября 2009, 22:52
  • #
  • 2
Я вот помню, во времена моей молодости ;-) писали скрипты для Quake. А сегодня, вероятно, теже люди пишут совсем другие скрипты. Например Почти все успешные трейдеры — роботыс ;-) Тоже, в некотором роде, стратегия. :-)
У нас как раз на этой неделе на работе был митинг, где затрагивалась тема бирж(компания делает софт для торгов всякими фьючерсами, опционами и т.п. в том числе позволяет автоматическую торговлю). Так вот оказывается еще есть есть голосовые биржи(да-да, там где все стоят и кричат:). Так вот хоть их и осталось всего 1 или 2, но зато там деньги крутятся на порядок большие, чем на электронных торговых площадках. Там, например, одно стоячие(а других там фактически и нет) место стоит порядка 1 миллиона $. Скока они зарабатывают в день, даже боюсь считать. На вскидку были такие цифры: контракт находится в состоянии ожидания максимум полминуты. Если за это время его не успевают закрыть на выгодных условиях, то закрывают как могут(в том числе и с потерями). Каждый заключеннй контракт в среднем приносит брокеру 800-1200$…
Думаю было бы неплохо, например в стратегиях позволять игроку перекладывать многую рутину на компьютер-например комп сам ищет ресурсы, строит по шаблону(заданному игроком) здания.Возможно даже по шаблону обороняется, если игрок занят и тд.
Конечно тогда вся прелесть тактики-кто быстрее кликнул мышкой тот и прав уйдет.
Можно напридумывать много различных применений этому псевдоинтеллекту.
И для тех, кто не хочет много думать такие игры подойдут-если будут заранее созданные шаблоны или их можно будет легко настраивать.

И чем маштабнее стратегия, тем удобней игроку использовать такие костыли- замучиешься строить войска в 200 провинциях-вполне можно в специальном окне указать какие войска и где строить, не бегая по карте.

Вот.
Отличный коммент. Это именно то, о чем я хотел сказать :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.