Pixel Quest – канал о проекте
1.63K subscribers
116 photos
23 videos
84 links
Первая и крупнейшая в России сеть пиксельных игровых PixelQuest.ru ®

Резиденты Сколково, внесены в реестр малых технологических компаний
Download Telegram
🏠 Верхнеуровневая архитектура сети

Как сейчас выглядит архитектура проекта с точки зрения ИТ.

Основные идеи:
– все контроллеры всех игровых комнат и арен объединены в единую VPN сеть и подключены к единой системе мониторинга, что позволяет в реальном времени наблюдать общую картину состояния сети игровых заведений и следить за основными параметрами их работы: потреблением памяти, CPU, температурой и, самое главное, количеством неисправностей в игровых;
– к каждому контроллеру есть круглосуточный прямой доступ для диагностики и устранения проблем, а также для обновления ПО без необходимости присутствия человека на той стороне (делаем обновления в основном по ночам, когда нет клиентов);
– собственная CDN (сеть доставки контента) на минималках: централизованное хранилище контента (игр и звуков) с автоматизированным механизмом доставки обновлений на контроллеры;
– централизованная база бронирований и клиентов: позволяет следить за денежным потоком, а в перспективе позволит устраивать турниры между посетителями разных городов и стран;
– ещё одной важной фишкой является автоматическое лицензирование программного обеспечения: каждый контроллер ежедневно получает обновленную лицензию. В случае проблем с франчайзи и попытки обмана, мы легко сможем удаленно отключить ПО, и контроллер превратится в тыкву 😐
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🏭 Автоматизированное производство печатных плат

Пока пишу новую статью про наше производство в Китае, рождаются небольшие заметки как раз под формат телеграм-канала.

Кто следит за проектом с самого начала, скорее всего помнит, что печатные платы для прототипа я собирал дома руками, и мне даже помогала тогда ещё 6 летняя дочь! Это были боль и страдания (мои, не дочери, ей даже нравилось) и десятки часов рабочих митингов, проведенных с пинцетом в руках и паяльником за кадром, да простят меня коллеги...

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

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

И вот сейчас к нам едет уже новая партия электроники, которая прошла два этапа контроля: первый – на производстве печатных плат, второй – на этапе сборки готового изделия на другом предприятии. Станет сильно лучше, но всё равно не идеально. Будем двигаться в сторону автоматизированного контроля при сборке печатных плат + дополнительного человека в роли ОТК на выходе с производства.

Видео в реальном времени, поражает скорость работы расстановщика компонентов! А самые внимательные заметят на плате логотип Pixel Quest 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
💰 Итоги июля: 2,5 млн. руб. (+79% к июню)

Москва, загрузка 60%:
– выручка 1 401 084 руб.
– расходы 792 004 руб.
– прибыль 609 079 руб.
Новосибирск, загрузка 19%:
– выручка 725 100 руб.
– расходы 554 400 руб.
– прибыль 170 700 руб.
Луганск, загрузка 15%:
– выручка 270 125 руб.
– расходы 87 000 руб.
– прибыль 183 125 руб.

🤔 Примечания:
– Июль – первый полный месяц работы для Новосибирска и Луганска, ребята уже вышли в плюс и продолжают наращивать обороты. Август будет ещё лучше, это видно по бронированиям наперёд;
– Цифры по Оренбургу не публикую, т.к. они открылись только 10 числа и для них месяц был не полным;
– Мы в очередной раз обновили максимум в Москве при загрузке в 60%. Но при этом подросли расходы, т.к стажируем администраторов для новой локации;
– Очередная партия оборудования уже на таможне, планируем запустить новые локации в Санкт-Петербурге и Москве в пределах двух недель.

#итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Мысли вслух или почему мне нравится идея пиксельных игровых

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

Детские парки и игровые: подходят только для детей от 3х до 10(?) лет, требуют больших площадей аренды и много обслуживающего персонала;
Классические квесты и эскейп-румы имеют плохую возвращаемость и потихоньку отмирают. Сходил один раз, прошёл сценарий и больше туда не вернёшься, а значит владельцам нужно постоянно придумывать что-то новое и перестраивать помещения. Ко всему прочему, невозможно сделать одинаково интересный квест как для детей 5 лет, так и для взрослых 50+;
VR – отдельная история и, кажется, сейчас является самым быстрорастущим сегментом в индустрии развлечений: подвижно, интересно, охватывает широкую целевую аудиторию. Тут не поспоришь, сам люблю туда ходить, прям ностальгия по Counter-Strike 1.6. Но, с точки зрения бизнеса, это требует огромных вложений на старте и существенных ежемесячных затрат на аренду больших площадей и пачку администраторов. И, что интересно, владельцы VR бизнесов тоже это понимают и уже пытаются придумать более компактные форматы, покрывающие сегмент небольших заведений с недорогой арендой и минимальным количеством персонала. Один из таких примеров – RocketVR.ru (не реклама, для земляка не жалко). Я был приятно удивлён, что Сергей запустил аж три! VR франшизы, закрывающие разные потребности рынка.

Что касается нашего формата:
– мы более компактные с точки зрения требований к площади помещения, что является основной статьёй ежемесячных расходов;
– у нас хорошая возвращаемость клиентов за счёт наличия пяти десятков игр и их постоянного пополнения;
– мы хорошо автоматизируемы – управление играми передаётся посетителям, а значит требуется меньше персонала;
– охватываем ещё более широкую аудиторию: у меня дочке в 2.5 года было интересно бегать по цветным квадратикам, пока дети постарше проходили сценарий, а в качестве посетителей нередко приходят бабушки/дедушки с внуками и, что самое интересное, тоже играют! В то же время, я плохо представляю себе бабушку, например, в VR очках.

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

Время покажет, а мы продолжаем грести... 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Процессы в компании

Пишу новую статью про нашу IT составляющую и архитектуру. Вот несколько тезисов про используемые сервисы и процессы:

– Точкой входа всех клиентов, будь то простой посетитель игровой или потенциальный франчайзи, является сайт на Tilda. Кто бы что не говорил, но Тильда является удобным инструментом для быстрой корпоративной разработки, поддерживающим интеграции с большинством популярных сервисов;
– В качестве системы онлайн-записи выступает Bukza, которая позволяет настроить различные ресурсы для бронирования и удобно интегрировать это со сторонними приложениями;
– Огромный пласт автоматизации завязан на Telegram и Salebot: в нём коммуникация с клиентами и подписание согласий, воронка продаж франшизы и вся дальнейшая работа с партнёрами, а также все служебные чаты для общения и боты для оповещения о проблемах на серверах и локациях;
– В качестве таск-трекера используем российский аналог Trello – YouGile. На нём же сделали доску для заведения администраторами проблем на локациях и их последующей отработки разработчиками, что позволило значительно ускорить процесс отладки нового софта и игр;
– Под базу знаний используем Teamly – тоже весьма удобный отечественный инструмент;

Ну а держится всё это на трёх китах от Google: Таблицы, Документы, Диск 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Емкостной датчик или как работают китайские пиксели

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

На видео пример работы такого датчика и его дискретный выходной сигнал на логическом анализаторе 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ Спб + Мск2 – done!

На прошлой неделе запустили две новые локации: в Санкт-Петербурге и в Москве! Дизайн и ремонт получились просто супер! Кто был на первой локации в Москве, посетив вторую, точно кайфанёт 👍

На каждой локации предусмотрено по две просторных лаунж-зоны с возможностью объединения в единое пространство. День рождения или корпоратив на 30+ человек – легко!

Кто-то уже успел забронировать мероприятие аж на 15 декабря! 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔠 Формат арены и дополнительные развлекухи

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

Дополнительно в одном из лаунжей есть проектор и интерактивная стена с десятком разных игр на пострелять из пистолетов или покидать мягкие мячики, детям очень нравится!

А ещё есть мысль установить ретро игровой автомат, тоже должно быть весело 🕹
Please open Telegram to view this post
VIEW IN TELEGRAM
💰 Итоги августа: 4,0 млн. руб. (+62% к июлю)

Москва1, загрузка 63%:
– выручка 1 595 069 руб.
– расходы 767 094 руб.
– прибыль 827 975 руб.
Новосибирск, загрузка 32%:
– выручка 1 278 225 руб.
– расходы 716 012 руб.
– прибыль 562 213 руб.
Луганск, загрузка 21%:
– выручка 421 400 руб.
– расходы 160 031 руб.
– прибыль 261 369 руб.
Оренбург, загрузка 9%:
– выручка 176 000 руб.
– расходы 265 581 руб.
– прибыль -89 581 руб.

🤔 Примечания:
– Теперь интересной ежемесячной метрикой будет общая выручка по сети и её прирост от месяца к месяцу + график с накопительным итогом. А ещё на эту метрику будет завязан немного кликбейтный заголовок ближайшей статьи про нашу ИТ-архитектуру 😁
– Самые внимательные могли заметить, что сумма по городам не равна сумме в заголовке, но это всё потому, что в список не попали локации, проработавшие не полный календарный месяц (Москва2 и Санкт-Петербург), а вскоре и вовсе будет невозможно перечислять все города, останется только топ листа, но цифры по всем локациям будут так или иначе всегда публично доступны;
Загрузка новой локации в Москве на первой же неделе после запуска достигла 56%, нагенерив 411 тыс. выручки;
– Ребята из Новосибирска тоже не отстают и показывают очень достойные результаты для второго месяца работы и уже подписали договор на следующую точку в Красноярске, тем самым обеспечив себе эксклюзив на два города-миллионника;
– На очереди открытие в Томске, Краснодаре, Нижнем Новгороде, Самарe и Ташкенте 🎉

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

#итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Дайджест разработки за август

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

Итак, что было сделано в августе:
– главный фокус был на разработке нового интерфейса управления, переработали всё вдоль и поперёк, скоро сделаю небольшой обзор, как он сейчас выглядит и что умеет;
– разработан специальный прокси-сервис для Salebot: он выступает прослойкой между Букзой и Сэйлботом. Этот сервис выполняет несколько важных функций: позволяет следить за потоком сообщений клиентам; имеет очередь отложенной отправки в случае недоступности Сэйлбота (а такое бывает достаточно часто, сообщения просто терялись); и, что тоже важно, позволяет не светить приватный API ключ среди всех партнёров, т.к Сэйлбот у нас единый на всех;
– форкнуты и доработаны исходники VPN сервера для корректной и вечной фиксации IP адресов игровым контроллерам, что важно для следующего пункта;
– настроен ssh-jump сервер с внутренним DNS для контроллеров, теперь я могу попасть на любой контролер с помощью короткой команды по имени локации и номеру комнаты, например sshj msk1-1, этот же сервер будет выступать в качестве self-hosted GitHub раннера и позволит обновлять ПО на игровых контроллерах в полуавтоматическом режиме через интерфейс гитхаба;
– настроен асинхронный брокер сообщений NATS для получения обратной связи от контроллеров и сбора статистики о сыгранных играх: это нужно для контроля франчайзи и построения ежемесячной фин. отчётности, чтобы видеть, сколько игр запускается мимо кассы;
– заложена архитектура под возможность локализации интерфейса управления, игр и звуков: необходимо для выхода на международный рынок, мы уже продали одну точку за рубеж;
– выполнен большой рефакторинг игрового контроллера с целью реализации возможности подключать разные адаптеры игрового пола: это нужно мне для реализации протокола нового пиксели и для добавления поддержки китайской платформы;
– разработаны и сейчас тестируются несколько новых игр: Уклонись, Проводник и Защита базы 2 с попыткой реализовать открытый мир с перемещением камеры;
– начали делать интеграцию с Миром Квестов: тут основная сложность в том, что система бронирования, которой мы пользуемся – Букза, не предоставляет публичный API для создания заказов, приходиться эмулировать работу через внутренний API;
– реализовали в некоторых играх поддержку bluetooth геймпада, но на практике столкнулись с рядом проблем: геймпад теряет связь при выходе из игровой, а IP-камера с трансляцией в лаунж имеет задержку около 2х секунд. Ушли думать, что делать с этим дальше;
– много мелких доработок в играх, из важного: обнаружили (спасибо системе мониторинга) и починили утечку памяти в Lua скриптах – неконтролируемо пересоздавались таймеры;
– также я занимался проработкой нового типа датчика и отрисовал перекрестие для крепления пикселей между собой, уже заказали изготовление формы для литья;
– а ещё выцепили с аукциона крутой домен pixel.quest за 100 тыс. руб. 😎

#дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Свои сервера и инфраструктура

Выше я уже начинал рассказывать про общую архитектуру проекта, этот пост является своего рода продолжением и содержит чуть более подробную схему структуры наших серверов:

– у нас открытая система разработки игр, это очень важный пункт, но который не все до конца понимают: во-первых у нас есть визуальный конструктор игр Пол–это лава, где любой скучающий администратор может попрактиковаться в покадровой отрисовке игры; а во-вторых у нас есть собственный онлайн редактор для разработки игровых сценариев на простом скриптовом языке Lua, который может освоить любой толковый школьник за несколько вечеров, при этом исходный код наших игр публично открыт в репозитории на GitHub, что делает обучение ещё проще. Всё это даёт возможность нам (и вам, при желании) легко, быстро и дёшево разрабатывать новые игры и постоянно пополнять коллекцию;
– недавно настроенный асинхронный сбор событий с локаций позволяет получать статистику по сыгранным играм, что важно для анализа популярности игр, а также контроля франчайзи;
– через себя мы связываем клиентов из Сэйлбота с конкретными заказами, что позволяет делать интересные интеграции с опросами для контроля качества, как-нибудь расскажу об этом отдельно.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Continuous Integration & Delivery

