Most recent update time
20 April 2026 23:19 UTC

Underworlds scriptorium fabula.

Эта статья была переведена с английского на русский язык с помощью переводчика API Gemini. Оригинальную статью можно найти здесь.

Исправление ошибки

Утро. 02:07 (AM), 13 ноября 2025 года.

Сегодня, играя в игру, я записал следующее описание ошибки:

Я столкнулся с ошибкой в ситуации, когда в игре было 6 игроков (5 ботов и я). В игре осталось 3 игрока (я и 2 бота). Я был игроком номер 4, также был игрок 3 с одним оставшимся влиянием и игрок 6 с одним оставшимся влиянием. Таким образом, ход событий был следующим: у меня было 7 монет, и я "СОВЕРШИЛ ПЕРЕВОРОТ" против игрока номер 1, уничтожив его последнее влияние. Затем наступил ход игрока 6, и он заявил "НАЛОГ", я оспорил его действие (и это означает, что я прервал решение игрока 3, потому что игрок 3 был следующим игроком после игрока 6), затем, ПОХОЖЕ, даже несмотря на то, что моя попытка оспорить действие "НАЛОГ" игрока 6 была успешной, последнее влияние, которое он потерял, оказалось ДЮКОМ, и тогда игрок 3 (бот) завис. Я предполагаю, что игрок 3 завис потому, что я прервал его действие, поэтому я мог бы взглянуть на код, чтобы понять, почему это произошло, но также мне нужно взглянуть на логи, чтобы увидеть, не прошла ли моя попытка оспаривания успешно, даже несмотря на то, что у игрока 6 был герцог во время заявления "НАЛОГ". Лог этой игры здесь, если вам интересно файл. А скриншот состояния игры выглядит так:

Скриншот ситуации, когда бот завис.

И вот сейчас я смог исследовать и разобраться в этой ситуации, что заняло около 88 минут. Прежде всего, оспаривание, которое я выполнил, было обработано корректно, потому что у шестого игрока был мертвый ДЮК до того, как я его оспорил, и ему пришлось раскрыть контессу. Это стало очевидно из логов. Но проблема с зависшим ботом произошла из-за ошибочной логики, которая не фильтровала должным образом действие "ВОЗЬМИ" из доступных действий, потому что она учитывала мертвых игроков, у которых было больше нуля монет, среди игроков, против которых могло быть выполнено действие "ВОЗЬМИ", и я исправил эту проблему здесь и написал модульный тест, который покрывает эту ситуацию здесь.

Большое спасибо за ваше время и участие в этом проекте.

Император Защищает.


Эта статья была переведена с английского на русский язык с помощью переводчика API Gemini. Оригинальную статью можно найти здесь.

Встречайте — в странице «Комната ожидания» при поиске игры через «Поиск матча» появилась опция «Предложить заполнить игру ботами».

Как обычно, утро. 03:52 (AM), 12 ноября 2025 года.

Долгое время (примерно с 26 октября) я работал над реализацией кнопки «Предложить заполнить игру ботами» и над тестами для этой реализации. И теперь я считаю её готовой. На скриншоте ниже вы можете увидеть «Комнату ожидания» для 2 человек с кнопкой «Предложить заполнить игру ботами».

Скриншот страницы «Комната ожидания» с кнопкой «Предложить заполнить игру ботами».

Если вы единственный игрок в комнате ожидания — нажатие на эту кнопку приведет к автоматическому началу игры, в которой будете вы и другие игроки-боты.

В случае, если вы не единственный игрок в комнате ожидания, вы можете предложить заполнить игру ботами, нажав на кнопку. Кнопка будет отражать ваш голос и количество других игроков в этой комнате, которые также проголосовали за заполнение игры ботами. Если количество проголосовавших игроков меньше половины присутствующих в комнате — ничего не произойдет. Но если более половины присутствующих игроков проголосуют за заполнение игры ботами, то для проголосовавших игроков кнопка «ГОТОВ» станет активной, и после того, как каждый проголосовавший игрок нажмет кнопку «ГОТОВ» — игра начнется для всех игроков в комнате (даже те, кто не голосовал, будут включены в игру с ботами).

Например, если 3 игрока присоединятся к комнате ожидания вместимостью 4 игрока, и 2 из этих 3 игроков проголосуют за заполнение игры ботами — страница одного из проголосовавших игроков будет выглядеть так, как показано на скриншоте ниже:

Скриншот страницы «Комната ожидания», когда более половины игроков проголосовали за заполнение игры ботами.

