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

Обновил конфиги Emacs

Скриншот полноразмерного Emacs на моём мониторе не влезает сюда, поэтому вот вам его кусочек.

Скриншот полноразмерного Emacs на моём мониторе не влезает сюда, поэтому вот вам его кусочек.

В конце ноября смотрел чего наворотили в актуальных текстовых редакторах, вроде Atom и VS Code, в итоге нажаловался на них в facebook. Дескать даже файл открыть без мышки не могут. А для меня, как емаксера, тягание мыши — стресс и выпадение из потока — чистые боль и страдание.

Поэтому, и не в первый раз кстати, я решил от добра добра не искать — обновить то, что и так работает. Тем более, в последний раз я радикально перерабатывал конфиг Emacs лет 5 назад.

Кстати, по поводу «не в первый раз». У меня сложилось стойкое ощущение, что Emacs и Vim стали своего рода глобальными локальными оптимумами в пространстве возможных текстовых редакторов. Отказаться от них тем сложнее, чем дольше и глубже с ними знакомишься. А я с Emacs уже лет 12, видимо слезть с него совсем шансов нет.

Так вот. На обновление конфигов у меня ушло примерно 7 рабочих дней :-D И ещё дней 5 на автоматизацию настройки системы с помощью ansible — давно хотел сделать, но всё руки не доходили, а тут за компанию само пошло.

Вот она — прелесть безработности творческого отпуска — можешь неделю настраивать Emacs и никто тебе слова поперёк не скажет.

Если вы начинающий емаксер или просто интересуетесь, не пугайтесь сроков. Emacs — сложная штука, но не на столько. Просто я упоротый и полез делать собственное окружение, а для нормальных людей есть готовые и проверенные сборки: Spacemacs, Doom Emacs и прочие, которые должны работать сразу после установки.

Далее расскажу как я искал нужные библиотеки, какое мнение сформировал о текущем состоянии Emacs и что в итоге получилось.

Итоговый конфиг лежит на github. Если его разместить в /home/<user_name>/.emacs, то при следующем запуске Emacs сам скачает и установит все нужные библиотеки. Будет работать всё, кроме некоторых фич в режиме редактирования Python — для их включения смотрите определение переменных python‑binaries, python‑interpreter, python‑pylint.

Далее

Математики добрались до нейронных сетей

На arxiv.org выложен интересный препринт: Every Model Learned by Gradient Descent Is Approximately a Kernel Machine.

Как видно из названия, исследователи утверждают, что нейронные сети, обученные методом градиентного спуска (один из самых распространённых вариантов обучения) близки такой штуке как kernel machines — одной из техник машинного обучения «предыдущего поколения».

У kernel machines есть несколько интересных особенностей:

  • Техника хорошо проработана математически.
  • Требует значительно менее дорогих вычислений.
  • Вместо «выделения» признаков «напрямую» использует обучающую выборку.

Из этого может неслучиться несколько интересных вещей.

  • «Готовая» математика упростит сети и/или улучшит их результат и/или ускорит/удешевит обучение.
  • Область возможностей сетей очертится более чётко — окажется, что они не выделяют никакие новые признаки, а используют только «запутанные» данные из обучающей выборки.

Оба варианта выглядят довольно интересно.

Обсуждение на ycombinator.com

Неожиданно поучаствовал в подкасте портала mmozg.net

Подкаст с моим участимем.

Поговорили про новости ММО игр, некоторые вопросы их дизайна и особенности опыта, который они дают игрокам.

Меня в подкасте не очень много, но что-то полезное вроде говорю :-)

Хронометраж можно найти на странице ролика в YouTube, на сайте mmozg.net и в этом посте (украден с mmozg.net).

Далее

Процедурную генерацию в массы!

Пример процедурной генерации.

Пример процедурной генерации.

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

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

Но одна вещь меня пугает: что дозволено Юпитеру, не дозволено быку. Нейронки и процедурная генерация способны очень на многое, но насколько эти технологии будут доступны рядовым разработчикам?

Далее

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

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

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

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

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

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

Далее