Или почему в Сказке игроки не могут создавать города самостоятельно. Хотя могут прокладывать дороги и менять ландшафт.
Заголовок звучит заумно, но суть проста: интересность игры зависит от вариативности геймплея, которая определяется связями между элементами игры.
Почти 6 лет как я открыл исходный код Сказки под BSD-3 лицензией. Давно пора рассказать как это отразилось на игре и её разработке.
На mmozg.net появился любопытный пост о динамике поведения разработчиков и игроков в EVE, по крайней мере я так его тему увидел. Пост хорош сам по себе, но затрагивает куда более широкую тему, которую я и вынес в заголовок.
А поскольку я разрабатываю как раз мини аналог EVE — ММО с единственным игровым сервером без ресетов — мне есть чего добавить по теме. Это эссе развивает мои комментарии к оригинальному посту.
Следующие соображения справедливы для всех игр, но сильнее всего относятся к ММО. Через призму разработки многопользовательской песочницы с персистентным миром я и буду рассказывать.
Наткнулся в своих завалах на оригинальный концепт-документ Сказки от 2012 года. Привожу с минимальными правками.
Как видите, не всё удалось реализовать, но концепция более-менее соблюдается.
Также у меня какое-то время было хобби — писать подобные документы на свои идеи. Если вам интересно, напишите в комментариях. Если наберётся достаточно заинтересованных людей, буду постепенно выкладывать документы в блог.
Раз в несколько лет я нахожу время, чтобы покопаться в наработках сообщества по «продвинутым» проверкам типов. Благо у меня под рукой есть взрослый, большой и нетривиальный проект, на котором можно безбоязненно ставить эксперименты.
Не могу сказать что я разделяю оптимизм по поводу продвинутой типизации в Python. Наоборот, считаю, что это как попытка пришить змее ноги — забавно, но вряд ли удобно. Но раз куча людей тратит на это время, надо быть в курсе.
В этот раз я:
Рассказывать буду тезисно, без глубоких обоснований, так как делать нормального качества обоснования для таких холиварных вопросов слишком долго, а я уже дней 5 на копание в этом потратил.
Большая часть поста не про mypy, а про философию проверки типов и будущее Python. Поэтому должно быть интересно, даже если сам mypy вас не интересует.