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

Открыл исходники Morphologic

В апреле я открыл доступ к своему хобби-проекту Morphologic.

Как я и опасался, штука оказалась для очень частных случаев. Настолько, что даже я её особо за эти 3 месяца не использовал.

В то же время я всё ещё думаю, что сама по себе она полезна, а значит проект останется доступен для всех.

В рамках наведения порядка я решил открыть его исходники под лицензией BSD.

Ссылка на репозиторий: https://github.com/Tiendil/morphologic

Все заметки из Google Docs переехали в issues.

В телеграм есть группа для обсуждения проекта: https://t.me/morphologic_soft

Если кто-нибудь хочет вписаться в разработку Morphologic, я с радостью эту инициативу поддержу.

На текущий момент планы по проекту у меня следующие:

  • Ждать, пока он мне реально и сильно понадобится, чтобы получить интересный пример использования.
  • Если будет настроение, опубликую статью на Хабре про морфологический анализ со ссылкой на Morphologic в конце. Лишние звёзды на гитхабе и карме ещё никому не мешали :-D

Julia — это Python++?

Логотип Julia

Давно хотел посмотреть на Julia, так как встречал его (её?) упоминание в очень разных и не всегда относящихся напрямую к программированию местах. Пока изучил только документацию и ничего серьёзного на нём не писал (это будет следующим шагом), но уже хочется сказать пару слов. В соответствии с собственными заветами :-D

Изначально я планировал сделать что-то вроде сводной таблицы «плюсы и минусы Julia», но по прочтении документации передумал.

Во-первых, язык достаточно самобытен, имеет множество мелких нюансов, эффекты которых проявляются только эмерджентно, а копировать всю документацию сюда я не планирую.

Во-вторых, такие таблицы уже есть.

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

Далее

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

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

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

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

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

В этот раз я:

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

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

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

Далее

Процедурная генерация и прочая математика

Открыл для себя доклады, которые Squirrel Eiserloh делал для математической секции GDC. Очень наглядно и доступно рассказывает о процедурной генерации, случайности и прочей математике.

Доклады:

Доклады о процедурной генерации особенно интересны.

Следующий фронтир геймдизайна

Геймдизайнеры в поисках новых механик. Изображение с конкурса Каменный пояс, проекта СССР 2061.

Геймдизайнеры в поисках новых механик. Изображение с конкурса Каменный пояс, проекта СССР 2061.

Геймдизайнеры в поисках новых механик. Изображение с конкурса Каменный пояс, проекта СССР 2061.

Каждый разработчик игр, особенно ММО, со временем начинает рефлексировать и задумываться о таких вещах как «честная игра», «справедливое вознаграждение», «серые и чёрные активности» игроков.

То есть о том, как не стать капиталистической гадиной, построить здоровое игровое сообщество, не умереть с голоду и дать максимально большому количеству людей возможность получать удовольствие от игры.

Ладно, по первому пункту далеко не все переживают.

Я такой рефлексией тоже занимаюсь довольно давно и наконец смог свести вместе накопившиеся мысли. Причём они на удивление хорошо состыковались друг с другом. Спасибо обсуждению на ММОзговед, в результате которого я перешёл там в read-only режим :-D

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

Далее