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

Про кражу результатов выполнения тестовых заданий

Каррикатура из неизвестного источника. Если вы знаете кто автор, сообщите, пожалуйста.

Каррикатура из неизвестного источника. Если вы знаете кто автор, сообщите, пожалуйста.

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

Ну бред же, ей богу. Бред сивой кобылы.

У нашего ИТ (не геймдева), действительно, есть похожая проблема. Но она заключается не в том, что у соискателей работу воруют. Она заключается в том, что соискатели думают что их тестовое задание в принципе возможно использовать в чём-то, кроме оценки их компетенций. Сюда же можно добавить школоту, которая считает, что можно набрать таких заданий и собрать из них рабочий проект. Последнее реально чистая школота из вконтактика, поэтому даже говорить об этом нет смысла.

Проблема не в злых конторах, а в кадрах у которых квалификация катастрофически не соответствует ЧСВ.

А работы ваши не нужны потому, что в любом долгосрочном проекте важны не N строк кода (картинок, нот, etc.), а человек который их создал, который в голове держит концепцию их создания, план развития, связи с другими частями проекта и прочее. Без этой информации такая работа - камень на шее проекта, который тянет его на дно.

Кроме того, обвинять конторы в том, что они украли что-то и выпустили - ещё большая ерунда. Люди не случайно принимают решения, а мозгом пользуются. Ну, некоторые из них. Если вам пришла в голову какая-то идея, то она пришла и к десятку других людей. Если идея толковая, её уже делают. Посмотрите хотя бы на недавние анонсы игровых облачных платформ. Никто же не обвиняет Apple, Google и прочих, что они друг у друга идеи стырили. Нет, они делают то, что диктует рынок.

А идеям без реализации цена 10 центов за дюжину.

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

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

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

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

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

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

статья

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

  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 коммитов.

Далее

Комбо-баг от Apple

Червяк в надкусаном яблоке.

Хочу передать благодарность разработчикам платёжного API AppStore, за то, что в пятницу в 19 вечера мне пришла ужасная бага «не работают платежи».

Ошибка оказалась не страшной и заключалась в том, что эплы хитро сломали своё API (минимум второй раз за полгода!). Сломали очень «удачно» для нашей системы, нарушив сразу два своих же соглашения по формату данных.

Далее

Non-consumable purchases

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

Речь пойдёт о non-consumable покупках/товарах в мобильных магазинах Apple, Google и Amazon. Non-consumable — это разовые покупки, которые нет необходимости повторять. Например: наборы уровней, вечный VIP, отключение рекламы. Consumable, наоборот — это расходники — золото, энергия, сундуки и прочий f2p шлак.

Далее