Comments 6
Схема сетевого взаимодействия скорее усложнённая. Каждый с каждым плохо масштабируется - почему бы не начать с клиент-серверной архитектуры?
Рассмотрение клиент-серверной и других архитектур будет позднее. Здесь я пока не поднимал вопрос того, кто как с кем взаимодействует. Посчитал неправильным вставлять в схему то, о чем не было по существу написано ни слова.
Вопросы усложнённости и масштабируемости представленной схемы рождаются только осведомлённостью в них. Кто с этим не знаком, задаваться этими вопросами не станет. В общем понимании "игроки как-то там друг с другом взаимодействуют" – это и отражено на схеме, поэтому она и упрощённая: в плане "смысла", не в плане "топологии соединения".
По мере погружения в новый более сложный контекст будут новые более конкретные схемы.
Материала, где начинают с клиент-серверной архитектуры и без прелюдий, уже написано много, разного уровня сложности. Я знаком с примерным портретом своей ЦА, поэтому делаю попытку зайти с другой стороны, опираясь на их реальные вопросы и в порядке их возникновения.
А можно ссылочек на "Материала, где начинают с клиент-серверной архитектуры и без прелюдий" ? Нет, я серьёзно. Изучаю сейчас NetcodeForEntity (коробочное решение сетевого кода от Unity), и информации - кот наплакал. Есть ролики на YouTube, есть даже готовый шаблон от самого Unity https://discussions.unity.com/t/competitive-action-multiplayer-template-now-released-netcode-for-entities/1573137/10, но вот так, что бы кто-то с объяснениями показал, почему здесь нужно писать вот именно эти строки кода, а в соседнем очень похожем файле - другие, такого руководства я пока не встречал. Имею в виду ECS от Unity, там даже на самом форуме многие жалуется, что это не фреймворк для создания мультиплеера, - а игровой движок внутри движка Unity, настолько он сложный и запутанный
По клиент-серверной архитектуре материала очень много. Вбивание в поисковую строку выдаст множество актуальных ссылок по теме разной степени сложности. С этим проблем никаких нет.
Что касается Netcode For Entities — здесь не подскажу. Не знаком. Весь их DOTS — это сплошной "движок в движке". В production-режиме возможно использовать только Job System и Burst Compiler. По другим элементам DOTS'а я живой информации про реальное использование не встречал. Все только пробуют и ставят обратно на полочку.
Я пробовал их ECS-решение, следил за всеми версиями пока они были в бете. После оф. релиза нравиться больше не стало. Соответственно и в сторону соответствующего Netcode не было смысла смотреть.
Соседняя команда с большей экспертизой по ECS проводила RnD Photon Quantum. В целом, примерно аналогичное решение. Вердикт: прикольно, но излишне сложно. На проектах нашего масштаба использовать слишком неудобно и неоправданно. По итогу взяли Mirror и натянули на свой ECS-фреймворк.
Лезть в NfE имеет смысл только тогда, когда имеется глубокая экспертиза как по ECS, так и по неткоду. Начинать изучение неткода с NfE — на мой взгляд, большая ошибка, которая сильно затормозит и наведёт только больше беспорядка в голове.
У вас ссылка на первую статью битая
Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер