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

Топология игры

Оптимальная стратегия за крестики в крестиках и ноликах. [Изображение взято из википедии](https://en.wikipedia.org/wiki/Tic-tac-toe).

Оптимальная стратегия за крестики в крестиках и ноликах. Изображение взято из википедии.

Или почему в Сказке игроки не могут создавать города самостоятельно. Хотя могут прокладывать дороги и менять ландшафт.

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

Далее

Ищу работу: CTO, Tech/Team Lead, R&D

Обновлено 5 ноября.

Работу нашёл. Пост оставляю для истории.

15 лет в разработке ПО, 13 — в геймдеве, 9 — в топ геймдев компаниях.

Специализируюсь на решении нетипичных задач, наведении порядка, разработке backend.

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

Резюме: ru, [en](absolute:/en/cv}.

Рассматриваю позиции CTO, Tech/Team Lead или R&D разработчика.

Не рассматриваю:

  1. аутсорс, аутстаф — совсем-совсем;
  2. криптопроекты, ориентированные на продажу токенов на хайпе;
  3. низкоуровневый линукс и всё, близкое к железу;
  4. работу, заточеную на обеспечение security;
  5. работу, заточеную на сложную графику;
  6. работу, сконцентрированную на devops, настройке инфраструктуры, etc.

Отвожу время на поиск до начала ноября. То есть принять офер смогу только в начале ноября.

Рассматриваю только продуктовые компании.

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

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

P.S. Из всего могут быть исключения, но для каждого исключения нужен повод.

Итоги творческого отпуска 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 месяца. Пора подводить итоги.

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

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

Далее

Feature Programming

Эссе по итогам нырка в Deep Learning, но не о DL и даже не совсем о Machine Learning, а о новой парадигме программирования, которая рождается из него.

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

В следствие выбранной темы, эссе получилось футурологическим и абстрактным. Например, я не буду перечислять области применения DL и достигнутые в них результаты — этим итак всё инфопространство забито.

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

Оговорка два: термины «признак», «feature» будут использоваться достаточно вольно.

Далее

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

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

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

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

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

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

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

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