Эссе о разработке игр, мышлении и книгах

Топология игры

Оптимальная стратегия за крестики в крестиках и ноликах. [Изображение взято из википедии](https://en.wikipedia.org/wiki/Tic-tac-toe).

Оптимальная стратегия за крестики в крестиках и ноликах. Изображение взято из википедии.

Или почему в Сказке игроки не могут создавать города самостоятельно. Хотя могут прокладывать дороги и менять ландшафт.

Заголовок звучит заумно, но суть проста: интересность игры зависит от вариативности геймплея, которая определяется связями между элементами игры.

Далее

О деградации фана

[источник изображения](https://evil.fandom.com/wiki/Swamp_of_Sadness)

источник изображения

На mmozg.net появился любопытный пост о динамике поведения разработчиков и игроков в EVE, по крайней мере я так его тему увидел. Пост хорош сам по себе, но затрагивает куда более широкую тему, которую я и вынес в заголовок.

А поскольку я разрабатываю как раз мини аналог EVE — ММО с единственным игровым сервером без ресетов — мне есть чего добавить по теме. Это эссе развивает мои комментарии к оригинальному посту.

Следующие соображения справедливы для всех игр, но сильнее всего относятся к ММО. Через призму разработки многопользовательской песочницы с персистентным миром я и буду рассказывать.

Далее

Модная типизация в Python

Разработчики пришивают типы к Python.

Разработчики пришивают типы к Python.

Раз в несколько лет я нахожу время, чтобы покопаться в наработках сообщества по «продвинутым» проверкам типов. Благо у меня под рукой есть взрослый, большой и нетривиальный проект, на котором можно безбоязненно ставить эксперименты.

Не могу сказать что я разделяю оптимизм по поводу продвинутой типизации в Python. Наоборот, считаю, что это как попытка пришить змее ноги — забавно, но вряд ли удобно. Но раз куча людей тратит на это время, надо быть в курсе.

В этот раз я:

  • Посмотрел что из себя представляет mypy и чем может быть полезно (мало чем).
  • Посмотрел чем можно автоматически сгенерировать аннотации типов (ничего рабочего нет).
  • Подумал о том, как правильно использовать проверку типов в Python, раз их так форсят.
  • Нашёл библиотеку, реализующую идеологически верный подход.

Рассказывать буду тезисно, без глубоких обоснований, так как делать нормального качества обоснования для таких холиварных вопросов слишком долго, а я уже дней 5 на копание в этом потратил.

Большая часть поста не про mypy, а про философию проверки типов и будущее Python. Поэтому должно быть интересно, даже если сам mypy вас не интересует.

Далее

Травмирование формализмом

Эта мысль у меня начала зудеть как-только я выпустил Сказку и начал работать с сообществом её игроков. Но сформулировать её никак не получалось, хотя само явление встречается повсеместно и периодически меня натурально выбешивает.

Вы встречали людей, которые, явно сжульничав и сделав гадость, искренне не понимают в чём проблема, повторяя «я всё сделал по правилам» или «правилами это не запрещено»?

Людей, которые любую работу делают максимально формально, не вникая ни в какие нюансы?

Людей, которые принимают решения строго по «букве закона», даже если «дух закона» этому полностью противоречит?

Так вот, всему этому я придумал диагноз: «травмирование формализмом».

Суть вот в чём…

Далее

О проектировании миров

Таким может быть ваш новый мир (c) [Рашап](https://the-tale.org/accounts/18776)

Таким может быть ваш новый мир (c) Рашап

Этот пост я начал писать как часть рецензии на произведения Сюзанны Кларк, но быстро понял что ухожу в сторону от основной темы. Поэтому в рецензии оставил только то, что напрямую касается мира английской магии, а тему проектирования миров подробнее раскрыл тут.

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

Далее