Филипп пишет
69 subscribers
51 photos
3 videos
25 links
Делаю игры с 2007 года и ещё всякого понемногу

Founder @ Black Snowflake
CTO&Co-founder @ kukushka.io

@karmanov
Download Telegram
Channel photo updated
Привет! Вот уже более половины жизни занимаюсь играми и рядом других околоайтишных тем, успев запустить не один продукт на многомиллионную аудиторию. Буду писать здесь заметки о рабочей деятельности (да и личной тоже).
🥰3
Филипп пишет pinned «Привет! Вот уже более половины жизни занимаюсь играми и рядом других околоайтишных тем, успев запустить не один продукт на многомиллионную аудиторию. Буду писать здесь заметки о рабочей деятельности (да и личной тоже).»
Игра мечты

Пока думал над темой первого поста в канале, вспомнил, что сегодня как раз стукнуло 14 лет релизу моей личной игры мечты. Когда мобильный рынок был непаханым полем, я делал Лушу.

Разработка The Adventures of Lusha — a cardboard pug началась зимой-весной 2009 года, когда мне было 12 лет, и через год мотания с мизерным 3D-функционалом GameMaker (и вообще самим движком, т.к. это был мой первый проект на нём после ухода от 2D-only Multimedia Fusion 2, с которого года за три до этого началось моё знакомство с геймдевом), постройки трёхмерных уровней в 2D-редакторе, пары смен визуальной части и правок сюжета на ходу вышел глюковатый 3D-платформер по подобию таковых с консолей 90-х про мопса Лушу, спасавшего свой картонный мир от растащивших осколки магического артефакта едрить его в корень злыдней на протяжении 20 уровней в пяти мирах. Преимущественно кубическое окружение сочеталось с плоскими a la Doom персонажами, смоделированными из примитивов и отрендеренными в 3D Max (смекалисто оправдано словом cardboard в названии). Главному герою так ещё после рендера была пририсована мордочка по пикселям.

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

Незадолго до релиза я уже начал пилить сиквел с чуть улучшенным артом, нелинейностью и сайд-квестами, но он так и не увидел свет, оставшись наполовину готовым; вместо него вышло продолжение в 2D с упомянутыми фичами и музыкой из стоков. Луша, основанная на реальном питомце, до этого появлялась в десятке более мелких игр. Многие из них утрачены, но самая ранняя сохранившаяся датируется февралём 2008.

Короче, своей "игрой мечты" я успел переболеть до получения паспорта, что в итоге считаю главным результатом всей затеи. Такой опыт позволяет куда трезвее смотреть на выдвигаемые гипотезы и быстрее их проверять. А если вдруг кто желает оценить вышеописанное лично, скачать Windows-версию можно здесь.
2
Филипп пишет
Photo
GDC: инструкция по применению

На прошлой неделе вернулся с Game Developers Conference, крупнейшей конференции игровой индустрии, ежегодно проходящей в Сан-Франциско. Затея посетить её зрела давно, изначально планировал в 2020, но ровно через неделю после получения визы США всё закрылось на ковид.

Тренды, которые увидел:

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

- AI уже воспринимается как норма жизни, даже нет смысла расписывать

- Много высокотехнологичных продуктов, в том числе и от российских компаний/основателей. Особенно запомнились несколько стендов систем motion capture. Для них данное мероприятие это отличный поставщик потенциальных клиентов, поскольку ЦА — компании, работающие над AAA-играми, которым привычны большие чеки

- Многие крупные сервисы, в частности Discord, запускают свои платформы для веб-игр. Это наш профиль, и последний подобный всплеск платформ я видел в 2016, пока Apple не принялась усложнять работу iOS-приложений с таким функционалом новыми гайдлайнами. Скорее всего, косвенно связано с возникшим обилием антимонопольных исков к Apple и, как следствие, послаблением гайдлайнов

- Обсуждения социальной стороны индустрии: увольнения, профсоюзы DEI и прочие подобные американские локальные темы.

До GDC я уже посещал десятки подобных мероприятий меньшего масштаба в разных странах (в первую очередь WN Conference и Pocket Gamer Connects, т.к. они сфокусированы на мобильных играх), поэтому есть, с чем сравнивать. По GDC отмечу следующее:

- Готовиться к мероприятию такого масштаба хорошо бы минимум за пару месяцев даже если ехать без стенда. Длится оно пять дней (два дня докладов + три дня выставки), вокруг него организуется куча сопутствующих движух: как всевозможные вечеринки, так и более узкопрофильные конфы/митапы (у меня, например, был доклад на параллельно проходившем Pocket Gamer). В этом году только сама GDC набрала около 30 тысяч посетителей. Биздевам точно будет некогда выдохнуть, благо в помощь есть митинг-системы

