Carride | Godot 4 multiplayer test
Кстати, на itch-странице выложил новый сетевой вариант того прототипа, за номером 3. Там игроки уже полноценно видят друг друга, а также свои повороты и анимации. Кроме того они теперь могут вести стрельбу по противникам, при которой выстрелы не рисуются, а метод нанесения урона переписан и теперь идёт прямо по выбранной цели (кстати, добавлен прицел на текущую цель, который правда не совсем идеально работает). Противники правда умирают у каждого игрока независимо в сетевой игре, их выстрелы не поражают цель, а остающиеся с них бонусы подбирать нельзя.
В 4-й версии движка организация мультиплеера показалась одновременно проще и сложнее - правила оформления и синтаксис сетевых сигналов и комманд поменялись, вроде и в простую, но не всегда очевидную сторону. С одной стороны здесь можно делать то же самое, а если привыкнуть, то станет проще, однако, в движок также добавили узлы сетевого спавнера и сетевого синхронизатора. Один клонирует указанные префабы по всем клиентам, делая копии сетевой сущности. Другой помещается внутрь этих префабов и можно выбрать, какие из своих параметров он будет передавать прочим клиентам - например, префаб машинки сейчас передаёт на прочие клиенты своё местоположение и поворот. Эти штуки упрощают дело, но для чего-то большего всё-равно нужно лезть в код и разбираться, и не только в нём самом, а ещё и как он должен правильно работать в связке с этими новыми узлами.
Как бы то ни было, набросать какой-то самый базовый мультиплеер с этими инструментами действительно быстрее и в чём-то проще. Поэтому я настроил в данном проекте игру по сети, где до 7 человек может присоединиться к игроку-серверу, запустившему у себя одиночную игру Host. Подключающиеся должны писать в строке IP игрока-сервера, ну и, естественно, быть в одной локальной сети или виртуальной локальной сети. При запуске у себя на ПК в 2 окна строку IP менять не нужно.
Машинка пока у всех одна, стандартная. Большая часть происходящего происходит локально, у каждого игрока. По сети отсылаются только положение и поворот машинок. То есть вы можете видеть прочих играющих, но не сталкиваетесь с ними, не видите как они стреляют сферами-светлячками, открывают двери на уровне, меняют окрас на специальной точке и так далее.
Тестовые билды для windows и linux можно скачать здесь:
Крутяк!
Всё ещё надеюсь на выход вангеров в 3д, с воксельным движком
удачи и надеюсь это окупится, я помню как в уе делал мультиплеер чисто на блюпринтах, думал помру, настолько это сложно было, результат средненький и больше в одиночку я за это не возьмусь
Я не делаю коммерческие проекты и не делаю проекты для Steam (хотя, я бы выкладывал туда что-то как free, но с их политикой отстёгивания средств за каждый свой выложенный проект - спасибо, не надо)
А какой полигонаж у машинок?
Небольшой, я их ещё больше оптимизировал по сравнению с более ранними прототипами. И там всегда остаётся куда ещё снизить. Например, в корпусе базовой машинки, не считая колёс, около 6к полигонов/12к треугольников.
В прочих сравнимо или примерно должно доходить до 17к полигонов/ 33к треугольников, но они пока доступны не в этом приложении, а в сингл-бенчмарке Hexyard. Но это модели в "костяном" стиле, где больше отдельных частей. В паре более классических машинок полигонаж, наоборот, где-то в два раза меньше чем в базовой, то есть примерно 3к faces/6к triangles.
А как у движка со сглаживанием? Просто на скринах выглядит грубовато.