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

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

@karmanov
Download Telegram
Филипп пишет
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
Какая ты обезьяна?

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

Несколько выдержек:

---

Задача черных обезьян – собирать бананы. Задача белых обезьян – делать так, чтобы бананы были собраны.

---

Черная обезьяна ведет себя как черная обезьяна, потому что она знает, что она - черная обезьяна. Если черная обезьяна не знает, что она черная обезьяна, то она все равно ведет себя как черная обезьяна и не становится белой обезьяной.

---

Если черная обезьяна собрала много бананов, то ей доверят собрать еще больше. Если белая обезьяна загубила много бананов, то ей доверят загубить еще больше.

---

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

---

Белые обезьяны живут на деревьях. Чем важнее белая обезьяна, тем ближе к стволу дерева она сидит на ветке. Большая белая обезьяна живет на стволе. Ветки иногда ломаются, а стволы качаются. Белые обезьяны крепко держатся на деревьях, сжимая ягодицы и балансируя конечностями. Такое размахивание называется «водить руками» или «руко-водить». Со стороны это может напоминать коллективную мастурбацию. Если ветки ломаются, то белая обезьяна невозмутимо падает вниз. При этом считается, что она слезла сама. Одна падающая белая обезьяна может задеть других, и тогда они падают вместе. Упавшие обезьяны быстро залазят на другие деревья и рассаживаются на них с комфортом. Большая белая обезьяна не сталкивает белую обезьяну с дерева, пока та не найдет себе место на другом дереве. Вывод: белая обезьяна никогда не останется без дерева.

---

Когда белая обезьяна читает газету и в комнату врывается черная обезьяна с криком: «Сэр! Огромная проблема, пожар, пожар!!! Мы горим, все в огне!!!», то белая обезьяна отвечает, не отрываясь от чтения газеты: «А ты вызвал пожарных?» и продолжает невозмутимо читать газету.

---

Встречаясь, белые обезьяны часто называют имена других белых обезьян, деревьев, на которых кто и когда сидел, и спрашивают друг друга: «А ты знаешь ли такую-то белую обезьяну с такого-то дерева?». На этот вопрос очень редко отвечают «нет». Вместо этого говорят: «по-моему, я что-то слышал о ней, напомни мне, кто она». И тогда все равно находятся общие знакомые среди белых обезьян. С помощью таких расспросов белые обезьяны убеждаются в подлинности друг друга и степени белизны. Вывод: настоящая белая обезьяна знает много других настоящих белых обезьян и гордится этим.

---

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

Что дома в свободное время осенью еду на велосипеде в лес за грибами, что здесь. Погода способствует активному времяпровождению, в отличие от типичных для региона летних +30°C и выше.

Помимо многовековых прованских деревень и природных красот, запечатлённых ещё Ван Гогом и Сезанном, поражает необъятное разнообразие пищевых изысков, опережающее даже такие "гастрономические" страны, как Италия и Япония. Причём поражает в первую очередь глаз: редко где увидишь десятки вариаций одного и того же деликатеса на одной полке.

Ну и стоит отметить, что в подобных поездках приходит осознание того, что всякая красота в глазах смотрящего, и что нет места лучше дома, если это осознать.
👍4🕊1
World App Store

2024 год уже можно назвать годом расцвета внутренних каталогов приложений в мобильных приложениях. Telegram Mini Apps, конечно же, самый яркий пример. В числе причин расцвета — ослабление в апреле гайдлайнов Apple, которые ранее сильно усложняли запуск и поддержку таких фич.

Но не Телеграмом единым. В конце сентября ко мне обратились представители проекта Worldcoin — криптовалюты и сопутствующих сервисов от сооснователя OpenAI Сэма Альтмана. Ребята тоже решили не отставать от тренда и запустить каталог приложений в своём мобильном криптокошельке.

В общем, мы запустили игру на новой платформе: https://worldcoin.org/mini-app?app_id=app_0f137e3c0d3c000686e3d13f049bdb92&app_mode=mini-app

(для запуска необходимо скачать приложение World: App Store, Google Play)

С монетизацией пока неясно, больше смотрим на объём трафика и метрики вовлечённости.
🔥1🕊1