- Представлены ключевые игроки из всех отраслей игровой индустрии, познакомиться с условными Epic, Nvidia или Unity не проблема. Лично для меня было интересно встретить команду используемого нами движка GameMaker Studio, которая редко выбирается на подобные мероприятия. Широко представлены и всевозможные сервис-провайдеры в лице, например, Cloudflare. Среди докладчиков много ветеранов индустрии (из запомнившегося, в этом году выступал автор "Тетриса" Алексей Пажитнов)

- Конференция проходит в центре Сан-Франциско, известного обилием маргинальных элементов на улицах. Следует проявлять осмотрительность в этом плане

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

В целом, GDC однозначно стоит посещения, если понимать, с какими целями туда ехать.
3👍1
Лидерборды

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

Искали проблему в непроизводительности используемых технологий (PHP/MySQL, топорнее некуда), слабом железе, подрубали всякие кеширования, индексы таблиц и прочие меры предосторожности. Под следующий маячящий на горизонте всплеск активности арендовали выделенный сервер на 16 Gb RAM. Лидерборд снова за считанные минуты съел все ресурсы, уронив сервер.

И только тут дошло, что самая прожорливая функция — вычисление позиции игрока во всей таблице рекордов. Грубо говоря, если игрок не попал в топ 10, игра по-честному сообщала ему, что сейчас он на 34952 месте, и что его результат лучше, чем у 61% игроков. Чтобы вычислить место, надо получить число игроков, у которых рекорд больше. И никакие индексы тут не спасут когда в таблице те самые несколько сотен тысяч записей, а методы API дёргаются десятки раз в секунду.

Это всё к чему, умные ребята для простых лидербордов делают так:

- Хранят только топ 10/20/100

- Записывают свежеприсланный рекорд только если он больше минимального из топа (если в топе есть такой же рекорд, он смещается вниз, как и все меньшие)

UPD: ещё более умные ребята подсказали, что используют Redis sorted sets
👍2🔥2
Филипп пишет
Лидерборды Почти во всех наших играх есть простой топ игроков по очкам. И очень часто он не выдерживал внезапно нахлынувшей нагрузки, начиная с нескольких сотен тысяч DAU или плюс-минус десятка тысяч онлайна. Один раз в такой пик упала вся игра, поскольку…
Продолжая тему, для лидербордов в своё время быстро выработался лайфхак, подстёгивающий аудиторию как раз в те моменты, когда он начинал тупить. Подходит для лидербордов с никнеймами, а не реальными именами.

- Рисуем на клиенте фейковый топ 10 таким образом, чтобы последний рекорд в топе был совсем чуть-чуть больше счёта игрока. Даём "игрокам" смешные/цепляющие никнеймы, соответствующие контексту игры

- Одному из "игроков" в топе даём вызывающий никнейм на основе никнейма игрока (в примере — седьмое место)

- Игроки начинают шерить скриншоты из игры, мол почти в топ вошёл, а тут ещё какой-то гад передразнивает

Работает порой лучше реальных лидербордов.
2👍2
"Если ты не корпорат, то никто тебе не рад"

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

Огромную роль в любом карьерном или бизнес-развитии имеет нетворк, то есть знакомства и связи. Где они вырабатываются? Обычно в рабочем коллективе. Чем коллектив значимее, тем больше вероятность того, что проявление твоих способностей заметят люди, которые помогут направить их в полезное русло. И, разумеется, для попадания в такие коллективы нужно этими самыми способностями обладать. За примером далеко идти не надо: среди нашумевшей в последние дни экосистемы TON вижу огромное число знакомых имён из ВК.

То же самое применимо к университетам высокого класса. Особенно распиарена показательна культура студенческих братств в Лиге Плюща, но и МГУ, Физтех и даже элитные школы (на ум приходит питерский ФМЛ № 50) эффективно формируют пул знакомств.

Так почему цитата из заголовка резонирует со мной? Я бросил университет на первом курсе и никогда не работал в найме: наращивать нетворк из "стандартных" источников мне тупо негде. Варианта "хорошо работай, а потом тебя коллега позовёт в свой стартап, заработваший/привлёкший тонну денег" нет. Подобным коллегой нужно либо становиться самому, либо искать тоже самому. Оба пути — нетворк. Надеяться на статус самородка довольно опрометчиво.

Компенсировалось начавшимися ещё в школе и по сей день продолжающимися вылазками на профильные мероприятия (конференции игровой индустрии и не только). Все мои имеющиеся на сегодняшний день рабочие знакомства выросли из них. Главный челлендж для меня лично — что в 17 лет, что в 27, 99% тамошних контактов старше меня в среднем на 10 лет, общаться на одном уровне тяжело, буквально недавно выдавил из себя инстинктивное обращение к старшим по возрасту на "вы".

Без нетворка же, вероятнее всего, я бы пришёл к конкретному затворничеству. Ведение канала — тоже работа по поддержанию рабочего имиджа.
👍3👏1
Мне ±16 лет, конец школы, идти стартапить или строить карьеру?

