background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "How to Create an Online Multiplayer Game in GDevelop 5 : Peer-to-Peer! [Easiest Way]"

input logo icon
Обложка аудиозаписи
Подождите немного, мы готовим ссылки для удобного просмотра видео без рекламы и его скачивания.
console placeholder icon
Оглавление
|

Оглавление

0:00
Introduction
2:35
The Project Folder
3:35
What is the Client
3:54
What are IDs
4:21
What are Broker servers
6:59
The Host Scene
10:32
The Join Scene
13:05
Setup P2P external event
13:55
Setup Broker Server
14:33
Default Broker Server
15:46
Custom (local) server
21:13
Dataloss Mode
22:20
Peer-2-peer Conditions
25:05
Multiplayer Platformer Setup
Похожие ролики из нашего каталога
|

Похожие ролики из нашего каталога

Теги видео
|

Теги видео

gdevelop 5
how to
game development
gdevelop 5 online multiplayer
online multiplayer
online game
gdevelop online multiplayer game
gdevelop
gdevelopapp
gdevelop free game engine
p2p
online gdevelop games
multiplayer gdevelop games
gdevelop tutorials
gdevelop multiplayer online
gdevelop multiplayer
platformer game
top down shooter game
gdevelop peer to peer
p2p extension
peerjs
networking
tutorial
tutorial for beginners
gdevelop 3d
gdevelop games
electricity
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:00
[Музыка]
00:00:10
Привет, дабс, добро пожаловать обратно в
00:00:11
еще одну боевую историю, разработанную g,
00:00:14
поэтому сегодня мы рассмотрим
00:00:16
функцию паспорта, которая была впервые добавлена,
00:00:19
и чит-клапан 5 бета 99,
00:00:23
поэтому мы рассмотрим все ее
00:00:26
функции, а также создание с его помощью многопользовательской онлайн-
00:00:29
игры.
00:00:30
gdevelop поддерживает перспективные
00:00:33
соединения для включения базовых многопользовательских
00:00:36
игр.
00:00:37
Это работает через концепцию
00:00:39
удаленных событий.
00:00:41
Подключайте несколько экземпляров игры,
00:00:43
используя ваш идентификатор,
00:00:45
прежде чем удаленно запускать условия в
00:00:48
других экземплярах,
00:00:49
так что на данный момент это может показаться странным, но
00:00:52
но вы
00:00:53
лучше поймете это видео, хорошо,
00:00:56
давайте посмотрим
00:00:57
на предупреждения и, возможно, информацию, которую
00:00:59
нам нужно
00:01:00
знать, прежде чем мы опробуем эту функцию, хорошо,
00:01:03
давайте откроем
00:01:05
вики-страницу gtv прямо здесь, хорошо, и прежде всего у нас
00:01:08
есть вот
00:01:09
это это экспериментальная функция, которую вы должны
00:01:12
принять к сведению, что она может быть
00:01:14
изменена и может содержать
00:01:15
ошибки. Ваши отзывы приветствуются для
00:01:18
улучшения этой функции.
00:01:20
Кроме того, это расширение не подходит для
00:01:22
всех типов многопользовательских игр
00:01:24
и потенциально небезопасно против
00:01:27
мошенничества, поскольку каждый случай игра
00:01:30
связана напрямую друг с другом,
00:01:32
нет машины, которой можно было бы
00:01:34
доверять больше, чем другой,
00:01:37
поэтому трудно проверить, жульничает ли кто-то, в
00:01:40
отличие от выделенных серверов, поэтому p2p поддерживает
00:01:44
максимум 250
00:01:45
одновременных подключений, поэтому это
00:01:48
не лучший
00:01:50
способ создать многопользовательскую онлайн-
00:01:52
игру, но на данный момент это
00:01:55
единственный
00:01:56
способ, если только вы не хотите использовать javascript
00:01:59
для достижения этой цели,
00:02:00
и поэтому он также не подходит для
00:02:02
очень больших многопользовательских игр,
00:02:05
таких как ммос,
00:02:08
хорошо, так что поехали это все, что нам нужно
00:02:10
знать на данный момент,
00:02:11
хорошо, поэтому, прежде чем мы начнем, спасибо всем
00:02:13
за то, что вам понравилось мое предыдущее видео, вам должно
00:02:16
понравиться видео, не волнуйтесь, я подожду,
00:02:18
хорошо, просто поставьте лайк видео,
00:02:22
хорошо, а также подпишитесь, если вы еще этого не сделали.
00:02:26
окей, я надеюсь, что вам понравится видео,
00:02:28
подпишитесь,
00:02:29
окей, давайте создадим
00:02:31
многопользовательскую онлайн-игру, в которой участвуют
00:02:34
пятеро,
00:02:39
начнем, это проект, который мы будем
00:02:41
использовать для создания многопользовательской онлайн-
00:02:44
игры, так что давайте перейдем к нашему менеджеру проекта, чтобы
00:02:47
сохранить раз
00:02:48
я добавлял объекты в
00:02:50
различные сцены,
00:02:51
поэтому мы минимизируем продолжительность этого видео,
00:02:54
мы все равно пройдемся по ним, просто чтобы показать
00:02:56
вам различные
00:02:57
объекты, а после этого перейдем непосредственно к
00:03:00
событиям, так что сначала мы перейдем к в нашем
00:03:03
лобби у
00:03:04
нас есть это, поэтому в сцене лобби у нас
00:03:06
есть кнопка присоединения и
00:03:08
кнопка создания, и теперь события у нас уже есть поле события,
00:03:12
это всего лишь некоторые базовые события, которые мы хотим
00:03:14
нажать на кнопку присоединения к сцене присоединения,
00:03:16
это приведет вас к присоединению
00:03:18
сцена, и как только вы нажмете
00:03:20
кнопку «Создать»,
00:03:21
вы перейдете к сцене создания, поэтому
00:03:23
давайте сначала посмотрим на эту сцену создания,
00:03:26
затем мы посмотрим на сцену присоединения, чтобы
00:03:28
создать сим-карту,
00:03:30
здесь у нас есть это, в котором говорится, пожалуйста,
00:03:32
вставьте этот идентификатор в
00:03:33
другой клиент,
00:03:38
а теперь, что это за клиенты, давайте
00:03:40
сначала поговорим о клиентах, итак, клиент
00:03:42
— это запущенная игра, которая подключена
00:03:45
к брокерскому серверу, поэтому эта функция эм
00:03:48
отправляет данные от одного клиента
00:03:50
к другому,
00:03:55
что это за идентификатор пользовательского интерфейса прямо здесь, так что
00:03:59
id, на самом деле это способ идентифицировать
00:04:02
клиентов, каждый клиент имеет определенный идентификатор,
00:04:06
если идентификатор не указан, он будет
00:04:09
сгенерирован,
00:04:10
но в этом случае этот щелчок генерирует
00:04:12
идентификатор,
00:04:13
этот идентификатор может выглядеть так или вот так, в
00:04:17
зависимости от брокерского сервера,
00:04:24
окей Итак, что такое брокерский сервер? Ну,
00:04:27
это сервер с фиксированным общеизвестным
00:04:29
адресом, который хранит
00:04:30
все адреса, которые являются идентификаторами
00:04:34
подключенных клиентов,
00:04:35
и передает их каждому клиенту, чтобы
00:04:38
они могли подключаться друг к другу,
00:04:40
так что это брокерский сервер и
00:04:42
это идентификатор, и это клиент, поэтому
00:04:44
давайте посмотрим на объекты в этой
00:04:46
сцене,
00:04:47
поэтому сначала у нас есть копия, это скопирует
00:04:50
сгенерированный идентификатор, потому что в наших созданиях
00:04:53
здесь он генерирует идентификаторы,
00:04:55
поэтому это скопирует идентификатор bg,
00:04:58
на самом деле это фон
00:05:00
нашего текста идентификатора, поэтому наши дефекты глаз - это
00:05:02
эффекты, которые мы должны отображать
00:05:04
идентификатор, и вот у нас есть информация, наша информация на
00:05:08
самом деле представляет собой этот изгиб прямо здесь, и у нас есть
00:05:11
стрелка прямо здесь, стрелка на этом изображена в
00:05:14
виде красных точек прямо здесь, так что это будет
00:05:16
отображать стрелку
00:05:18
или монстров и стрелку с p2p, вот и
00:05:21
все, и соединение будет
00:05:23
подключаться к игре,
00:05:25
вот и все, давайте проверим соединение, итак,
00:05:29
начнем, итак, в нашей сцене присоединения, это то
00:05:32
место, куда вы вставляете идентификатор, который вы
00:05:34
получили из
00:05:36
сцены создания, прямо здесь, поэтому вы вставляете идентификатор,
00:05:38
полученный от другого клиента,
00:05:40
и здесь, в данном случае, это сцена создания,
00:05:44
поэтому у нас есть фон, у
00:05:46
нас есть
00:05:47
эффект ошибки UM прямо здесь, точно так же, как и наше
00:05:49
создание. сцена, у нас
00:05:50
тоже есть эта информация, которая
00:05:53
ничего не делает,
00:05:54
хорошо, поэтому у нас есть идентификатор и три текста,
00:05:57
так что это текстовый объект, который будет
00:05:59
изменен
00:06:00
для отображения идентификатора UM, который мы скопировали
00:06:03
из сцены, поэтому у нас есть
00:06:05
вставить, как только мы нажмем на вставку
00:06:07
и изменим ее, чтобы мы могли вводить
00:06:10
текст с клавиатуры, у нас есть запись нашего идентификатора
00:06:12
прямо здесь, так что это запись идентификатора,
00:06:15
а это
00:06:16
текст записи нашего идентификатора, хорошо, так как мы можем
00:06:20
скопировать
00:06:21
из одного эм, сцена с другой,
00:06:24
мы можем сделать это благодаря этому расширению,
00:06:26
которое является расширением буфера обмена.
00:06:28
Вы можете загрузить это расширение,
00:06:30
нажав на поиск новых
00:06:31
расширений прямо здесь
00:06:33
и выполнив поиск буфера обмена, вот и
00:06:35
все, оно у
00:06:36
меня уже установлено, так что вы
00:06:38
должен отобразить
00:06:39
установить мои дисплеи переустановить обновления с косой чертой,
00:06:42
итак, мы идем и
00:06:44
закрываем, и у нас есть две игры, с которыми
00:06:46
мы будем работать:
00:06:48
плазменная игра и игра сверху вниз.
00:06:50
Для этого урока мы будем работать с
00:06:52
платформером
00:06:53
и тогда я бы объяснил игру сверху вниз,
00:07:03
хорошо, давайте начнем сначала с нашей
00:07:06
сцены создания,
00:07:08
поэтому давайте добавим действие, которое будет
00:07:12
получать идентификатор, как только мы нажмем на копию,
00:07:15
поэтому идентификатор, полученный идентификатор, является выражением, поэтому
00:07:18
давайте проверим выражения
00:07:20
который мы получаем с расширением p2p, так что
00:07:23
это наш список всех выражений, которые
00:07:25
мы получаем с этим, поэтому у нас есть
00:07:27
данные события p2p get, это строка, гм,
00:07:29
строка в скобках, поэтому это
00:07:30
возвращает данные, полученные
00:07:32
от события спрайта, которое было последним сработала,
00:07:35
это строка,
00:07:36
и вот мы идем, чтобы psp получила идентификатор, который
00:07:38
будет использоваться, и теперь нам нужно получить
00:07:40
идентификатор, чтобы он получил
00:07:41
идентификатор клиента текущего экземпляра игры,
00:07:45
поэтому у нас также есть p2p, чтобы получить последние
00:07:47
подключенные страницы, получить,
00:07:49
ну, кто только что подключенный, гм, это
00:07:52
получает идентификатор недавно подключенной пары,
00:07:55
это также клиент, поэтому
00:07:56
он получает идентификаторы недавно подключенных
00:07:59
клиентов, поэтому у нас также есть
00:08:00
такты, которые мы получаем последней отключенной паре, поэтому
00:08:03
он получает пару,
00:08:04
которая отключена или в этом В случае, если
00:08:07
клиенты
00:08:08
получают идентификатор последнего отключенного бита,
00:08:11
поэтому у нас есть ошибка p2p get less,
00:08:13
которую также следует использовать, чтобы
00:08:14
получить описание последней
00:08:18
ошибки php, это отобразит ошибку, и
00:08:20
мы идем, так что давайте вернемся и будем
00:08:22
используя это,
00:08:24
теперь сначала создайте события, давайте
00:08:26
добавим новое событие, давайте
00:08:28
добавим условие, окей, так что скопируйте,
00:08:31
и хм, кусо, автор
00:08:35
находится на объекте, и мы идем, потому что я
00:08:37
думал, что она на этом объекте, хорошо,
00:08:40
и добавим условие, отпустив кнопку мыши,
00:08:44
мы идите, чтобы мышь не была отпущена,
00:08:45
и кнопками проверки была бы
00:08:47
левая кнопка, которая является
00:08:48
основной кнопкой, хорошо, и как только это станет правдой,
00:08:52
добавьте правильное действие,
00:08:55
давайте возьмем буфер обмена, мы идем, так что
00:08:59
правые стопки в буфере обмена,
00:09:02
так что теперь мы заполним выражение,
00:09:03
которое представляет собой p to p, и
00:09:06
мы идем, ptp получает идентификатор, так что это
00:09:08
запишет идентификатор
00:09:09
в буфер обмена, как только вы нажмете «копировать», хорошо,
00:09:13
хорошо, теперь нам нужно изменить текст
00:09:15
этого текста идентификатора
00:09:16
на идентификатор, который мы получено здесь,
00:09:20
добавьте новые события, добавьте действие, поэтому давайте
00:09:23
изменим, извините, выберите
00:09:26
текст, здесь мы идем, текст идентификатора, и давайте
00:09:28
изменим
00:09:29
этот текст на основе знака, установленного на значение
00:09:32
выражения um, мы идем, получает
00:09:36
идентификатор um, хорошо, так что теперь это будет отобразить
00:09:39
идентификатор в эффектах, идентификатор
00:09:42
теперь для последнего события для этой сцены, нам нужно
00:09:45
центрировать этот
00:09:47
текст, который является текстом идентификатора, для этого
00:09:52
нам нужно изменить
00:09:54
положение x, поэтому мы идем
00:09:55
и добавляем действие, выбираем текст идентификатора эффектов
00:09:59
и позиция, которая является
00:10:02
позицией x, мы центрируем ее по
00:10:03
оси x, поэтому для
00:10:05
знака установлено значение, это будет
00:10:08
ширина окна сцены, вот и
00:10:10
мы делим ширину окна сцены,
00:10:14
делим ее на два, поэтому
00:10:17
я вычитаю
00:10:18
слабую дефекта глаза, так что начнем,
00:10:23
я начну с дефектов, и его ширина будет
00:10:26
разделена на два, так что это было центрировано
00:10:30
всегда
00:10:37
сейчас для нашей сцены присоединения, поэтому давайте перейдем к
00:10:40
событиям
00:10:41
и здесь давайте добавим новое событие, так
00:10:44
же, как с этим в нашей сцене создания,
00:10:46
где
00:10:47
мы добавили идентификатор в буфер обмена, теперь нам
00:10:50
нужно прочитать идентификатор
00:10:51
и изменить текст в памяти нашей записи идентификатора
00:10:55
прямо здесь, так что давайте проверим это, давайте
00:10:58
добавим условие сейчас, как только это будет верно один
00:11:01
раз при столкновении или однажды
00:11:03
прикосновение к кристаллу происходит на кнопке вставки,
00:11:06
а левая кнопка мыши отпускается, поэтому
00:11:08
в нашем событии давайте добавим условие,
00:11:10
поэтому сначала выберите вставку объекта и
00:11:14
пользовательское касание будет на этом объекте, просто чтобы
00:11:16
убедиться, что он на нем,
00:11:17
и добавьте условие и отпустите кнопку мыши,
00:11:21
которая является левой кнопкой мыши,
00:11:23
поэтому, как только эта кнопка будет отпущена и она окажется
00:11:24
на вставке,
00:11:25
добавьте действие, выберите идентификатор, текст,
00:11:29
запись идентификатора, давайте выделим текст в памяти
00:11:32
для него, подпишите,
00:11:33
добавьте значение для чтения,
00:11:37
перейдите к чтению текст
00:11:39
буфера обмена, так что это выражение для
00:11:41
буфера обмена, чтобы прочитать текст,
00:11:43
хорошо, теперь нам нужно изменить эффекты
00:11:46
этого текста прямо
00:11:47
текст записи идентификатора um на строку ввода идентификатора,
00:11:50
поэтому давайте перейдем к нашим событиям соединения, добавим новое
00:11:53
событие,
00:11:54
добавим условие Итак, давайте
00:11:56
выберем
00:11:57
текст записи нашего идентификатора и изменим текстовые права
00:12:00
здесь.
00:12:01
Знак устанавливает вам значение нашей
00:12:05
записи идентификатора. Здесь мы переходим к строке ввода нашего идентификатора,
00:12:09
так что это текст, введенный в нашу запись идентификатора,
00:12:12
хорошо, так что в основном все, что он делает это
00:12:16
то, что он устанавливает запись идентификатора, он
00:12:19
изменяет эффекты
00:12:20
нашей записи идентификатора на этот текст прямо
00:12:23
здесь, на текст, который был скопирован,
00:12:25
и финальные события для этой сцены,
00:12:28
гм, нам нужно всегда размещать этот текст в
00:12:30
центре,
00:12:31
поэтому добавим новое событие, добавим действие,
00:12:35
давайте выберем текст, который является
00:12:38
эффектом ввода идентификатора, и давайте
00:12:39
выберем позицию, которая будет
00:12:41
позицией x установленного знака объекта, поэтому нам
00:12:44
нужно получить значение, необходимое для получения сцены
00:12:46
ширина окна, разделенная на
00:12:48
два, затем вычтите ее из кнопки «э-э»,
00:12:52
которая представляет собой
00:12:53
текст записи идентификатора, и мы идем,
00:12:57
поэтому ширина гибкой записи идентификатора
00:12:59
делится на два, чтобы
00:13:00
это расположило ее в центре,
00:13:03
хм, всегда
00:13:08
хорошо, так что давайте добавим хм в следующем известный
00:13:11
забор, поэтому в нашем менеджере проектов
00:13:13
x нет защиты, давайте добавим отличный
00:13:16
забор, я переименую его, вы можете установить для
00:13:19
этого все, что захотите, я назову это, хм,
00:13:23
извините за это, окей, вот так,
00:13:27
и я' Я открою его, и начнем, так что
00:13:29
давайте выберем сцену, вы можете выбрать
00:13:31
для этого все, что захотите, я пойду с
00:13:34
созданием сцены
00:13:35
и выберу, чтобы
00:13:38
сюда добавить все события,
00:13:41
которые необходимы для
00:13:42
p2p, прежде всего нам нужно подключиться к
00:13:46
серверу брокера, это самая
00:13:48
важная вещь,
00:13:49
если вы не подключаетесь к серверу брокера,
00:13:51
вы не сможете этого добиться,
00:13:58
поэтому у нас есть два варианта настройки
00:14:01
сервера брокера:
00:14:03
сначала у нас есть настройки по умолчанию, либо общедоступный
00:14:06
сервер, который предоставляется при покупке, этот
00:14:08
сервер не принадлежит и не обслуживается компанией g
00:14:11
по умолчанию, у нас также есть собственный
00:14:12
сервер, это рекомендуется, и его можно
00:14:15
запускать
00:14:16
локально на вашем компьютере или в облаке,
00:14:19
поэтому я покажу вам, как установить сервер по умолчанию,
00:14:22
как его настроить с пользовательским сервером, как
00:14:25
запустить
00:14:26
локальный сервер и как развернуть его на
00:14:29
облачном хостинге, это сделает его
00:14:31
многопользовательской онлайн-игрой,
00:14:38
хорошо, поэтому, прежде всего, давайте поработаем с
00:14:40
сервером по умолчанию, поэтому добавим новое событие,
00:14:42
добавим условие, итак, приступим к следующему:
00:14:44
начало сцены,
00:14:46
окей, добавим действие, начнем, это
00:14:49
сервер,
00:14:50
окей, поэтому подключитесь к серверу брокера, извините,
00:14:52
подключитесь к серверу по умолчанию,
00:14:54
окей, это подключается к серверу,
00:14:57
предоставленному per
00:14:58
js, окей, давайте свяжем это внешнее
00:15:01
событие с гм, я создам и присоединюсь синхронизируем, итак,
00:15:04
давайте перейдем к событиям и
00:15:06
добавим прямо здесь и ссылку,
00:15:10
окей, так что у вас должен быть этот p2p,
00:15:13
снимите это,
00:15:14
окей, так что просто скопируйте эту копию
00:15:17
и дойдите до моего
00:15:20
присоединения, присоединитесь к мероприятиям и
00:15:24
вставьте это и возьмите все в порядке,
00:15:28
давайте пойдем в вестибюль
00:15:30
и просмотрим это,
00:15:33
так что создайте, и мы должны получить идентификатор, вот и все, это
00:15:37
идентификатор, и
00:15:40
теперь он подключен к серверу по умолчанию,
00:15:42
хорошо,
00:15:48
хорошо, итак, давайте запустим собственный
00:15:50
локальный сервер для для этого вам нужно
00:15:52
перейти на узел
00:15:54
nodejs.org и загрузить js,
00:15:57
вам следует загрузить
00:15:59
версию с долгосрочной поддержкой,
00:16:01
которая рекомендуется для большинства пользователей, поэтому приостановите
00:16:03
загрузку этого видео,
00:16:04
установите его и вернитесь, хорошо, хорошо, так что
00:16:07
я надеюсь, что вы, должно быть,
00:16:08
сделали это Итак, давайте вернемся
00:16:10
к g development, и Windows
00:16:11
на вашей клавиатуре, хорошо, и это
00:16:14
вызывает диалоговое окно запуска,
00:16:16
это оно прямо здесь, так что введите
00:16:19
имя
00:16:20
папки программы, документы или ресурс бесконечности,
00:16:22
и Windows откроет его, так что нам нужно чтобы
00:16:24
открыть миниатюру, вам нужно ввести
00:16:26
cmd и нажать «ОК», чтобы
00:16:32
открыть терминал, теперь
00:16:34
нам нужно установить purge.js, чтобы сделать
00:16:36
это npm,
00:16:38
вы говорите npm, это менеджер пакетов узла
00:16:40
и
00:16:41
пара установки и тире
00:16:45
g Итак, как только вы нажмете «Ввод» или
00:16:48
приостановите это видео и подождите, пока оно
00:16:50
установится, все в порядке, теперь у нас есть зависание, поэтому
00:16:53
каждый последующий раз,
00:16:55
чтобы запустить наш сервер, нам нужно снова выполнить функцию
00:16:57
purge.js
00:16:59
или js,
00:17:02
просто используйте тире p или
00:17:04
двойное тире и
00:17:05
порты, они оба будут работать, так что давайте возьмем
00:17:08
тире p и порты 9000, так что это началось
00:17:12
с порта 9000,
00:17:16
хорошо, у нас это работает прямо здесь,
00:17:18
хорошо, не закрывайте это окно, давайте
00:17:20
сверните это, вам нужно держать это
00:17:21
окно открытым,
00:17:23
ладно, давайте перейдем к нашим
00:17:26
внешним событиям php, и здесь давайте
00:17:28
отключим эту цель, отключим, добавим
00:17:30
новое событие, добавим условие, поэтому
00:17:32
в начале сцены мы
00:17:35
добавим
00:17:36
действие, давайте получите собственный, извините, сервер,
00:17:40
который будет подключаться к серверу по умолчанию, хорошо,
00:17:44
итак, начнем с
00:17:45
хоста, у нас есть хост, у нас есть порт, у
00:17:46
нас есть путь и ключ, так что давайте пройдемся по
00:17:49
каждому из них, хорошо, у нас
00:17:51
есть хост сервера это хост сервера,
00:17:54
вот и мы идем, поэтому для этого мы вводим
00:17:57
локальный хост, хорошо, потому что теперь мы используем
00:18:01
локальный хост
00:18:02
для порта, оба - это
00:18:04
порт сервера, поэтому используйте это 9000, это именно
00:18:07
то, что мы заполнили
00:18:08
здесь, как вы можете см. девять тысяч, это
00:18:09
порт сейчас для патча,
00:18:11
который слэш сводит к минимуму, так что все, вам
00:18:13
нужно заключить это в двойные кавычки
00:18:15
и косую черту,
00:18:16
и для ключа вам не нужно
00:18:17
ничего заполнять, гм, для ключа,
00:18:19
окей, так что это должно подключимся к
00:18:22
локальному хосту, давайте перейдем в наше лобби
00:18:24
прямо здесь и давайте предварительно просмотрим это сейчас,
00:18:26
мы должны получить
00:18:27
идентификатор, который вы создадите,
00:18:30
и все готово, так что он немного
00:18:32
отличается от идентификатора сервера по умолчанию,
00:18:35
это идентификатор локального сервера, так что
00:18:38
Итак, мы приступили к настройке
00:18:40
всего моего локального локального сервера,
00:18:45
хорошо, давайте заполним некоторые события, чтобы
00:18:46
перейти к нашей основной игре, которая является
00:18:49
игрой-платформером, так что в нашем P2P прямо здесь,
00:18:51
давайте добавим
00:18:52
новое событие прямо здесь поэтому добавим
00:18:54
условие, давайте выберем
00:18:56
объект, который подключается, поэтому, как только автор курсора
00:18:59
окажется на объекте, подключитесь, все в порядке, и добавьте
00:19:02
условие, кнопка мыши отпущена,
00:19:05
это будет левая кнопка мыши,
00:19:07
хорошо, поэтому, как только она будет отпущена, мы хотим
00:19:10
вызвать событие,
00:19:13
в основном это это то, что мы будем делать, я
00:19:14
имею в виду, что события, запускающие запуск страницы, распределяются
00:19:17
между клиентами, поэтому давайте проверим это, добавьте
00:19:19
действие, чтобы вызвать
00:19:21
триггер и события, там будут все
00:19:24
события на всех подключенных клиентах, поэтому это будет
00:19:26
запускать его на всех
00:19:27
подключенных клиентах, и все готово.
00:19:30
имена событий, которые вы можете выбрать,
00:19:31
вы можете установить любое имя события, которое вы хотите для
00:19:34
этого возражения, подключено,
00:19:36
хорошо, поэтому дополнительные данные не являются обязательными, поэтому
00:19:38
просто установите двойные кавычки,
00:19:40
хорошо, хорошо, теперь нам нужно подключиться
00:19:44
к клиенту p2, поэтому добавьте действие
00:19:46
p2p, вот и извините. хорошо, подключитесь к
00:19:49
другому клиенту
00:19:50
сейчас здесь, нам нужно вставить идентификатор
00:19:54
другого клиента, теперь мы можем заполнить
00:19:56
наш
00:19:57
текст идентификатора, строку ввода прямо здесь, в нашей
00:20:00
сцене присоединения,
00:20:02
идите, так что прямо здесь, как только мы нажмем на
00:20:04
вставку, это изменит текст прямо здесь, поэтому
00:20:07
он меняет текст в памяти нашей
00:20:09
записи идентификатора на текст буфера обмена, который является
00:20:11
идентификатором, который мы скопировали из нашей
00:20:13
сцены создания прямо здесь, так что теперь, когда идентификатор
00:20:16
находится в тексте,
00:20:17
находится в памяти нашей записи идентификатора, поэтому в
00:20:19
нашей p2p, мы можем просто настроить это для подключения
00:20:21
к
00:20:22
UM, подключиться к другому клиенту и установить
00:20:25
нашу запись идентификатора прямо здесь,
00:20:29
хорошо, поэтому запись идентификатора не отображается,
00:20:31
потому что это не связанная сцена,
00:20:33
мы можем изменить это, открыв
00:20:35
настройки и хм
00:20:36
присоединиться прямо здесь сегодня вечером должно отобразить
00:20:39
запись идентификатора UM там, где мы идем, так что это
00:20:43
строка с точкой записи id, хорошо
00:20:47
, давайте установим это обратно и создадим UM,
00:20:51
хорошо, поэтому теперь давайте проверим события,
00:20:54
которые запускаются прямо здесь, поэтому
00:20:55
добавьте новое событие, добавьте условие прямо
00:20:58
здесь, так что
00:20:59
триггерные события, вызванные
00:21:03
именем события per и um, как мы сделали здесь um,
00:21:05
который подключен,
00:21:08
хорошо, что такое режим потери данных,
00:21:17
согласно вики, ну,
00:21:20
без потери данных, настроение,
00:21:21
как сейчас, для каждого
00:21:23
удаленного события установлено значение «нет» помещается в очередь, и в каждом
00:21:25
кадре,
00:21:26
если он есть в очереди, мы берем самый
00:21:28
старый и передаем лиды.
00:21:30
Это гарантирует, что все данные обрабатываются
00:21:32
или учитываются
00:21:34
при активированном режиме потери данных. Это
00:21:36
не лечит данные, а только сохраняет
00:21:38
последнее возникновение удаленных
00:21:41
событий, это означает, что
00:21:42
обрабатываются только самые последние данные, а
00:21:45
устаревшие
00:21:46
данные будут отброшены, хорошо, поэтому
00:21:48
мы устанавливаем для него значение «
00:21:50
да», хорошо, поэтому прямо здесь, как только мы нажимаем «
00:21:53
Подключиться», он запускает подключенные события, и
00:21:55
здесь это проверяет наличие событие, поэтому, как только
00:21:57
связанные события
00:21:58
будут получены от другого клиента, давайте
00:22:01
скопируем эту копию и вставим, а теперь
00:22:05
перейдем к сцене, чтобы
00:22:07
сцена сменилась на сцену в плазменной игре,
00:22:12
хорошо, итак, поехали, и как только это событие
00:22:15
будет получено, оно изменится на
00:22:17
платформу сцены. еще раз,
00:22:22
хорошо, теперь давайте посмотрим на некоторые
00:22:24
условия, которые возникают при P2P-
00:22:26
связи, итак, мы добавим
00:22:28
новое событие
00:22:29
при условии, так что Fifa Пита, давайте
00:22:32
посмотрим, что PSP
00:22:34
готова, вот и все верно
00:22:37
расширение ловушки инициализировано и готово к использованию,
00:22:40
поэтому, как только мы это установим,
00:22:41
э-э, как только мы инвертируем это, оно будет
00:22:44
не готово к использованию, так что это инверсия,
00:22:46
хорошо, и когда оно не готово к использованию,
00:22:49
давайте изменим идентификатор эффекта
00:22:50
пола прямо здесь, так что он отображает соединение,
00:22:54
поэтому измененный знак эффекта,
00:22:55
установленный на значение, хочет, чтобы он отображал
00:22:57
соединение сейчас, поэтому соединение
00:23:01
точка-точка и двойные кавычки
00:23:05
в порядке, у нас это есть в кодах, в порядке, поэтому,
00:23:08
когда он не готов, он отобразит
00:23:10
это, и теперь хм, хорошо, давайте
00:23:13
посмотрим на другое событие, которое является
00:23:15
ошибкой или кодом p2p, поэтому добавьте новое событие, добавьте
00:23:18
условие, и
00:23:19
мы идем, psp, и здесь, мы идем, p3 и
00:23:22
ошибка,
00:23:23
поэтому у нас есть этот триггер один раз, когда
00:23:25
вызовы с ошибкой используют
00:23:27
ошибку p2p, так что это то, что мы я буду
00:23:29
использовать выражение, чтобы получить содержимое
00:23:32
ошибки, если вы хотите проанализировать его
00:23:34
или отобразить
00:23:36
пользователю, хорошо, прямо здесь добавьте действие,
00:23:40
давайте получим текст, который является воздушными
00:23:41
эффектами, и изменим его, установив
00:23:44
знак так, чтобы выражение, которое
00:23:46
будет
00:23:48
туда, мы также получим хм вот и мы получим
00:23:51
последнюю ошибку, чтобы получить
00:23:53
описание последней
00:23:54
стрелки b2b, поэтому мы проверим это через
00:23:57
минуту, но сначала нам нужно убедиться, что
00:23:58
airflex
00:23:59
всегда центрирован, поэтому добавьте новое событие
00:24:02
добавляет действие, поэтому выберите текстовую ошибку и
00:24:05
позицию, которая является позицией x
00:24:08
знака объекта, устанавливает значение
00:24:12
ширины окна сцены, разделенное на 2 мкм,
00:24:16
вычтенное из мкм воздушные эффекты,
00:24:20
которые они увеличивают, ошибка, точка,
00:24:23
двойные кавычки ошибка переплетения точек, разделенная на
00:24:27
два, окей, убедитесь, что теперь она
00:24:29
всегда центрирована, чтобы
00:24:30
отобразить стрелку, давайте поместим наш
00:24:33
крючок наш порт в код, чтобы отображалась
00:24:36
ошибка, в коде не должно быть um, поэтому
00:24:39
давайте перейдем к предварительному просмотру нашего лобби, это
00:24:42
создает и вот, у нас есть эта
00:24:44
ошибка, вот как проверить
00:24:46
ошибку um, чтобы она работала, это показывает, все в порядке, у
00:24:49
нас есть эта стрелка, так что давайте закроем
00:24:51
это еще раз, вернемся к p2, нам
00:24:53
это не нужно,
00:24:55
хорошо, я возьми это и
00:24:58
пойдем,
00:25:08
давайте перейдем к нашей сцене плазменной игры,
00:25:11
и вот мы идем, и теперь у
00:25:15
нас есть это, и в этой сцене все, что у нас
00:25:17
есть, это наш второй игрок, это
00:25:19
второй игрок, это первый игрок, и
00:25:20
это поток, и это
00:25:23
фон - это просто базовая платформа, которая
00:25:25
использует
00:25:26
платформу, на которую вы пойдете, и это
00:25:28
поведение плазменного объекта. Я снял флажок с элемента управления по умолчанию,
00:25:30
поэтому нам придется установить
00:25:32
элементы управления в событиях для обоих, так что
00:25:35
давайте сделаем это, давайте перейдем к нашему событию и
00:25:37
давайте добавим новое
00:25:38
событие, поэтому я сыграю в одно, мы используем wsad,
00:25:44
поэтому давайте начнем с нажатия этой
00:25:46
клавиши, и все будет
00:25:50
в порядке, и как только эта клавиша нажата, нам нужно
00:25:52
заставить нашего игрока подпрыгнуть, поэтому добавьте действие,
00:25:54
чтобы первый игрок
00:25:56
и эм, имитирует нажатие клавиши перехода,
00:25:59
мы идем, имитируем ненужное нажатие для первой
00:26:01
игры, так что это заставит нашего игрока
00:26:02
прыгать
00:26:03
на один клиент сейчас, чтобы он прыгал на всех
00:26:06
подключенных клиентах,
00:26:07
вам нужно вызвать событие, которое мы
00:26:08
сейчас сделаем, добавьте действие
00:26:10
так что запускайте гм, и события будут
00:26:13
запускать события на всех подключенных клиентах,
00:26:15
теперь вы можете установить для этого
00:26:16
любое имя, которое вы хотите, как я уже говорил
00:26:18
ранее, поэтому для этого
00:26:19
я назову своего игрока,
00:26:23
один игрок, один прыжок, окей,
00:26:26
дополнительные данные, которые не являются обязательными, так что
00:26:29
мы идите,
00:26:31
окей, добавьте новое событие, добавьте
00:26:33
условие, чтобы триггер был в
00:26:36
порядке, итак, события, инициированные согласно тому,
00:26:38
что был
00:26:40
прыжок первого игрока,
00:26:44
окей, этот потерянный режим, я установлю это на нет,
00:26:47
окей, так что в этом случае нажмите, чтобы
00:26:51
игрок прыгнул, теперь нам нужно наш проигрыватель будет
00:26:52
прыгать на всех подключенных клиентов, поэтому вы
00:26:54
скопируйте это и замените это здесь снова, так что теперь, когда
00:26:58
вы нажимаете вверх, это будет имитировать прыжок на
00:27:01
клиентов,
00:27:02
а затем запускать это событие на всех
00:27:04
подключенных клиентах,
00:27:05
что заставит нашего игрока прыгать на
00:27:07
всех подключенных
00:27:08
клиентов, поэтому нам нужно сделать это для каждой
00:27:09
отдельной позиции, чтобы сэкономить время,
00:27:11
я просто скопирую это и добавлю новые события,
00:27:14
мы
00:27:16
просто вставим это прямо здесь, поэтому вставьте, и
00:27:18
теперь давайте переместим нашу пластину вправо,
00:27:20
что будет
00:27:21
для теперь имитирует нажатие вправо,
00:27:26
окей, это я нажимаю вправо для
00:27:28
первого игрока, триггерное событие,
00:27:30
первый игрок, я назову это, хм,
00:27:34
хорошо, так что триггерные события воспроизводят одно право,
00:27:36
и события
00:27:38
здесь, мы идем, убьем одного правого, поэтому, как только
00:27:41
событие, полученное игроком первого права, будет получено,
00:27:43
симулируется настоящее,
00:27:44
вот мы еще раз идем для
00:27:48
всех первого игрока, давайте сделаем то же самое
00:27:50
для левого,
00:27:52
ну, здесь мы вставляем это, и
00:27:56
так ключ, ок, теперь
00:27:59
имя отображает один левый,
00:28:03
окей, поэтому триггерные события воспроизводят одного левого игрока
00:28:06
и имитируют настоящее левое
00:28:07
для всех первого игрока, так что как только получено событие, играющее
00:28:11
одно
00:28:12
влево, имитирует
00:28:15
нажатие левой клавиши, окей,
00:28:19
это у нас есть, и это все
00:28:22
движения, которые нам нужны для этого кода, наш
00:28:23
игрок будет прыгать только вправо
00:28:25
и
00:28:26
влево, поэтому, если у вас есть несколько или более
00:28:28
действий, вы хотите, чтобы ваша игра чтобы
00:28:30
выполнить, вам нужно добавить это, вы
00:28:32
должны запустить событие
00:28:35
на всех подключенных клиентах, так что начнем, вот и
00:28:36
все для нашего игрока один,
00:28:39
теперь для нашего второго игрока, хорошо, давайте сделаем
00:28:42
это, добавьте
00:28:43
условие, так что играйте, извините,
00:28:46
поиск и гм Нажатая там клавиша будет
00:28:49
сохранять покой, и это будет клавиша «вверх»,
00:28:52
хорошо, так что клавиши «вверх», нажатые, хорошо, и добавьте
00:28:56
действие, которое имитирует вторую игру, и это
00:29:00
сервопривод прыжка, хорошо, так что имитируйте
00:29:03
нажатие клавиши прыжка, и вот мы идем еще
00:29:05
раз, нам нужно имитировать триггер
00:29:07
событие на всех подключенных клиентах, поэтому добавьте
00:29:09
также проигрыватель действий
00:29:10
и триггер, извините,
00:29:14
триггер событий, мы идем,
00:29:16
запускаемые события на всех подключенных
00:29:18
клиентах, имя события, я назову этого игрока, чтобы
00:29:23
прыгать, чтобы это были события,
00:29:25
запускаемые опционально,
00:29:27
вот и начнем дополнительные данные, которые не являются обязательными,
00:29:30
хорошо, поэтому, как только эти события
00:29:31
получены при условии, так что
00:29:35
запускаем, мы идем, поэтому события, вызванные
00:29:37
парой, еще
00:29:38
раз, давайте выберем это, давайте настроим
00:29:40
этого игрока
00:29:43
и прыгнем, он проиграл,
00:29:47
нет, ладно, о
00:29:50
нет, я допустил ошибку, вот это включено играть,
00:29:53
чтобы прыгать, хорошо, поэтому, как только это будет получено, нам
00:29:56
нужно будет смоделировать клавишу перехода на всех
00:29:58
подключенных
00:29:59
клиентах, хорошо, поехали, давайте сделаем так,
00:30:03
я просто скопирую это еще раз, хм,
00:30:06
скопируйте новые события, давайте вставим это, хорошо,
00:30:09
теперь для правильной
00:30:11
клавиши, нажатой вправо
00:30:15
начнем, имитируем нажатие вправо,
00:30:19
окей, еще раз название события
00:30:25
вправо, и мы
00:30:28
идем, события получены правильно,
00:30:34
и имитируем нажатие вправо,
00:30:37
мы идем, окей,
00:30:42
окей, теперь слева добавим новое событие,
00:30:45
хм, я просто добавлю несколько событий так что
00:30:49
извините за это,
00:30:52
ладно, ладно,
00:30:55
возьмите это сейчас, давайте вставим это еще раз,
00:30:59
вставьте, и вот и все, итак, у нас есть это
00:31:01
для правой части, так что давайте перейдем к тому, что
00:31:03
левая клавиша левой зоны
00:31:04
нажата, хорошо, так что давайте держать нажатой,
00:31:08
имитируя нажатие
00:31:09
влево, хорошо
00:31:14
и еще раз, мы идем налево,
00:31:19
окей, и играем два
00:31:23
левых, окей, окей, так что на случай, если вы
00:31:27
запутались в имитации нажатия
00:31:28
влево и вправо, вам придется посмотреть мою
00:31:30
платформерную игру,
00:31:31
хм серьезно объяснено, как создать
00:31:33
платформер, как
00:31:35
на самом деле использовать или как имитировать правую
00:31:37
клавишу и имитировать левую клавишу,
00:31:39
ну, симуляция нажатия клавиши на самом деле
00:31:41
работает, хорошо, так что
00:31:42
ссылка будет в описании
00:31:44
ниже,
00:31:46
хорошо, давайте смоделируем левую клавишу
00:31:50
здесь, и
00:31:54
хорошо, просто убедитесь, что все это работает,
00:31:55
давайте иди и просмотри это,
00:32:00
окей, это работает здесь, извини, окей,
00:32:03
ладно, итак, это работает,
00:32:06
итак, теперь давайте просмотрим это
00:32:07
и закроем это, и пойдем в лобби
00:32:09
и попробуем просмотреть это
00:32:11
как многопользовательскую игру, так что предварительный просмотр,
00:32:14
хорошо, так что это наши первые клиенты и
00:32:16
давайте сделаем предварительный просмотр, давайте запустим еще один
00:32:18
предварительный просмотр, вы можете сделать это,
00:32:19
щелкнув правой кнопкой мыши прямо здесь и
00:32:21
запустив еще один предварительный просмотр, хорошо, теперь у нас
00:32:26
запущено два предварительных просмотра, так что для тех из вас, кому интересно,
00:32:28
что на самом деле происходит с
00:32:29
терминалом, давайте подумаем о терминале, и
00:32:31
мы давайте покажем это окно
00:32:33
рядом, ну вот, вы знаете, бок
00:32:36
о бок, вот у нас есть миниатюра, у нас
00:32:38
есть наш первый клиент и наш второй
00:32:40
клиент, поэтому, как только мы нажмем «Присоединиться» к этому
00:32:41
клиенту, как вы можете видеть, мы получим клиент,
00:32:44
клиент подключен, это этот
00:32:46
клиент, так что эти клиенты только что подключились,
00:32:48
и в настоящее время это идентификатор клиента,
00:32:50
и как только мы нажмем «ОК», давайте нажмем «
00:32:52
Создать» на этом клиенте, ОК, итак,
00:32:55
начнем, как вы можете видеть
00:32:56
перемещенных клиентов, подключенных прямо
00:32:58
здесь, и он отображает
00:32:59
точные тот же идентификатор, который у нас есть в правах этого клиента,
00:33:02
потому что это второй клиент,
00:33:04
который только что подключился, и что произойдет, когда
00:33:06
мы закроем это,
00:33:07
как вы можете видеть, он показывает
00:33:08
отключенные клиенты и показывает идентификатор
00:33:10
этого клиента, так что давайте запустим
00:33:13
еще один предварительный просмотр,
00:33:15
хорошо, еще раз Windows бок о бок,
00:33:20
хорошо, вот это, и давайте
00:33:22
нажмем «Присоединиться», и у нас есть это, чтобы он
00:33:24
показал нового клиента, клиенты только
00:33:26
что подключились, хорошо, давайте попробуем это,
00:33:28
давайте скопируем
00:33:30
идентификатор пользовательского интерфейса из этого клиента и вставим его в этих
00:33:32
клиентов теперь давай вынимаем, окей, я
00:33:34
перенесу это в сторону, вот и
00:33:36
пойдём, переместим это прямо сюда
00:33:40
и хм, так что
00:33:44
давайте соединимся, и как только мы нажмем на
00:33:47
соединение прямо здесь,
00:33:50
окей, мы подключимся прямо здесь, мы
00:33:52
идем, и у нас есть наш первый игрок теперь мы
00:33:54
контролируем, я просто расскажу об этом,
00:33:56
и начнем, в настоящее время мы
00:33:59
контролируем это окно, как вы можете видеть, что
00:34:02
это окно активно, давайте наложим это,
00:34:04
это окно в настоящее время активно,
00:34:06
и это окно работает, поэтому, как только вы
00:34:07
нажмете вправо, как вы можете видеть, как он движется
00:34:09
в другом
00:34:10
окне, прямо здесь, давайте активируем это
00:34:13
окно,
00:34:14
и теперь мы снова управляем им из этого
00:34:16
окна, так что
00:34:21
там все работает, идем, ок, итак, теперь,
00:34:25
хм, на самом деле это все еще
00:34:27
локальный сервер, и он будет запускаться
00:34:29
на вашем компьютере только при выпуске вашей игры,
00:34:32
вам нужно развернуть его на node.js,
00:34:35
совместимом с хостингом, например, Heroku, так что
00:34:38
это то, что мы будем делать прямо сейчас, поэтому
00:34:39
мы
00:34:40
создадим наш собственный сервер, но на этот раз
00:34:43
это будет быть
00:34:44
онлайн,
00:34:47
окей, так давай сделаем это,
00:34:51
так что давай закроем это и давай закроем
00:34:53
это, окей,
00:34:54
и теперь мы можем закрыть этот терминал, он нам
00:34:56
больше не нужен,
00:35:02
так что давайте откроем разработку, давайте перейдем к нашему
00:35:04
p2p прямо здесь
00:35:06
и хм, так что я собираюсь отключите это и
00:35:08
добавьте новое
00:35:09
событие единой системы обмена сообщениями при условии, что в
00:35:12
начале
00:35:13
сцены мы пойдем, хорошо, поэтому добавьте
00:35:16
действие, давайте подключимся к пользовательскому
00:35:19
серверу, вот и все, это обычай,
00:35:21
я подключусь к серверу брокера прямо
00:35:23
здесь вот так, давайте перейдем на
00:35:25
Heroku.com,
00:35:28
хорошо, так что теперь, если вы выпускаете свою
00:35:29
игру, вы не можете использовать локальную версию
00:35:31
на пользовательском локальном сервере, теперь вы
00:35:33
развертываете одну
00:35:35
UM на хостинге, совместимом с node.js, например
00:35:38
hiroco, поэтому я вам покажу как это сделать,
00:35:40
так что, прежде всего, давайте отправимся в
00:35:42
Йоку, вот и все,
00:35:47
окей, вот как
00:35:49
выглядит веб-сайт, и вам нужно зарегистрироваться,
00:35:53
окей, так что вам нужно зарегистрироваться и заполнить
00:35:55
все свои данные,
00:35:57
окей, так что вам придется введите свое имя,
00:35:58
вашу фамилию, ваш адрес электронной почты,
00:36:01
название вашей компании, вашу роль, да, вам нужно
00:36:04
заполнить одно из этих полей,
00:36:05
поэтому вам нужно указать свою
00:36:07
страну, ваш
00:36:08
основной язык разработки,
00:36:12
подойдет любой, если вы не разработчик,
00:36:13
вы можете просто введите я не разработчик
00:36:16
и не получал учетную запись, окей,
00:36:19
окей, как только у вас появится учетная запись, она
00:36:20
должна выглядеть так, и у меня есть это
00:36:22
прямо здесь,
00:36:25
окей, теперь нам нужно перейти к
00:36:27
кнопке нашего автомобиля, так что просто введите это
00:36:32
окей, вот круто, ну вот, ну вот,
00:36:38
вот и кнопки, и вот
00:36:41
эта
00:36:42
сцена, это что-то вроде этого, а это
00:36:44
elements.heroku.com, давайте откроем это,
00:36:49
и вы должны перейти на такую ​​​​страницу,
00:36:51
это элементы, так что вы нужно
00:36:53
искать элементы, которые будут
00:36:55
парой js,
00:36:58
и поиск
00:37:02
в порядке, поэтому, если вы не находитесь на вкладке кнопок,
00:37:04
вам нужно нажать на нее, у нас есть надстройки,
00:37:06
у нас есть все элементы, и для этого мы
00:37:08
используем кнопки и т. д.
00:37:10
вкладка кнопок прямо здесь, поэтому мы
00:37:12
будем использовать сервер purge.js,
00:37:14
хм, здесь это своего рода приказы, но э-э, мое
00:37:18
устройство использует это сервер чисток, на нем
00:37:20
больше всего вооруженных звезд
00:37:22
и хм вилок, так что давайте выберем это, и
00:37:27
вот мы идем, мы добираемся до этой страницы, которая
00:37:29
показывает все о страницах, и теперь
00:37:32
вам нужно нажать на развертывание в Хироку
00:37:34
прямо здесь, так что разверните,
00:37:36
и все, мы идем, так что вы должны перейти
00:37:38
на эту страницу, гм,
00:37:41
она загружается нормально, поэтому она должна привести вас
00:37:42
к этой странице страницу и запросите имя приложения, вы
00:37:44
можете ввести
00:37:45
любое имя приложения, какое захотите, поэтому для этого
00:37:47
я назову это в
00:37:50
учебниках по p2p, ммм, так что на самом деле все
00:37:54
в порядке, так что есть правила для именования, ммм, я
00:37:56
думаю, оно содержит только строчные буквы, ну
00:37:58
вот и начнем строчные буквы, цифры
00:38:01
и тире, чтобы вы не могли использовать
00:38:02
подчеркивания, ну вот и начнем, так что выберите
00:38:05
регион, в настоящее время есть два региона,
00:38:07
хорошо, так что установите это в Соединенные Штаты, так что
00:38:11
разверните приложение, и оно должно остановить это, поэтому
00:38:14
сначала оно создает ваше приложение,
00:38:15
оно настраивает среду армия
00:38:17
создает приложение, которое должно быть
00:38:19
самым длинным
00:38:20
процессом прямо здесь, а затем после этого оно
00:38:22
запускает сценарии,
00:38:24
масштабирует динозавров и развертывает его в Heroku,
00:38:26
хорошо, так что приостановите это видео
00:38:28
и возвращайтесь, как только все будет готово, все
00:38:32
готово, у нас есть
00:38:34
просмотренное приложение или без сценария, и теперь оно
00:38:36
развернуто,
00:38:37
так что давайте нажмем «Управление приложением»,
00:38:42
и нам нужно получить URL-адрес, иначе нам не
00:38:44
нужно ни на
00:38:45
чем здесь сосредотачиваться, поэтому просто перейдите к
00:38:47
настройкам и давайте разберемся с этим,
00:38:50
поэтому прокрутите до конца, чтобы внизу
00:38:52
справа, чтобы вы могли найти свое приложение
00:38:54
по этому адресу, давайте откроем это,
00:38:58
и мы получим вот этот сервер с именной табличкой, который
00:39:01
показывает, что есть сервер
00:39:02
в этом домене um прямо здесь, поэтому из
00:39:04
этого URL-адреса все, что нам нужно,
00:39:06
это права на поддомен um здесь и
00:39:09
домен правильно, так что давайте скопируем все это, чтобы
00:39:12
нам не нужен протокол, который является этим
00:39:14
https, прямо здесь, только верхний домен
00:39:16
и домен, так что скопируйте это,
00:39:18
давайте вернемся к разработке прямо здесь,
00:39:21
откройте это
00:39:22
прямо здесь, чтобы наш хост теперь заполнялся на нашем
00:39:24
хосте и вставьте это прямо сюда, чтобы оно
00:39:26
отображало p2b ptsb
00:39:27
Storylines.heroku app dot com, хорошо,
00:39:30
теперь для портов будут использоваться
00:39:31
значения по умолчанию для номера порта, который равен 443,
00:39:34
вот мы и идем по путям, которые мы
00:39:36
будем делать, вот и мы идем так вам не
00:39:38
нужен ключ, и для
00:39:40
включенного SSL сказал, что да, хорошо, давайте попробуем
00:39:44
это сейчас, давайте пойдем в наше лобби и
00:39:45
давайте просмотрим этот
00:39:49
запуск, еще один предварительный просмотр, хорошо, итак, у нас есть
00:39:53
два предварительных просмотра,
00:39:56
так что давайте присоединимся здесь и давайте создадим здесь
00:40:00
и там мы идем, это идентификатор, поэтому
00:40:02
мы сейчас развернули наше приложение, и
00:40:04
теперь у нас есть сервер, так что это намного
00:40:06
лучше, потому что мне
00:40:07
не рекомендуется использовать этот
00:40:10
сервер, который является сервером по умолчанию,
00:40:12
вы должны использовать свой собственный точно
00:40:14
так же, как мы это сделали здесь,
00:40:16
хорошо, итак, сервер по умолчанию не
00:40:18
управляется командами chi development и
00:40:20
чит-клапана, так что команда разработки g
00:40:24
не несет ответственности ни за что, хм
00:40:27
не несет ответственности, если что-то пойдет
00:40:29
не так, используя этот сервер, так что давайте проверим
00:40:31
это скопируйте, вставьте
00:40:32
и подключитесь, вот и
00:40:36
все, вот и все,
00:40:39
теперь у нас есть
00:40:40
многопользовательская онлайн-игра прямо здесь, вот и
00:40:46
мы, и после развертывания это будет
00:40:49
работать
00:40:50
идеально, вот и
00:40:57
все, вот как создать
00:40:59
многопользовательскую онлайн-игру с помощью связи с чит-
00:41:00
хранилищем.
00:41:02
поехали,
00:41:06
хорошо, так что я оставлю ссылку в
00:41:08
описании, чтобы загрузить
00:41:09
фотографию проекта, если вы хотите узнать
00:41:11
больше, я бы также оставил
00:41:14
сервер в рабочем состоянии, так что просто проверьте
00:41:16
описание, там будет ссылка для
00:41:18
загрузки этого проекта
00:41:20
и вы также получите игру сверху вниз,
00:41:22
вот и все, события
00:41:24
уже есть, поэтому все, что вам нужно сделать,
00:41:26
как только вы это получите, это изменить ее
00:41:28
прямо здесь, так что в нашей psp, если вы просто
00:41:31
измените сцену на
00:41:32
эту, мы иди, поменяй это прямо
00:41:34
здесь
00:41:36
на игру с остановкой, так что начнем, вот и все,
00:41:37
спасибо, что присмотрел за
00:41:51
тобой