Если в этот момент игрок нажмет кнопку «ГОТОВ», он станет готов, и сообщение в информационной области страницы отразит информацию о том, что более половины игроков проголосовали за заполнение игры ботами, и некоторые из них уже «ГОТОВЫ», как вы можете видеть на скриншоте ниже:

Скриншот страницы «Комната ожидания», когда более половины игроков проголосовали за заполнение игры ботами, и один из игроков нажал кнопку «ГОТОВ».

Теперь, если другой проголосовавший игрок нажмет кнопку «ГОТОВ», игра начнется!

Это должно упростить процесс начала игры. Наслаждайтесь!

Большое спасибо за ваше время и участие в этом проекте.

Император Защищает.


Эта статья была переведена с английского на русский язык с помощью переводчика API Gemini. Оригинальную статью можно найти здесь.

Мои приветствия - исправлены 2 ошибки.

23:29, 26 октября 2025 года.

Мне удалось выявить и исправить 2 ошибки.
  • ИСПРАВЛЕНА ОШИБКА: Когда игрок А обвинял игрока Б в краже, у которого была 1 монета, если игрок Б оспаривал кражу и проигрывал спор (у игрока А на самом деле был Капитан), то у игрока Б оставалось -1 монета, а игрок А получал 2 монеты. Теперь у игрока Б остается 0 монет, а игрок А получает 1 монету.
  • ИСПРАВЛЕНА ОШИБКА: Когда в игре участвуют 3 игрока, если игрок А обвинял игрока Б в покушении на убийство и был оспорен игроком С, имея при себе Ассасина, то игрок Б под управлением бота замер. Теперь бот реагирует должным образом в соответствии с ситуацией.

Продолжаю работу над реализацией логики и пользовательского интерфейса для добавления ботов в игровые комнаты "Найти игру". Думаю, будет готово примерно через 2 недели.

Большое спасибо за ваше время и участие в этом проекте.

Император Защищает.


Эта статья была переведена с английского на русский с помощью переводчика Gemini API. Оригинал статьи доступен по ссылке: здесь.

Внимание - Бот был реализован и интегрирован, но пока только в игры, созданные вручную.

Как обычно, утро 04:56, 4 октября 2025 года.

Я пропустил новости о внедрении и интеграции бота в игры, созданные вручную. Хотя я сообщал об этом на сервере Discord, никаких новостей об этом опубликовано не было.

Боты реализованы. Пока только для игр, созданных вручную. Теперь, когда вы посетите страницу создать новую игру, вы можете увидеть, что теперь на ней есть кнопка "Добавить бота" и счетчик, который отражает количество добавленных ботов. Каждый раз, когда вы нажимаете/касаетесь ее, она добавляет одного бота в игру. Не беспокойтесь, если вы добавите слишком много ботов - для вас всегда найдется место. :)

Скриншот страницы создания новой игры, демонстрирующий кнопку 'Добавить бота'.

Если вы столкнетесь с ситуацией, когда бот завис и не совершает никаких действий, сообщите мне об этом и, пожалуйста, укажите UUID в URL или полный URL игры, где это произошло.

Скриншот демонстрирует URL с выделенной частью UUID.

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

Большое спасибо за ваше время и участие в этом проекте.

Император Защищает.


Эта статья была переведена с английского на русский с использованием переводчика Gemini API. Оригинальную статью можно найти здесь.

Внимание - Теперь игрок, использующий PWA, может присоединиться к игре по ссылке-приглашению.

Как обычно, утро 04:29, 4 октября 2025 года.

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

До сегодняшнего дня не было возможности присоединиться к такой игре из PWA, потому что единственный способ присоединиться к вручную созданной игре — скопировать ссылку в поле URL браузера, а PWA просто не имеет такой функции. Итак, теперь на game-starter странице есть кнопка "Присоединиться к игре по ссылке (ссылка должна быть в вашем буфере обмена)", и прежде чем вы нажмете/тапнете на эту кнопку, вам нужно скопировать ссылку на созданную игру в буфер обмена. Когда вы нажмете/тапнете на кнопку, возможно, вам придется нажать кнопку "Вставить", которая появится на экране — это потому, что браузеры имеют механизм защиты, чтобы ЛЮБАЯ веб-страница не имела доступа к вашему буферу обмена в любое время. Итак, с моего телефона это выглядит так: Скриншот страницы запуска игры после того, как игрок нажимает на кнопку 'Присоединиться к игре по ссылке (ссылка должна быть в вашем буфере обмена)'.

Моя большая благодарность за ваше время и участие в этом проекте.

Император Защищает.