реклама
разместить

Carride v.01_02 | Godot multiplayer test

Carride v.01_02 | Godot multiplayer test

Во-первых, самое элементарное, что не успел добавить в первую сборку - машинки теперь не являются призраками для прочих участников сети и могут сталкиваться.

Игрок, который становится сервером, теперь может выбрать другую модельку машины, кроме базовой. Каждый подключившийся участник получит машинку выбранного типа. До того, чтобы каждый игрок мог выбирать модель самостоятельно, дело пока не дошло - тут, похоже, потребуется перерабатывать структуру подключения.

Синхронизировать уже присутствующие на сцене объекты в Godot 4 оказалось совсем просто - достаточно добавить в префаб узел-синхронайзер и настроить его на передачу позиции и поворота объекта. Так что теперь машинки не только сталкиваются друг с другом, но и все толкаемые ими цилиндры меняют своё состояние в сетевой игре.

<i>Местные цилиндрические бочки - теперь можно на них влиять коллективно.</i><br />
Местные цилиндрические бочки - теперь можно на них влиять коллективно.
<i>Если заглянуть внутрь префаба, то виден узел MultiplayerSynchronizer, который передаёт положение и поворот бочки.</i><br />
Если заглянуть внутрь префаба, то виден узел MultiplayerSynchronizer, который передаёт положение и поворот бочки.

Для того, чтобы лучше разобраться с сетевой структурой я решил добавить сетевой чат и в этот проект, как уже делал с прототипом на Godot 3. В целом, разобраться тоже было делом не слишком сложным, благодаря прошлому опыту, правда тут был нюанс в увеличившемся количестве игроков, а прошлую реализацию я затачивал для двух. Одна из кнопок интерфейса теперь скрывает/показывает окно чата (заодно сбрасывает фокус ввода).

Местная реализация чата через узел NetStore: вешаю его в каждый клиент, внутри - чат. При коннектах он получает свой сетевой идентификатор и может использовать особые функции для отправки каких-либо команд прочим таким узлам. Например, добавление сообщения
Местная реализация чата через узел NetStore: вешаю его в каждый клиент, внутри - чат. При коннектах он получает свой сетевой идентификатор и может использовать особые функции для отправки каких-либо команд прочим таким узлам. Например, добавление сообщения

Из мелочей поправлен кэш материалов - те же выстреливаемые светлячки теперь не вызывают мини-задержку на первом выстреле.

Такие объекты как выстрелы или открывание дверей - пока по сети не синхронизированы, но как минимум что-то выстреливаемое будет синхронизироваться, впоследствии.

Тестовые билды для windows и linux можно скачать здесь:

<i>Естественно, настройки на разных клиентах независимые - у игрока справа графика немного снижена и установлен меньший размер пикселя, на клиенте слева включен волиметрик туман, большая чёткость и прочие улучшения.</i><br />
Естественно, настройки на разных клиентах независимые - у игрока справа графика немного снижена и установлен меньший размер пикселя, на клиенте слева включен волиметрик туман, большая чёткость и прочие улучшения.
Carride v.01_02 | Godot multiplayer test
Carride v.01_02 | Godot multiplayer test

Но это ещё не все. Сетевой прототип иного жанра, на Godot 3, для двух играющих тоже получил некоторые новые функции, обновившись до 4 версии.

Здесь я хотел, чтобы сервер через чат понимал, кто к нему обращается и что-то с этим делал. Для начала я добавил отправку пользователями своих условных идентификаторов - 0 для сервера, 1 для клиента. Теперь на каждом сообщении дописывается идентификатор (правда отправляющий не видит этой цифры). Кроме того, каждый факт выстрела теперь тоже пишется в общий чат, как в некую консоль или лог (здесь уже id стреляющего отображается у всех игроков).

<i>прототип da~Mage, версия с тестом локального мультиплеер��, за номером 4</i><br />
прототип da~Mage, версия с тестом локального мультиплеер��, за номером 4

И раз уж из чата стала вырисовываться некая консоль, то я добавил пару консольных команд - show и hide. Если прописать команду в чат, то моделька игрока соответственно будет показана, или будет скрыта в игре у всех игроков.

Скачать тестовые билды можно тут:

77
реклама
разместить
7 комментариев

За мультиплеер лайк. Такого бы как ты да в юнити…)

1

В Unity я уже был и благополучно оставил его несколько лет назад.

Это сиквел Rock n' Roll Racing?

Приквел :)

1

Планируете выкладывать исходники? Очень помогло бы godot комьюнити

Эмме Майерс — 23
Эмме Майерс — 23
5454
1111
66
66
33
22
11
Ну что теперь скажете, хейтеры Ubisoft?
Ну что теперь скажете, хейтеры Ubisoft?
7272
77
22
Анонсирован «Джон Уик 5» — Киану Ривз вернётся к своей роли

Также по франшизе выйдут анимационный приквел и спин-офф, посвящённый Каину.

Анонсирован «Джон Уик 5» — Киану Ривз вернётся к своей роли
284284
169169
4040
1616
1010
44
33
22
11
11
11
11
Да хватит. Дед и так еле разговаривал в 4й части)
И все таки, давайте признаем, что консоли объективно лучшее устройство для игр
И все таки, давайте признаем, что консоли объективно лучшее устройство для игр

Именно объективно. Субъективщину не рассматриваем.

1010
1010
55
22
22
Ты своими аргументами как раз доказал обратное
Шоураннер сериала «Одни из нас» о том, что Белла Рамзи выглядит слишком юной для повзрослевшей Элли: «Меня больше волнует её эмоциональная зрелость»

Крэйг Мэйзин объяснил, почему для него важна не внешность.

Шоураннер сериала «Одни из нас» о том, что Белла Рамзи выглядит слишком юной для повзрослевшей Элли: «Меня больше волнует её эмоциональная зрелость»
405405
2626
77
44
44
33
22
Два жителя США подали иск против OnlyFans — они считают, что переписку с ними вели не модели

Истцы утверждают, что стали жертвами мошенничества.

Два жителя США подали иск против OnlyFans — они считают, что переписку с ними вели не модели
259259
2020
1818
88
33
33
22
11
11
11
Доброго утра, ДТФ! Этот день настал

Поздравляю всех причастных с праздником! Остальным соболезную. Надеюсь, Нинтендо сегодня порадует нас и представит как можно больше балдёжных игр, удивит неординарными фишками консоли и заинтригует новыми механиками. Ждём вечерочка, закупаем вкусни.

Доброго утра, ДТФ! Этот день настал
3030
22
реклама
разместить
Работники ZeniMax выразили готовность устроить забастовку — их не устраивают условия труда

Также они не хотят возвращаться в офис на полную неделю.

Работники ZeniMax выразили готовность устроить забастовку — их не устраивают условия труда
139139
3939
99
44
33
33
22
22
11
11
Ща кикнем всех, новых наберем
Когда питаешься только доставкой но внезапно захотелось сделать омлет
8989
77
22
22
22
11
11
Это из за камня в кольце?

Чумазый

3232
22
11
11