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

Автоматизация импортов в Python

Пример автоматизаиции импорта.

Пример автоматизаиции импорта.

Написал библиотеку для автоматического импорта модулей в Python.  Анализирует код и самостоятельно импортирует что надо. Называется smart imports: pypi, github.

Написал год назад (то есть год уже использую в своих проектах), но написать статью только сейчас руки дошли :-)

Документация пока находится на хабре.

О книге «Кровь, пот и пиксели» — производственные сказки на ночь

Обложка книги «Кровь, пот и пиксели»

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

Несколько мальчиков и девочек хотели сделать свою игру, потому что на работе делали игры, но не те. Они уволились, очень много работали, немного поругались, помирились, выпустили таки игру и заработали миллионы.

Много мальчиков и девочек долго и упорно делали игры про джедаев, но у них как-то не получалось, потом у них начало получаться, но их купил Дисней и закрыл к чертям.

Далее

Нейронный сети научили генерировать полноценные анимэшные аватарки

Пример сгенерированных нейронной сетью аватарок

Пример сгенерированных нейронной сетью аватарок

Пример можно найти на картинке и по ссылкам:

сайт с генератором

краткий отчёт по разработке

статья

Но куда интереснее не сам результат, а способ его получения:

  1. Сырую обучающую выборку слили с сайта об японских играх (изображения персонажей).
  2. На этих изображениях сторонней нейронной сетью распознали лица.
  3. Другой сторонней нейронной сетью назначили полученным портретам теги (цвет волос, глаз, etc).
  4. Обучили свою сеть, которая по параметрам генерирует картинки.
  5. Использовали сеть из пункта 3 для расчёта оценочной функции (на сколько полученная картинка соответствует требованиям).
  6. Конечный результат получается генерацией нескольких аватарок и выбором одной с лучшим значением оценочной функции.

То есть в работе задействовано 3 нейронные сети, 2 из которых — обучены ранее другими людьми. По этому поводу можно было бы расписать много интересного, но просто оставлю как факт.

Изменение восприятия сложности

Написал философской рефлексии пост про изменение восприятия сложности за последние полвека.

Статья на хабре

Опыт портирования проекта на Python 3

Лого Python 3.

Портировал Сказку на Python 3.

Хочу поделиться опытом портирования проекта с Python 2.7 на Python 3.5. Необычными засадами и прочими интересными нюансами.

Немного о проекте:

  • Браузерка: сайт + игровая логика (иерархические конечные автоматы + куча правил);
  • Возраст: 4 года (начат в 2012);
  • 64k loc логики + 57k loc тестов;
  • 2400 коммитов.

Далее