Большой привычный онлайн, типа WoW или LineAge. С деревянными эльфами, подземными гномами и прочими привычными расами. Десятки тысяч игроков. Битвы, магия, воровство. Можно мастерить предметы, можно собирать редкие минералы. Можно объединяться в группы и всем кагалом валить толстых монстров.
Но есть один нюанс. Непосредственно управлять своим персонажем… нельзя.
Можно только писать для него в специальном интерфейсе AI: Искуственный Интеллект.
На первом уровне игроку выдают элементарные операторы, типа «шариться вокруг», «атаковать» или «отдыхать». Выдают простейшие прерывания: «если в зоне досягаемости появилось N монстров», «если здоровье упало ниже N» и так далее. Число строк кода ограничено, равно как ограничена и доступная пользователю мощность процессора. Эти ограничения постепенно ослабевают с ростом уровня.
Дальше игрок пишет своему персонажу нехитрую программу. Например:
(если (И (идёт бой) (< здоровье 25%)) убегать)
(если (И (виден монстр) (монстр слабее тебя) (здоровье полное)) атаковать)
(если (< здоровье 50%) (отдыхать))
(исследовать)
Раз, допустим, в секунду программа выполняется и мы видим, как наш аватар идёт к успеху. Пока аватар грабит караваны и занимается прочими важными делами, игрок может наблюдать за действиями своего подопечного или… отключиться от сервера. Аватар будет действовать в соответствии с заданной программой. Можно дать команду аватару записывать, например, бои, а при входе в игру просмотреть запись: кто убил нашего питомца и почему.
С ростом уровня игроку открываются новые команды. Например, можно не просто отдать команду «атаковать», а конкретизировать: кого атаковать первым, какими конкретно заклинаниями, с какой стороны подходить и так далее. Появляется также возможность называть по именам уже открытые игровые зоны и знакомых монстров.
В качестве языка программирования, полагаю, следует использовать кошерный LISP: для ИИ лучше всего подходят LISP и Prolog, а LISP всё же гораздо шире распространён.
Уровня так с 10 можно устраивать турниры. На арену выходят два аватара и пытаются друг друга замочить. Победителю разного рода призы.
Важно ввести ограничения на длину кода, чтобы исключить «заскриптовывание» ИИ: слишком тесную привязку действий к конкретным игровым зонам. Хороший код должен радовать глаз красотой и экономичностью.
А если всё пойдёт по плану, то следующим этапом надо будет сделать переход в реальный мир. Наладить выпуск небольших роботов, которые будут понимать игровой язык ИИ, чтобы игроки могли перенести свои программы в настоящую жизнь.
Короче, если я изобрёл велосипед, и BotRPG уже есть — дайте мне ссылку на них. Если же подобных робопитомников ещё нет, пожалуйста, сделайте такую игру как можно скорее.
← Ctrl ← Alt
Ctrl → Alt →
← Ctrl ← Alt
Ctrl → Alt →