Как и собирался, полез разбираться с GraphQL.
Смотрел на него в контексте Python, поэтому возможны искажения — технология родилась, как и многое сейчас, в мире JavaScript — референсная реализация на этом языке сделана.
В комментариях ММОзговеда случилось обсуждение, которое затронуло по касательной такую штуку как значимость события для игрока. Вынесу оттуда свои соображения.
Давно хотел посмотреть на hypothesis — генератор фикстур для тестов. Сделал это пока в очередной раз колупал типы в Python.
Hypothesis позволяет описывать генераторы входных данных для тестов и запускать тесты сразу на всех сочетаниях данных. В случае ошибки библиотека попробует локализовать её в наиболее простом наборе данных, чтобы было проще понять проблему и воспроизвести ей. Генераторы для базовых типов идут в комплекте, поэтому деление на ноль она ловит хорошо :-)
Если кратко, то мне понравилось, рекомендую, буду использовать, но не всегда. Подробнее под катом.
Вопрос взаимодействия многопользовательских игр с этими явлениями интересует меня давно, в том числе и в контексте Сказки. Но сформировать чёткую позицию я так и не удосужился — ограничивался парой эвристик, которые облегчали жизнь. К сожалению, на эвристиках не всегда можно далеко уехать, поэтому пришло время эту позицию сформировать.
Предлагать идеальное решение не буду — сильно сомневаюсь в его принципиальной возможности. Вместо этого попробую выделить направления взаимодействия с проблемой.
Поскольку область большая и непроработанная, описывать направления буду разными способами: часть — высокоуровневыми соображениями, часть — декомпозицией на частные случаи. Где смогу, буду приводить примеры, но будут и места с вопросами и догадками. Сосредотачиваться на конкретном жанре также не буду — поговорим о многопользовательских играх во всём их разнообразии.
Эссе планирую использовать как справочник, поэтому буду его периодически обновлять. Если увидите ошибку в рассуждениях или упущенный аспект — пишите комментарии, обязательно исправлю.
Итоговый текст захватил куда больший кусок предметной области, чем я планировал. Фактически, текст можно переименовать в «направления работы с негативным игровым опытом на примере взаимодействия с ботами и твинками». Поэтому эссе может быть интересно прочитать, даже если конкретно боты и твинки вам не интересны.
И будьте осторожны, очень много букв.
История — наука во многом субъективная — каждый трактует её как хочет. Поэтому я стараюсь избегать исторических книг от историков. Особенно от современных. Особенно жизнеописаний. Особенно научно-популярных.
Однако, история — штука интересная и полезная для формирования более-менее объективной картины мира. Либо набиваешь шишки на личном опыте, который ограничен временем жизни и источниками информации, либо изучаешь историю. Можно ещё копать в сторону психологии, антропологии и смежных дисциплин, но там свои нюансы.
Поэтому я остановился на чтении записок выдающихся людей прошлого. Будь то дневники, мемуары, письма или служебные записи.
Когда человек пишет что-то, он, обычно, хочет повлиять на своих современников. Максимум, на ближайших потомков. Поэтому, через 100, 200, 1000 лет после автора, становится намного легче вычленять суть из его текстов:
Конечно, не всегда получается придерживаться этого принципа.
Например, книга Изобретение науки явно под него не попадает, но в её случае альтернативного подхода к изучению темы быть не может — исключение, подтверждающее правило.
В остальном же, читать явно пропагандистские Записки Цезаря или наполовину технический судовой журнал Джеймса Кука, о котором будет следующий пост, в плане восприятия информации на много легче, чем книги наших современников. Вы могли обратить внимание, что в их обзорах я периодически жалуюсь на проскальзывание повестки со слабым обоснованием.