Олег Макаренко (olegmakarenko.ru) wrote,
Олег Макаренко
olegmakarenko.ru

Categories:

Кукольный Театр Онлайн

Коллеги, я хочу, чтобы вы сделали игру, BotRPG. Суть такова.

Большой привычный онлайн, типа WoW или LineAge. С деревянными эльфами, подземными гномами и прочими привычными расами. Десятки тысяч игроков. Битвы, магия, воровство. Можно мастерить предметы, можно собирать редкие минералы. Можно объединяться в группы и всем кагалом валить толстых монстров.

Но есть один нюанс. Непосредственно управлять своим персонажем… нельзя.

Можно только писать для него в специальном интерфейсе AI: Искуственный Интеллект.

На первом уровне игроку выдают элементарные операторы, типа «шариться вокруг», «атаковать» или «отдыхать». Выдают простейшие прерывания: «если в зоне досягаемости появилось N монстров», «если здоровье упало ниже N» и так далее. Число строк кода ограничено, равно как ограничена и доступная пользователю мощность процессора. Эти ограничения постепенно ослабевают с ростом уровня.

Дальше игрок пишет своему персонажу нехитрую программу. Например:

(если (И (идёт бой) (< здоровье 25%)) убегать)
(если (И (виден монстр) (монстр слабее тебя) (здоровье полное)) атаковать)
(если (< здоровье 50%) (отдыхать))
(исследовать)

Раз, допустим, в секунду программа выполняется и мы видим, как наш аватар идёт к успеху. Пока аватар грабит караваны и занимается прочими важными делами, игрок может наблюдать за действиями своего подопечного или… отключиться от сервера. Аватар будет действовать в соответствии с заданной программой. Можно дать команду аватару записывать, например, бои, а при входе в игру просмотреть запись: кто убил нашего питомца и почему.

С ростом уровня игроку открываются новые команды. Например, можно не просто отдать команду «атаковать», а конкретизировать: кого атаковать первым, какими конкретно заклинаниями, с какой стороны подходить и так далее. Появляется также возможность называть по именам уже открытые игровые зоны и знакомых монстров.

В качестве языка программирования, полагаю, следует использовать кошерный LISP: для ИИ лучше всего подходят LISP и Prolog, а LISP всё же гораздо шире распространён.

Уровня так с 10 можно устраивать турниры. На арену выходят два аватара и пытаются друг друга замочить. Победителю разного рода призы.

Важно ввести ограничения на длину кода, чтобы исключить «заскриптовывание» ИИ: слишком тесную привязку действий к конкретным игровым зонам. Хороший код должен радовать глаз красотой и экономичностью.

А если всё пойдёт по плану, то следующим этапом надо будет сделать переход в реальный мир. Наладить выпуск небольших роботов, которые будут понимать игровой язык ИИ, чтобы игроки могли перенести свои программы в настоящую жизнь.

Короче, если я изобрёл велосипед, и BotRPG уже есть — дайте мне ссылку на них. Если же подобных робопитомников ещё нет, пожалуйста, сделайте такую игру как можно скорее.
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 251 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →