На прошлой неделе запустили две новые локации: в Санкт-Петербурге и в Москве! Дизайн и ремонт получились просто супер! Кто был на первой локации в Москве, посетив вторую, точно кайфанёт
На каждой локации предусмотрено по две просторных лаунж-зоны с возможностью объединения в единое пространство. День рождения или корпоратив на 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
🔥11 9❤7👍2👾1
Москва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
👍22 10❤6🔥3
Я тут понял, что очень мало рассказываю про нашу разработку и про то, сколько вещей на самом деле делается ежедневно, а т.к мы в компании придерживается открытой политики, решил сделать отдельную рубрику #дайджест и делиться ходом разработки публично. Пусть отчасти это будут совсем минорные доработки, но это тоже работа, она тоже важна для качества продукта, но не всегда заметна для клиентов, партнеров и часто даже для нас самих...
Итак, что было сделано в августе:
– главный фокус был на разработке нового интерфейса управления, переработали всё вдоль и поперёк, скоро сделаю небольшой обзор, как он сейчас выглядит и что умеет;
– разработан специальный прокси-сервис для 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
❤17👍9🔥8🆒2🤯1🤪1👾1
Выше я уже начинал рассказывать про общую архитектуру проекта, этот пост является своего рода продолжением и содержит чуть более подробную схему структуры наших серверов:
– у нас открытая система разработки игр, это очень важный пункт, но который не все до конца понимают: во-первых у нас есть визуальный конструктор игр Пол–это лава, где любой скучающий администратор может попрактиковаться в покадровой отрисовке игры; а во-вторых у нас есть собственный онлайн редактор для разработки игровых сценариев на простом скриптовом языке Lua, который может освоить любой толковый школьник за несколько вечеров, при этом исходный код наших игр публично открыт в репозитории на GitHub, что делает обучение ещё проще. Всё это даёт возможность нам (и вам, при желании) легко, быстро и дёшево разрабатывать новые игры и постоянно пополнять коллекцию;
– недавно настроенный асинхронный сбор событий с локаций позволяет получать статистику по сыгранным играм, что важно для анализа популярности игр, а также контроля франчайзи;
– через себя мы связываем клиентов из Сэйлбота с конкретными заказами, что позволяет делать интересные интеграции с опросами для контроля качества, как-нибудь расскажу об этом отдельно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤓5🔥4❤1
В разработке ПО, Continuous Integration / Continuous Delivery (или CI/CD) — это комбинация непрерывной интеграции и непрерывного развертывания программного обеспечения в процессе разработки. CI/CD объединяет разработку, тестирование и развёртывание приложений.
Вот так незамысловато на схеме выглядят наши текущие CI/CD процессы в компании для доставки обновлений ПО на сервера и локации. Разработчик пишет код и пушит его на GitHub, гитхаб автоматически или по пинку (для локаций) запускает сборку ПО на специальном раннере в нашей VPN сети, который в свою очередь раскидывает это по серверам и локациям.
В перспективе хочется настроить подобный процесс и для репозитория игр pixel-games для мгновенной и, главное, автоматической доставки обновлений игр партнёрам, но это потребует пересмотра и организации процесса тестирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤓4⚡2❤1
– Огромный фокус всё ещё на новом интерфейсе управления: уже сделали его основным, но темп разработки чуть снизился, т.к основной фронтенд-разработчик временно убыл на военные сборы. Нашли подмену на part-time, втягивается;
– Добавили в Сэйлбота интересную интеграцию с нашим бэкендом: теперь просьба пройти опрос после игры привязывается к конкретному заказу, что позволяет контролировать качество работы администраторов;
– Занимался усовершенствованием настенной кнопки. Переразвёл печатную плату и отрисовал новый светорассеивающий колпак, заказали производство новой формы для литья и комплект тестовых образцов;
– Получили с производства и включили прототип контроллера для управления светом в игровой, о котором уже писал ранее, осталось интегрировать его в интерфейс управления и добавить эффектов в игры;
– Заказали изготовление разных тестовых образцов нового датчика, надеюсь сможем выбрать достойный вариант и, наконец, закрепить пиксели между собой и избавиться от проблемы сдвигов и залипаний;
– Подняли в своей VPN сети GitHub action runner для сборки и доставки обновлений ПО на сервера и локации, см. пост про CI/CD чуть выше;
– Тестировали новый джойстик с USB dongle адаптером, теперь в некоторых играх можно отдать управление человеку;
– Занимался электроникой и программированием нового пикселя, переписал протокол передачи и расширил палитру цветов. По задумке пиксель теперь самостоятельный и не требует отдельного блока связи и объединения в сегменты по 9 шт;
– Небольшие инфраструктурные оптимизации, связанные с логированием и метриками, чтобы подольше не вылезать за лимиты аккаунта облачной Grafana... "экономика должна быть экономной" (с);
– Начали делать новый сервис для хранения фотографий и рассылки их клиентам за отзыв. Этот же сервис в последующем будем использовать для контроля качества и сбора видеоотчётов с локаций;
– Доделали API для Мира Квестов, в следующем месяце попробуем интегрироваться;
– Разработали и тестируем новую игровую механику на скорость реакции, а также по мелочам дорабатывали и улучшали существующие игры.
#дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍7🤓3
Топ 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
🎉19 7🔥6❤1👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
vc.ru
На пути к миллиарду: строим настоящую IT-компанию вокруг подвижных детских игр “Пол – это лава” и “Море волнуется” — Разработка…
Меня зовут Анатолий и я простой инженер из Смоленска. Наш бизнес родился на VC полтора года назад. Я тогда даже и не думал, как далеко это зайдёт и, тем более, что это может стать IT-компанией! Где оффлайн квест, а где IT-компания? Сегодня хочу простым языком…
🔥20👍10❤5
This media is not supported in your browser
VIEW IN TELEGRAM
🎮 Управление геймпадом
Ранее взаимодействие с игрой происходило только через физические нажатия на пиксели или настенные кнопки. Теперь мы добавляем в игры возможность влиять на игровой сценарий с помощью геймпада!
Это открывает ряд возможностей для разнообразия игровых механик:
– игрок с геймпадом управляет змейкой и пытается съесть яблоки и остальных участников;
– игрок с геймпадом выступает в роли Пакмана и мешает другим игрокам собирать кристаллы в лабиринте;
– игрок с геймпадом двигает блоки с лавой или мосты, не давай другим игрокам спокойно выполнять задания;
– сюда же относится пинг-понг, всякие перестрелки и вышибалы: уже есть поддержка крутой механики "Уклонись", где надо убегать от разных эффектов! Пишите свои идеи в комментариях.
Из интересного: сейчас тестируем решение по выводу видеопотока с камеры на проектор лаунж-зоны с минимальной задержкой, чтобы можно было играть, не вставая с дивана. Сценарий "родители против детей"!
Ранее взаимодействие с игрой происходило только через физические нажатия на пиксели или настенные кнопки. Теперь мы добавляем в игры возможность влиять на игровой сценарий с помощью геймпада!
Это открывает ряд возможностей для разнообразия игровых механик:
– игрок с геймпадом управляет змейкой и пытается съесть яблоки и остальных участников;
– игрок с геймпадом выступает в роли Пакмана и мешает другим игрокам собирать кристаллы в лабиринте;
– игрок с геймпадом двигает блоки с лавой или мосты, не давай другим игрокам спокойно выполнять задания;
– сюда же относится пинг-понг, всякие перестрелки и вышибалы: уже есть поддержка крутой механики "Уклонись", где надо убегать от разных эффектов! Пишите свои идеи в комментариях.
Из интересного: сейчас тестируем решение по выводу видеопотока с камеры на проектор лаунж-зоны с минимальной задержкой, чтобы можно было играть, не вставая с дивана. Сценарий "родители против детей"!
🔥25👍7 4👏1🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
Вы по ночам спите? А я вот нет...
Вот таким образом, по ночам, пока нет посетителей, приходится отлаживать разные алгоритмы работы программы на реальном железе.
Из-за использования CAN шины и событийной модели нажатия есть определённый потолок для нагрузки, которую способна переварить Малинка и Lua машина, а т.к я сейчас работаю над большим рефакторингом игрового контроллера, приходится постоянно следить за оптимальностью работы переписанных алгоритмов.
А ещё будем участвовать в выставке BuyBrand Expo 2024:
Кто хочет лично познакомиться, заходите в гости, всё покажем / расскажем
Please open Telegram to view this post
VIEW IN TELEGRAM
😴14🔥9👍7❤3🤯1
Основной сайт | Карта городов | Информация по франшизе | Выручка по городам | Канал в MAX
Бизнес предложения и запросы – @TsvetkovR
По техническим вопросам – @AnatoliyB
– [vc] Пол — это лава: история разработки прототипа интерактивной светодиодной игровой платформы
– [т-ж] Как открыть пиксельный квест в Москве: потратили на запуск 7 млн. рублей
– [vc] Pixel Quest: от прототипа до игрового заведения за полгода
– [habr] Собственная система разработки игр и открытый исходный код
– [vc] Результаты проекта спустя год после открытия
– [vc] Как запустить производство в поднебесной и сэкономить 1,4 млн
– [habr] Как мы с нуля организовали производство в Китае
– [vc] С нуля до серебрянной кнопки YouTube
– [habr] IT-инфраструктура вокруг подвижных детских игр “Пол – это лава” и “Море волнуется”
– [habr] Pixel Table: от идеи до реализации интерактивного пиксельного стола
– Эрик Калоян (Warpoint) | Подкаст Володича
– [vc] Часть 1: Warpoint
– [vc] Часть 2: WOW!Land
– [vc] Часть 3: EXTREME KIDS
– [vc] Часть 4: Another World
– [vc] Часть 5: COOKnRUN
– [vc] Часть 6: Avatar Arena & Warstation
– [vc] Часть 7: Хозяюшка
– [vc] Часть 8: Colizeum
– [vc] Часть 9: Портал
– [vc] Часть 10: CyberX
2023: Окт | Ноя
2024: Янв | Фев | Мар | Апр | Май | Июн | Июл | Авг | Сен | Окт | Ноя | Дек
2025: Янв | Фев | Мар | Апр | Май | Июн | Июл | Авг | Сен | Окт | Ноя | Дек
2026: Янв
2023: Май | Сен | Дек
2024: Янв | Фев | Мар | Апр | Май | Июн | Июл | Авг | Сен | Окт | Ноя | Дек
2025: Янв | Фев | Мар | Апр | Май | Июн | Июл | Авг | Сен | Окт | Ноя | Дек
2026: Янв
🕹 А еще у нас есть хештег #наши_игры
Please open Telegram to view this post
VIEW IN TELEGRAM
pixelquest.ru
Pixel Quest – квест игры на световом полу: Пол – это лава, Классики, Море волнуется и другие. Сайт управляющей компании.
Корпоративы, детские праздники, день рождения, выпускные, свободные игры. Заглядывайте в Pixel Quest!
🔥14👍9❤6
Pixel Quest – канал о проекте pinned «❓ О НАС И НАВИГАЦИЯ ПО КАНАЛУ 🆒 Pixel Quest – первая и крупнейшая в России сеть игровых на световом пиксельном полу! Пятые в рейтинге ТОП-франшиз в категории «Развлечения и досуг» 🏆 Резиденты Сколково, внесены в реестр Российского программного обеспечения…»
– Отладка, отладка и ещё раз отладка: постепенно устраняем проблемы в новом интерфейсе управления, коих накопилось предостаточно, а ко всему прочему сказался ещё и рефакторинг игрового контроллера, см. далее;
– Продолжаю работать над Pixel v3: это оказалась гораздо сложнее, чем я думал – пришлось полностью переписать структуры и методы работы с виртуальным полом, чтобы иметь возможность поддерживать и легко переключаться между разными версиями оборудования: нашим первым (мск1), вторым (мск2 и партнёры), третьим (будущая версия) и несколькими видами китайского оборудования, поддержку которого мы планируем добавить в ближайшем времени;
– Почти интегрировали контроллер управления потолочным светом: электроника работает, осталось доработать интерфейс для непосредственного управления с планшета и прокинуть методы в игры;
– Начали перетаскивать IT-инфраструктуру в Yandex облако, т.к стало уже сложновато управлять своим мини-зоопарком разрозненных серверов, в облаке это будет делать гораздо проще и эффективнее, правда чуть дороже. Надеюсь, сможем покрыть часть затрат за счёт грантов Сколково;
– Дописали новый сервис photo-manager, который будет отвечать за хранение фотографий и видео с локаций в облачном хранилище S3, занимаемся его внедрением в интерфейс управления локацией. Будем втаскивать S3 в другие части системы для хранения аудиодорожек и картинок к играм;
– Задизайнили архитектуру и приступили к реализации лидербордов и турниров: скоро можно будет соревноваться с другими посетителями Pixel Quest по всей стране, видеть свои результаты на сайте и получать оповещения от бота, что вас кто-то переиграл;
– Написали свой мини-велосипед (я б сказал "самокат") для хранения ключей/паролей/лицензий от локаций и внедрили его в CI/CD. Дело в том, что бинарник под каждую локацию собирается со своим уникальным набором флагов и секретов, это необходимо для разграничения доступов. Втаскивать готовое enterprise решение в виде отдельного сервиса HashiCorp Vault пока не хотелось, сделали ручку для одного из своих сервисов, который уже отвечал за эти секреты и лицензии;
– Нашли оптимальное решение для организации видеотрансляции из игровой с минимальной задержкой для управления через джойстик;
– Разработали к Хэллоуину новую тематическую игру Туман и заставку с тыквой 🎃
#дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
🎃12👍8❤3👾3❤🔥1👨💻1
Топ 3 локации:
Москва2 (Серп), загрузка 40%:
– выручка 1 439 400 руб.
– расходы 981 275 руб.
– прибыль 458 125 руб.
Новосибирск, загрузка 29%:
– выручка 1 407 650 руб.
– расходы 1 061 071 руб.
– прибыль 346 579 руб.
Москва1 (Комс), загрузка 47%:
– выручка 1 268 850 руб.
– расходы 823 873 руб.
– прибыль 444 977 руб.
Цифры по всем локациям можно посмотреть здесь 👈
– С пополнением нас: в этом месяце открылись Самара и Томск! А мы тем временем нашли новое помещение, подписали аренду и начали подготовку к строительству своей третьей локации в Москве, на этот раз в ТЦ;
– Продолжаем качать маркетинг и придумываем разные активности: к Дню Рождения первой локации провели большое открытое мероприятие с конкурсами и аниматорами, все остались очень довольны;
– Добавили новый тариф под мероприятия с полным закрытием локации и уже получили несколько бронирований с чеками по 80 тыс. руб. Планировка локации позволяет вмещать до 30 человек!
#итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍10 4❤2
Даты: 5–7 ноября 2024
Время: 10:00 – 18:00 (7 ноября до 16:00)
Место: Москва, ЦВК Экспоцентр, Краснопресненская наб., 14, Павильон 1
Стенд: А013 (справа от главного входа)
Кто хочет познакомиться лично, заходите в гости, всё покажем / расскажем
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня немного расскажу, как мы организуем монтаж электрических щитов для питания и управления полом:
– на одной из стен под защитной стеновой панелью монтируется вот такой вот щит 60х60 см, всё аккуратно спрятано от посторонних глаз и детских шаловливых ручек;
– в этом щите из расчета не менее 8 Вт на пиксель устанавливается 8 блоков питания, каждый по 400 Вт, суммарной мощностью 3.2 кВт, каждый со своим отдельным автоматом;
– там же располагается и игровой контроллер в виде миниатюрной Raspberry Pi, которая всем управляет;
– важный момент: для отвода тепла щит подключается к вытяжной вентиляции, а информация по температуре слетается к нам в систему мониторинга с оповещением о перегревах 🌡️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19⚡5❤3🔥2🤩1
Ровно год он не давал мне покоя и существовал с первого дня открытия первой локации. Проявлялось это в зависании 4 из 9 пикселей сегмента и случалось достаточно редко в случайные моменты времени, что не позволяло воспроизвести его "на столе" и отладить. Я списывал проблему на помехи в сети до тех пор, пока ситуация заметно не ухудшилась. Это дало первые зацепки, и я начал копать...
Первой зацепкой был недавно проведённый рефакторинг программного адаптера. При детальном рассмотрении я заметил, что я случайно перешёл от синхронной обработки команд для CAN шины к асинхронной, т.е теперь команда на условную дефектовку или перезагрузку могла вклиниться прямо между пакетной передачей кадров с цветом. Получается, проблема значительно усилилась при "близком" расположении двух разных команд для одного и того же сегмента.
Обладая этой информацией, я смог воспроизвести ситуацию в отладчике микроконтроллера и точно увидеть проблемное место: из-за наложения команд зависала I2C шина связи с ШИМ контроллером и сама уже не выходила из этого состояния до аппаратной перезагрузки микроконтроллера. Чтобы не прошивать все сегменты всех открытых локаций, проблему я купировал на программном уровне игрового контроллера искусственной задержкой между командами, а новая партия электроники для Иркутска и Владикавказа уже производится с новой прошивкой.
TL;DR короче говоря, с каждым днём делаем продукт чуточку качественней
Please open Telegram to view this post
VIEW IN TELEGRAM
👏21👍14🤯5🎉3🤓2