Описание:

Hey Game Dev's This GDevelop 5 online multiplayer game tutorial will show you how to create a multiplayer game with GDevelop using peer-to-peer. You will learn how to deploy your game so that people anywhere around the world can play against each other. #gdevelop You will learn and understand the following after this tutorial: How the Peer-to-Peer(P2P) System Works What are Clients, IDs and Broker servers How to connect to the default server which would connect anyone How to connect to a custom (local) server How to start a custom (local) server which would run on your machine How to start a custom (online) server which would connect anyone How to Develop your App to heroku Connecting Multiple Clients/Peers to a Server And many more... Website URLs Download Nodejs = https://nodejs.org/en/download/package-manager Signup for a Heroku account = https://www.heroku.com/ Deploy peerjs server (heroku elements) = https://elements.heroku.com/buttons/peers/peerjs-server Table of content 00:00 - Introduction 02:35 - The Project Folder 03:35 - What is the Client 03:54 - What are IDs 04:21 - What are Broker servers 06:59 - The Host Scene 10:32 - The Join Scene 13:05 - Setup P2P external event 13:55 - Setup Broker Server 14:33 - Default Broker Server 15:46 - Custom (local) server 21:13 - Dataloss Mode 22:20 - Peer-2-peer Conditions 25:05 - Multiplayer Platformer Setup Download The Project Folder From my discord server (https://discord.com/ includes regular updates :) Directly from itch.io (https://thegemdev.itch.io/online-multiplayer-game -Enjoyed the tutorial? Consider a donation :) https://www.paypal.com/paypalme/thegemtutorials -Tutorial for beginners https://www.youtube.com/watch?v=aXjDUCpIYzY&t=411s -Platformer Tutorial https://www.youtube.com/watch?v=zTFZ8nJNZyo&list=PLcSb9PUsw6p3UIjd6uEqWeY7OneHlU_U0 -Download GDevelop 5 https://gdevelop.io/download -Try GDevelop 5 online https://editor.gdevelop.io/ -Version Beta 101 -About GDevelop 5 GDevelop is an open-source, cross-platform game creator designed to be used by everyone - no programming skills required. -Important Don't forget to LIKE, COMMENT and most especially SUBSCRIBE. You can make a tutorial request by placing your request in the comments section below -Social Media Twitter - https://twitter.com/TheGemDev Instagram - https://www.facebook.com/unsupportedbrowser

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "How to Create an Online Multiplayer Game in GDevelop 5 : Peer-to-Peer! [Easiest Way]"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "How to Create an Online Multiplayer Game in GDevelop 5 : Peer-to-Peer! [Easiest Way]" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "How to Create an Online Multiplayer Game in GDevelop 5 : Peer-to-Peer! [Easiest Way]"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "How to Create an Online Multiplayer Game in GDevelop 5 : Peer-to-Peer! [Easiest Way]" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "How to Create an Online Multiplayer Game in GDevelop 5 : Peer-to-Peer! [Easiest Way]"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "How to Create an Online Multiplayer Game in GDevelop 5 : Peer-to-Peer! [Easiest Way]"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.