Как устроен сетевой код в играх | Неткод, мультиплеер, геймдев | Podlodka Podcast
Ғылым және технология
Любой мультиплеер - это набор очень хитрых иллюзий, которые создают ощущение одновременной игры в окружении, где ее принципиально не может быть. Михаил Панин, инженер VR в Meta, а в прошлом техлид популярных мобильных онлайн-игр, рассказал про то, как решаются сложнейшие задачи синхронизации состояний между игроками и сервером, и как программисты сетевого кода оперируют таймлайнами, по запутанности близкими к фильмам Нолана.
Если вам интересны разработка игр в целом и мультиплеерный код в частности - выпуск для вас!
❓ Хочешь обсудить выпуск или задать вопрос эксперту? Вступай в наш Telegram-чат: t.me/podlodka
📰 Не любишь чаты, но хочешь оставаться в курсе дел и прокачивать свой IT кругозор? Подписывайся на наш Telegram-канал: там публикуются анонсы новых выпусков, а в комментах идут ценные и горячие обсуждения! 5 тысяч опытных IT-специалистов уже с нами: t.me/podlodkanews
Полезные ссылки:
- Статьи Михаила на Хабре про сетевой код
habr.com/ru/users/marsermd/
- KZread Михаила
/ @michaelpanin
- Инстаграм Михаила
/ marsermd
- Подборка материалов про сетевой код в играх
github.com/ThusSpokeNomad/Gam...
- Доклад про мультиплеер от Destiny
www.gdcvault.com/play/1022246...
- Доклад про latency в Call of Duty
gdcvault.com/play/1023220/Fig...
- GDC Networking Scripted Weapons and Abilities in 'Overwatch'
• GDC Networking Scripte...
- Replay Technology in Overwatch: Kill Cam, Gameplay, and Highlights
• Replay Technology in O...
- Networking Scripted Weapons and Abilities in Overwatch
• Networking Scripted We...
- GafferOnGames
gafferongames.com/
Тайм-коды:
00:00 О чём выпуск?
07:11 Виртуальная реальность и мультиплеер
12:50 Проблемы с синхронизацией в играх
19:10 Создание иллюзии одновременности
25:40 Обсуждение механики стрельбы в играх
44:05 Проблемы с иллюзией одновременности
52:04 Проблемы с пингом в играх
01:06:48 Оптимизация для разных пинов
01:13:15 Репликация мира и протоколы общения
01:17:48 Виды мультиплеера и проблемы с ними
01:31:40 Боты в мультиплеерных играх
01:36:14 Тестирование мультиплеерных игр
01:45:38 Борьба с читерами
01:55:03 Новые технологии и жанры
02:01:53 Рекомендации для изучения сетевого кода
02:04:50 Заключение
Пікірлер: 32
Тоже работаю около сетевого программирования, редко встретишь того кому нравится, очень рад был услышать настолько увлеченного человека как Михаил. Интересно почему после хардкора такого вы ушли в VR, я в этом ничего не понимаю, но кажется что в разы проще чем сеть.
всегда слушал только в аудио, а у вас, оказывается, не только приятный голос, но и приятная внешность
Топовый контент на ютубе! Года три не слушал вас, но вот ютуб формат живее и инстереснее!
@MichaelPanin
18 күн бұрын
❤
Очень интересный позитивный гость. Спасибо за выпуск)
@MichaelPanin
28 күн бұрын
❤️
Топовый гость. Топовый контент. Топовый канал.
@MichaelPanin
18 күн бұрын
❤
Ставлю лайк за фокус
@MichaelPanin
18 күн бұрын
Спасибки:)
Не знал, что Эрик Бана так хорошо на русском говорит.
Тут можно вспомнить об онлайн шутере THE FINALS. В этой игре есть и интересно реализованная система разрушений зданий и физическое взаимодействие с объектами и движущиеся платформы. Возможно эта игра на данный момент является самым высокотехнологичным мультиплеером.
@MaruiInfantry
3 күн бұрын
Нет, там всё застейжено и засинкано до жопы. Всё рандомизированное - только на клиенте. Физика не синкается.
41:45 19 пропущенных звонков от Кристофера Нолана
51:10 в cs 1.6 игрок не привязан к движущейся платформе. Более того если платформа двигается при этом игрок подпрыгивает с нее и в прыжке висит неподвижно относительно карты, то если ему на пути встретится игрок движущийся на платформе, то этого игрока столкнет с платформы
Есть еще очень интересный доклад про мультиплеер и физику от Rocket League: kzread.info/dash/bejne/p5l5z8t9fZyaeag.html
Как раз начал писать мультиплеерку)
@MichaelPanin
29 күн бұрын
Удачи и большого терпения:)
@millkiway3682
28 күн бұрын
Не свисти
А может подскажете или укажете направление - какие варианты реализации сетевого взаимодействия используются в простых мобильных баттлерах с автобоями в ПВП и метагеймом? Просто REST? Или есть какие-то более правильные подходы? И если REST, то как выйти из ситуации, когда игрок может эмулировать клиент игры чем-то своим, например создать бота, реализующего запросы к серверу?
@MichaelPanin
28 күн бұрын
Авторитарный сервер -- это маст. По сути так как нет интерактивности, можно делать тонкий клиент который только проигрывает отсимулированное на сервере.
2:02:00 Какой сайт озвучен? На слух не слишком понятно)
@MichaelPanin
29 күн бұрын
А, видимо в ютубе нет ссылок. Но на сайте подкаста все ссылки есть.
@MichaelPanin
28 күн бұрын
А ютуб видимо удаляет из комментлв еще ссылки, хаха:) gafferongames ищите в общем.
@smival
28 күн бұрын
@@MichaelPanin не нашел на сайте этот выпуск, только аудио подкасты
@MichaelPanin
28 күн бұрын
хаха, я тут пытаюсь оставить ссылки, но ютуб трёт.
@MichaelPanin
28 күн бұрын
@@smival gaffer on games ищите.
+
Анализ фокуса показал, что мальчик достал из центра две карты, а не одну. Только я не совсем понял как, когда он засунул нормальную карту в середину он вернул ее. То ли засунул под верхнюю карту, а не в середину, то ли вернул, когда не туда не ту карту ложил
Как можно 2 часа так интенсивно давить лыбу? Инфа водянистая.