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

Open source сервисы аутентификации

Потребовалось сделать регистрацию/логин пользователей для пет-проекта. А я это жуть как не люблю, прямо до скрежета в зубах. Поэтому решил поискать что-нибудь совсем готовое, чтобы минимум кода писать и можно было однотипно использовать в будущих проектах.

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

Далее будет моё предвзятое и не особо компетентное мнение. Сугубо для закрепления в истории результатов раскопок.

Есть три проекта, которые вызвали мой интерес:

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

Далее

Игровое сообщество с точки зрения независимого разработчика игр

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

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

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

Далее

Итоги творческого отпуска 2019-2021 годов

Every single day 'cause I love my occupation
A-a-ay, I'm on vacation
If you don't like your life, then you should go and change it

Или как написать том «Войны и мира» за 2 года.

В июне 2019 я уволился из Melsoft и ушёл в творческий отпуск, который длится вот уже 2 года и 2 месяца. Пора подводить итоги.

Расскажу зачем я это сделал, чем занимался, что получилось, что не получилось, какие впечатления остались.

Кратко: всем рекомендую.

Далее

Монополизация машинного обучения

Появление монополий почти всегда идёт во вред, но до всеобъемлющей цифровизации у людей оставались варианты защиты от шантажа отбором товаров или услуг.

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

До расцвета машинного обучения проблема IT монополий с трудом, но решалась созданием альтернативного ПО. Его авторами могли выступать как небольшие предприятия, так и сообщества энтузиастов, ратующие за свободное и открытое ПО.

Сначала альтернативный софт можно было создавать в одиночку. Затем группами всё большего размера.

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

Machine Learning, в его текущем виде, меняет расклад.

Далее

Реализация Generative Adversarial Network

В завершение разбирательства с Deep Learning решил посмотреть что-нибудь более интересное и ориентированное на генерацию контента — реализовать GAN.

По правде говоря, большую часть времени с GAN (и Autoencoder) я экспериментировал на спрайтах карты Сказки. Ожидаемо, на таком мизере обучающих данных ничего интересного не получилось. Хотя польза и была. Поэтому для поста я подготовил отдельный notebook с более наглядными результатами — генерацией обуви по набору данных Fashion MNIST.

Ноутбук с реализацией GAN и комментариями.

Про архитектуру GAN лучше почитать в вики, интернетах или моём ноутбуке.

Краткая суть:

  • Тренируются две сети: generator & discriminator.
  • Генератор учится создавать картинки из шума.
  • Дискриминатор учится отличать поддельные картинки от настоящих.
  • Ошибка дискриминатора определяется качеством предсказания фейковости изображения.
  • Ошибка генератора определяется качеством обмана дискриминатора.

Если правильно подобрать топологии сетей и параметры обучения, то в итоге генератор научается создавать картинки неотличимые от оригинальных. ??????. Profit.