Media is too big
VIEW IN TELEGRAM
Видео as-is из внутренней переписки от Жени Лукьяненко.
Он сейчас после долгого заплыва в написание нативного звука (мы намучились с "готовыми" библиотеками и написали сами, напрямую взаимодействуя с ОС, а т.к. они все разные, то пришлось повозиться) вернулся в тему голосового чата. Это фундаментальная вещь, т.к. ТС — это в первую очередь про людей и общение, а игры — это всего лишь повод. Мы ещё в Синкарио прикручивали всякие тоже "готовые" движки, и тоже натрахались от души. Есть, конечно, качественные решения, но все коммерческие, с поминутной оплатой — разоримся. Да и это никак не вяжется с принципом максимальной суверенности: тут целый веер рисков, от родных запретителей до санкций, технических проблем, пересмотра монетизации, да и просто закрытия сервиса (RIP Adobe Flash).
Мы уже не раз делали подходы к станку, подключали WebRTC, расковыривали его, разбирали на части и приклеивали glue-прокладками. В этот раз Евгений настроен решительно — в Танках должен быть качественный голосовой чат прямо в игре (с пространственным позиционированием и прочими вкусняшками). Это и в остальные наши игры пойдёт — штука платформенная.
Параллельно развиваем дев-панель (он как раз работает над отрисовкой PCM-данных с микрофона) — это такой слой поверх работающей игры, который позволяет всякое разное увидеть и покрутить, но при этом не попадает в финальный релиз, т.е. не аффектит вообще сам продакшен-код. Очень удобный формат, надо будет как-нибудь по-подробнее рассказать.
Кстати, коллеги-девелоперы, если у кого-то из вас есть опыт в кодеках и всяческом шумоподавлении/войсактивейшн и прочем — буду рад помощи: от дельных советов, до потрудиться с нами над этим.
Он сейчас после долгого заплыва в написание нативного звука (мы намучились с "готовыми" библиотеками и написали сами, напрямую взаимодействуя с ОС, а т.к. они все разные, то пришлось повозиться) вернулся в тему голосового чата. Это фундаментальная вещь, т.к. ТС — это в первую очередь про людей и общение, а игры — это всего лишь повод. Мы ещё в Синкарио прикручивали всякие тоже "готовые" движки, и тоже натрахались от души. Есть, конечно, качественные решения, но все коммерческие, с поминутной оплатой — разоримся. Да и это никак не вяжется с принципом максимальной суверенности: тут целый веер рисков, от родных запретителей до санкций, технических проблем, пересмотра монетизации, да и просто закрытия сервиса (RIP Adobe Flash).
Мы уже не раз делали подходы к станку, подключали WebRTC, расковыривали его, разбирали на части и приклеивали glue-прокладками. В этот раз Евгений настроен решительно — в Танках должен быть качественный голосовой чат прямо в игре (с пространственным позиционированием и прочими вкусняшками). Это и в остальные наши игры пойдёт — штука платформенная.
Параллельно развиваем дев-панель (он как раз работает над отрисовкой PCM-данных с микрофона) — это такой слой поверх работающей игры, который позволяет всякое разное увидеть и покрутить, но при этом не попадает в финальный релиз, т.е. не аффектит вообще сам продакшен-код. Очень удобный формат, надо будет как-нибудь по-подробнее рассказать.
Кстати, коллеги-девелоперы, если у кого-то из вас есть опыт в кодеках и всяческом шумоподавлении/войсактивейшн и прочем — буду рад помощи: от дельных советов, до потрудиться с нами над этим.
🔥15👍2
Media is too big
VIEW IN TELEGRAM
Скрываем порты от сканеров. Режим "черной дыры" для сервера. Что может дать злоумышленнику информация об открытых портах и как усложнить ему задачу.
🔥18🙏4
Media is too big
VIEW IN TELEGRAM
В базе игра уже просто космос! Парни добавили динамические тени к прошлому плей-тесту (на маке, правда словили баг прикольный эффект персональной тучи), а в этом видосе Серёга рассказывает о работе над коллизией камеры.
🔥17👍6❤4
Forwarded from Evgeny Lukyanenko
Разбираюсь с Rust-портом WebRTC Aec3.
Приходится сверяться с C++ оригиналом - насколько актуален порт, и за прояснениями в комментариях, которые важны для понимания работы, но местами потеряны при переносе.
Задача сейчас - визуализировать в риал-тайме работу узлов алгоритма.
Начиная с оценки задержки - "длины эхо-пути".
Это требует доработки уже существующего в оригинале инструмента диагностики, который пишет данные в файл - а сейчас должен выводить на Dev-панель в рантайме.
В связи с этим смотрю git-blame.
На 93й строчке - нервный смех.
Почему-то, это смешно...
Приходится сверяться с C++ оригиналом - насколько актуален порт, и за прояснениями в комментариях, которые важны для понимания работы, но местами потеряны при переносе.
Задача сейчас - визуализировать в риал-тайме работу узлов алгоритма.
Начиная с оценки задержки - "длины эхо-пути".
Это требует доработки уже существующего в оригинале инструмента диагностики, который пишет данные в файл - а сейчас должен выводить на Dev-панель в рантайме.
В связи с этим смотрю git-blame.
На 93й строчке - нервный смех.
Почему-то, это смешно...
😁18🔥1
Media is too big
VIEW IN TELEGRAM
Teenage Mutant Ninja Ta-anks
Teenage Mutant Ninja Ta-anks
Teenage Mutant Ninja Ta-anks
Heroes in a half-shell
Tank power!
#TMNT
Teenage Mutant Ninja Ta-anks
Teenage Mutant Ninja Ta-anks
Heroes in a half-shell
Tank power!
#TMNT
🔥9😁4❤2
Media is too big
VIEW IN TELEGRAM
Саша продолжает синтезировать звуки. На этот раз затестили несколько вариантов взрыва танков.
🔥9❤4👍1
Media is too big
VIEW IN TELEGRAM
Новая красота от Даниила, карта "Лагерь". Побродили с ним по закаулкам и пообщались о творческом процессе
❤13🔥10
Media is too big
VIEW IN TELEGRAM
Рубрика "Воскресная информатика": работаем с хранимыми данными в Linux.
Меняем порт в файле - программа мгновенно реагирует. Вообще хотел рассказать про низкоуровневую работу с событиями файловых систем, но для начала решил сделать вводную: про текстовые и бинарные данные, про ascii, про od, xxd, dd и немножко про vim. Мы работаем с данными напрямую, соответственно показываю как это выглядит на моём рабочем столе или на сервере (по сути одно и то же).
Зубрам врятли будет интересно, материал скорее для начинающих и интересующихся.
Меняем порт в файле - программа мгновенно реагирует. Вообще хотел рассказать про низкоуровневую работу с событиями файловых систем, но для начала решил сделать вводную: про текстовые и бинарные данные, про ascii, про od, xxd, dd и немножко про vim. Мы работаем с данными напрямую, соответственно показываю как это выглядит на моём рабочем столе или на сервере (по сути одно и то же).
Зубрам врятли будет интересно, материал скорее для начинающих и интересующихся.
👍11🔥11❤1👏1
Forwarded from Сергей Антонов
Media is too big
VIEW IN TELEGRAM
Теперь можно поиграться с dev на мобиле! Правда есть еще глюки всякие. И тройной тач не всегда срабатывает. Все исправим.
❤9👍4🔥1🥰1
Media is too big
VIEW IN TELEGRAM
Работаю над удалением лишних барьеров между игроками 👾
Добавляю режим зрителя, который позволит смотреть любые открытые битвы. Карты загружаются почти мгновенно, поэтому можно будет буквально баттл-скроллить в поисках интересного матча.
Добавляю режим зрителя, который позволит смотреть любые открытые битвы. Карты загружаются почти мгновенно, поэтому можно будет буквально баттл-скроллить в поисках интересного матча.
🔥17❤5👍4
Media is too big
VIEW IN TELEGRAM
Потестили с Сашей звук взрыва для грома (планируется подрывать каждый танчик по-разному, такая гипотеза). Звучит мясисто, чувствуется вес!
В видосе можно наглядно увидеть весь состав слоёв и ту специю, которая придаёт индивидуальный характер определённой модели.
В видосе можно наглядно увидеть весь состав слоёв и ту специю, которая придаёт индивидуальный характер определённой модели.
❤11🔥2🤯1🤣1🏆1🤓1
Media is too big
VIEW IN TELEGRAM
Серёга рассказал о разных вариантах реализации джойстика для мобилы и показал, что там творится в коде
🔥11❤1
Media is too big
VIEW IN TELEGRAM
С прошлого апдейта Лагерь прилично так изменился. Даниил каждую неделю что-то тюнит с Лёшей, появилась разбивка по материалам, добавляются детали к объектам и чайки перемещаются с крыши на крышу. Жизнь кипит!
🔥13😍3❤1
Media is too big
VIEW IN TELEGRAM
Серёга рассказывает про декодирование видео. Зачатки будущего видеочата
🔥10👍2
Media is too big
VIEW IN TELEGRAM
Раз, два, третий подход к снаряду "WebRTC AEC3".
Любой новый "кирпич", интегрируемый в фундамент собственной экосистемы, несёт в себе потенциальные риски своей непрозрачности.
WebRTC здесь не исключение.
И как известно:
"Нельзя управлять тем, что нельзя измерить (с)".
Если мы не видим, что происходит внутри отдельно взятого узла (конвейера медиапотока) в каждый момент времени, мы не контролируем стабильность работы ВСЕЙ экосистемы.
Чтобы подчинить себе AEC3, нужно иметь возможность в реальном времени "снимать" и анализировать его ключевые метрики.
Наш подход в работе с исходниками предполагает возможность такого сквозного мониторинга "из коробки" - в формате аддитивного дополнения основной кодовой базы тематическими DEV-панелями.
Дающими возможность, протестировать работу отдельных узлов, без отрыва от основного производства.
И даже в пылу игрового процесса.
И всё это, как нельзя кстати, рифмуется с R&D Сергея по теме видео-кодеков для будущего мессенджера экосистемы.
Любой новый "кирпич", интегрируемый в фундамент собственной экосистемы, несёт в себе потенциальные риски своей непрозрачности.
WebRTC здесь не исключение.
И как известно:
"Нельзя управлять тем, что нельзя измерить (с)".
Если мы не видим, что происходит внутри отдельно взятого узла (конвейера медиапотока) в каждый момент времени, мы не контролируем стабильность работы ВСЕЙ экосистемы.
Чтобы подчинить себе AEC3, нужно иметь возможность в реальном времени "снимать" и анализировать его ключевые метрики.
Наш подход в работе с исходниками предполагает возможность такого сквозного мониторинга "из коробки" - в формате аддитивного дополнения основной кодовой базы тематическими DEV-панелями.
Дающими возможность, протестировать работу отдельных узлов, без отрыва от основного производства.
И даже в пылу игрового процесса.
И всё это, как нельзя кстати, рифмуется с R&D Сергея по теме видео-кодеков для будущего мессенджера экосистемы.
👍7❤6🤯2
Media is too big
VIEW IN TELEGRAM
Миша делится процессом доработки UI, в котором отобразится список игроков, можно будет скроллить битвы и появится возможность залететь спектатором прямо в бой, как на стрим. Ну, а если есть свободный слот, то и погамать сразу.
👍8🔥6