Цю сторінку ще не перекладено — показано англійську версію.
Як написати мозок бота
Мозок — це звичайний код, який відповідає на одне питання: що цей бот робитиме далі. Він працює там, де вам зручно, — у хмарній функції, у вашому власному сервісі, у headless-клієнті — і спілкується з кімнатою через той самий інтерфейс, що й клієнт живого гравця. Ця сторінка описує роз’єм, у який мозок підключається: що він отримує, що може надіслати у відповідь і коли. Як завести бота в кімнату, розповідає сторінка Bots.
Що вже вирішено і на що можна спиратися вже сьогодні
Ігрового ШІ платформа не постачає. Ні дерев поведінки, ні utility-системи, ні навігаційного мозку. Межа проходить саме тут: рішення ухвалюєте ви, а завдання модуля — зробити так, щоб ваші рішення не відрізнялися від рішень гравця.
Мозок — це не хук. Хук обгортає один із наших кроків. Мозок узагалі не є нашим кроком: він працює поза кімнатою, за власним розкладом, і платформі байдуже, з якого боку відкрили з’єднання. Тому мозок може бути хмарною функцією, сервісом на вашому хостингу чи headless-клієнтом, і жоден із цих варіантів не рідніший за інші.
Роз’єм простий: на вході сприйняття, на виході команди, і обидві сторони такі самі, як у гравця:
| Що це | |
|---|---|
| сприйняття | рівно те, що отримав би гравець (player) на цьому місці: ті самі дельти, за тими самими правилами видимості. Бачити крізь стіни бот може не більше, ніж гравець. |
| команди | рівно те, що надіслав би гравець на цьому місці (seat). Привілейованого каналу введення немає. |
Якщо бот бачить більше (режим налагодження, режим навчання), це оголошене розширення, а не побічний ефект того, що він бот.
Тік мислення оголошують, і це не тік симуляції. Мозки працюють зовні, тож думають у власному ритмі.
Між двома рішеннями діє остання команда
Якщо мозок (brain) думає повільно, бот не стоїть на місці, а й далі робить те, що вирішив останнім. Проєктуйте мозок з урахуванням цього.
На випадок, коли мозки зникають, поведінку оголошують, і значення за замовчуванням немає. Для кожного типу кімнати ви вказуєте, що відбувається, коли мозок перестає відповідати. «Мозки недоступні» — подія, яку платформа зберігає, тож підписник, що прийшов пізніше, дізнається поточний стан справ, а не лише майбутні зміни.
Чим бот навмисно бути не може
Це свідомі відмови, а не прогалини.
- Бот — не гравець, і йому не належать права володіння, покупки чи записи в таблиці лідерів (leaderboard). Якби бот міг їх мати, через нього їх можна було б накручувати.
- Позначка бота існує завжди, і платформа завжди її бачить. Чи показувати її гравцям, вирішуєте ви, а чи існувати їй — ні.
- Модуль не зберігає історії того, що бот вирішив і чому. Це ваша справа і ваша телеметрія: міркувань вашого ШІ платформа не зберігає.