В разработке ПО, Continuous Integration / Continuous Delivery (или CI/CD) — это комбинация непрерывной интеграции и непрерывного развертывания программного обеспечения в процессе разработки. CI/CD объединяет разработку, тестирование и развёртывание приложений.

Вот так незамысловато на схеме выглядят наши текущие CI/CD процессы в компании для доставки обновлений ПО на сервера и локации. Разработчик пишет код и пушит его на GitHub, гитхаб автоматически или по пинку (для локаций) запускает сборку ПО на специальном раннере в нашей VPN сети, который в свою очередь раскидывает это по серверам и локациям.

В перспективе хочется настроить подобный процесс и для репозитория игр pixel-games для мгновенной и, главное, автоматической доставки обновлений игр партнёрам, но это потребует пересмотра и организации процесса тестирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Дайджест разработки за сентябрь

– Огромный фокус всё ещё на новом интерфейсе управления: уже сделали его основным, но темп разработки чуть снизился, т.к основной фронтенд-разработчик временно убыл на военные сборы. Нашли подмену на part-time, втягивается;
– Добавили в Сэйлбота интересную интеграцию с нашим бэкендом: теперь просьба пройти опрос после игры привязывается к конкретному заказу, что позволяет контролировать качество работы администраторов;
– Занимался усовершенствованием настенной кнопки. Переразвёл печатную плату и отрисовал новый светорассеивающий колпак, заказали производство новой формы для литья и комплект тестовых образцов;
– Получили с производства и включили прототип контроллера для управления светом в игровой, о котором уже писал ранее, осталось интегрировать его в интерфейс управления и добавить эффектов в игры;
– Заказали изготовление разных тестовых образцов нового датчика, надеюсь сможем выбрать достойный вариант и, наконец, закрепить пиксели между собой и избавиться от проблемы сдвигов и залипаний;
– Подняли в своей VPN сети GitHub action runner для сборки и доставки обновлений ПО на сервера и локации, см. пост про CI/CD чуть выше;
– Тестировали новый джойстик с USB dongle адаптером, теперь в некоторых играх можно отдать управление человеку;
– Занимался электроникой и программированием нового пикселя, переписал протокол передачи и расширил палитру цветов. По задумке пиксель теперь самостоятельный и не требует отдельного блока связи и объединения в сегменты по 9 шт;
– Небольшие инфраструктурные оптимизации, связанные с логированием и метриками, чтобы подольше не вылезать за лимиты аккаунта облачной Grafana... "экономика должна быть экономной" (с);
– Начали делать новый сервис для хранения фотографий и рассылки их клиентам за отзыв. Этот же сервис в последующем будем использовать для контроля качества и сбора видеоотчётов с локаций;
– Доделали API для Мира Квестов, в следующем месяце попробуем интегрироваться;
– Разработали и тестируем новую игровую механику на скорость реакции, а также по мелочам дорабатывали и улучшали существующие игры.

#дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
💰 Итоги сентября: 5,0 млн. руб. (+25% к августу)

Топ 3 локации:
Москва2 (Серп), загрузка 32%:
– выручка 1 225 265 руб.
– расходы 855 028 руб.
– прибыль 370 237 руб.
Москва1 (Комс), загрузка 32%:
– выручка 953 210 руб.
– расходы 681 863 руб.
– прибыль 271 347 руб.
Новосибирск,
загрузка 26%:
– выручка 1 261 700 руб.
– расходы 1 203 527 руб.
– прибыль 58 173 руб.


🤔 Примечания:
– Прошёл ровно год с момента запуска нашей первой локации в Москве 🎉 и ровно за год она окупила инвестиции в своё строительство, что является неплохим результатом!
– По выручке сентябрь выдался хуже, чем мы рассчитывали: очень сильно сказывается блокировка YouTube, потеряли огромный процент органического трафика, активно прорабатываем новые каналы привлечения клиентов;
– В сентябре установили оборудование в городах Самара и Томск. Самара открылась по плану 1 октября, а в Томске ребята доделывают ремонт и тоже готовятся к открытию в этом месяце. Ближайшие на очереди к запуску Нижний Новгород и Краснодар;
– Города активно разбирают, с октября подняли размер паушального взноса на 200 тыс. руб. 😉

Напоминаю, что цифры по всем локациям можно посмотреть здесь.

#итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
📣 На пути к миллиарду: строим настоящую IT-компанию вокруг подвижных детских игр “Пол – это лава” и “Море волнуется”

Читать на: vc.ru | habr
Please open Telegram to view this post
VIEW IN TELEGRAM