Если даже возникает такой вопрос, то в 99% случаев лучше выбрать второй вариант. Для первого нужно одно из двух, а лучше сразу два:

- Недюжинная одарённость, при которой вопросов с ЕГЭ и поступлением в ВУЗ не будет — немало моих таких знакомых в этом возрасте окончили школу экстерном и пошли куда-нибудь в ВК, где быстро заявили о себе и двинулись дальше;
- Недюжинная же наглость, при которой вопросов само собой не возникает (не путать с высокомерием). У передавленных отличников и просто хороших сычей-угодников не встречается в принципе. Хорошая новость: качается с возрастом при желании.

Что эти данные формирует? Наверное в первую очередь семья, а потом окружение. Если из жизни, то ЛЭТИ, в который я когда-то поступил, чётко растил линейных спецов под второй, "традиционный" вариант.

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

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

---

Словоблужу ввиду вакуума во время задержки рейса из Москвы, куда я прилетел сделать аж настоящий экзит. Но об этом подробнее в следующем посте.
👍2
Telegram Mini Apps

Летом 2022 года Телеграм запустил свою платформу для мини-приложений — по сути сайтов, встраиваемых в мобильное приложение мессенджера. Я уже больше 10 лет занимаюсь играми, работающими именно в таком формате, и не мог пропустить такую новость. Но тогда не особо поторопился начать выпускать что-то на платформе, и вот почему:

- Ограничения со стороны сторов. Телеграм запускал такую же платформу, но для игр, ещё в 2016, и Apple сразу же сказала отключить доступ к ней на iOS-устройствах. Именно Apple до апреля 2024 года очень строго относилась к таким "встроенным" приложениям и играм в мобильных приложениях в App Store — в большинстве случаев в них нельзя было принимать платежи, вводилось множество ограничений, урезавших возможности для распространения таких мини-аппов и усложняющих их разработку.
- Как следствие, нулевые возможности для монетизации. Принимать платежи в мини-аппах запрещено из-за претензий App Store, реклама и внешние ссылки запрещены самим Телеграмом.
- Проблемы с трафиком. В отличие от других социальных платформ, у Телеграма не было отдельного раздела для мини-аппов. Пользователи не могли их найти просто так. Единственный доступный способ привлечения пользователей — закупка трафика во внешних источниках, но ввиду предыдущего пункта она нецелесообразна.
- Неориентированность на игры. Как писал ранее, отдельная платформа для игр у Телеграма уже была, новая создана явно с фокусом на неигровые приложения. По опыту работы с платформами других социальных сервисов, неигровые мини-аппы по ряду показателей всухую проигрывали игровым. Там, где игровой миниапп чисто на виральных механиках и алгоритмах раздела с играси привлекал ежедневно от нескольких тысяч пользователей, неигровой набирал от силы сотню. Всевозможные утилиты, редакторы и сервисы гораздо лучше перформят в формате нативных приложений (это которые из стора скачиваются).

Ну и пара факторов типа моей сильной занятости в других проектах на тот момент тоже повлияла на то, что заходить в Телеграм я тогда не стал.

Перемотаем на первую половину текущего года: Notcoin, Hamster Kombat, Major и многие другие мини-аппы в Телеграме собирают десятки миллионов аудитории, проводят крупные рекламные интеграции (благо платформа негласно ослабила правила по рекламе) и в целом успешны. Проблема с платежами тоже решена, многие технические ограничения со стороны Apple по удачному совпадению канули в лету в связи с изменением гайдлайнов App Store. И наверное я не ошибусь, если скажу, что авторы многих из упомянутых выше хитовых мини-аппов как раз были активны на платформе с самого её начала, в результате чего Телеграм их заметил и помогал с дальнейшим продвижением. Никакого блата тут нет, естественная история для подобных рынков — хороший early adopter на вес золота.

Есть ещё куча нюансов, в частности сильный акцент платформы Telegram Mini Apps на криптовалютах и Web3, но их разбор это тема для отдельного поста.

---

В прошлом посте обещал рассказать про экзит: я вышел из операционки сервиса для проведения количественных исследований kukushka.io, который начал делать в середине 2021 года. За это время было преодолено немало трудностей, особенно по части взаимоотношений между учредителями. Но я по-прежнему помогаю Кукушке с привлечением клиентов, так что если кто хочет провести соцопрос или исследование произвольного потребительского рынка — пишите.
🕊1
Филипп пишет
В прошлом посте обещал рассказать про экзит: я вышел из операционки сервиса для проведения количественных исследований kukushka.io, который начал делать в середине 2021 года.
Сегодня Кукушка взяла неожиданную номинацию на awards.startech.vc. Приятно видеть, что дают свои плоды три года попыток укорениться на довольно консервативном рынке, который очень неохотно принимает новые проекты.
🔥2🕊2