Суббота, 20 Апреля 2024, 00:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » GMS Networking: Tutorial (Учимся работать с сетью в GMS)
GMS Networking: Tutorial
XDominatorДата: Вторник, 15 Июля 2014, 00:35 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
1. Введение



2. Подготовка и немного теории



3. Этап 1: Connection



4. Этап 2: Передача координат



5. Этап 3: Знакомим клиентов друг с другом




Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)


Сообщение отредактировал XDominator - Среда, 27 Августа 2014, 16:59
GMHelpДата: Вторник, 15 Июля 2014, 11:39 | Сообщение # 2
почетный гость
Сейчас нет на сайте
XDominator, Спасибо большое ! smile А разве в клиенте можно делать движение ? Можно и взломать ! Но пока это не страшно )
Создать пулю оказалось создать очень сложно, я этого не смог сделать, а вот продолжить работу с этим же объектом и изменить его цвет просто smile


Всё что я сказал может показаться обидно , но это только кажется так, ибо мнение моё и оно может поменяться.

Сообщение отредактировал GMHelp - Вторник, 15 Июля 2014, 12:37
aFriendДата: Вторник, 15 Июля 2014, 12:36 | Сообщение # 3
участник
Сейчас нет на сайте
Сделал бы все разноцветное, а то читать тошно все выглядит как сплошной текст, ИМХО, нужно заголовочки, там, выделить, по пунктикам, списочки, там, всякие, из справки какие-нибудь интересные факты, ну а в общем все понравилось, кстати, я был твоим фанатом, но теперь я еще больше твой фанат, без шуток, спасибо))))
XDominatorДата: Вторник, 15 Июля 2014, 14:41 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Ну да, думаю стоит отформатировать все это добро, или разбить по частям. К сожалению мои дизайнерские способности оставляют желать лучшего, но тем не менее я постараюсь biggrin

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
GMHelpДата: Вторник, 15 Июля 2014, 15:40 | Сообщение # 5
почетный гость
Сейчас нет на сайте
7. Больше объектов.
А на самом деле как работать с динамичными объектами , которые то появляются, то исчезают ? Надо добавлять в connect их или что ?
Очень интересно узнать. И upd увидеть тоже хочется. buffer_s16 и другие... раскажешь ?
Мог сделать видосы и впихнуть ) как вариант


Всё что я сказал может показаться обидно , но это только кажется так, ибо мнение моё и оно может поменяться.

Сообщение отредактировал GMHelp - Вторник, 15 Июля 2014, 15:41
XDominatorДата: Вторник, 15 Июля 2014, 16:25 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Неохота заморачиваться с видео если честно) да и хуже оно все таки чем просто текстом, текст всегда можно поправить если что то забыл или не так сказал. насчет динамических объектов - с ними работа не отличается от того что я привел выше, с той лишь разницей что нам не нужно передавать их координаты, например. Если мы стреляем на клиенте, то мы на самом деле не стреляем, а посылаем пакет серверу, который как бы говорит - хочу стрелять. Если сервер разрешает(т.е. нет откатов или еще чего либо) - тогда всем игрокам рассылается пакет, что такой то клиент выстрелил. И все клиенты создают в указанной точке объект-пулю. А дальше эта пуля живет по одинаковым законам на клиенте и на сервере, с той лишь разницей что например попадания на клиентах учитываться не будут, а будут только на сервере, и если пуля попала - опять же сервер отсылает всем клиентам инфо что такая то пуля попала туда то и ее нужно уничтожить. Из-за времени отклика тут конечно очевидны сразу проблемы, связанные с пингом и всем таким, но в целом - вполне юзабельная схема smile

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
GMHelpДата: Вторник, 15 Июля 2014, 22:30 | Сообщение # 7
почетный гость
Сейчас нет на сайте
XDominator, как раз об этом и подумал. Ох... буду стараться сделать. Ещё уроки будут ?

Всё что я сказал может показаться обидно , но это только кажется так, ибо мнение моё и оно может поменяться.
XDominatorДата: Вторник, 15 Июля 2014, 22:46 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
посмотрим, пока общественный резонанс не особо активный smile

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
aFriendДата: Среда, 16 Июля 2014, 07:25 | Сообщение # 9
участник
Сейчас нет на сайте
XDominator, пинг это не твоя проблема, а проблема уже пользователей (нечего скупиться на быстрый интернет), тебе лишь нужно все оптимизировать по-максимуму
GMHelpДата: Среда, 16 Июля 2014, 17:51 | Сообщение # 10
почетный гость
Сейчас нет на сайте
XDominator, не смог я делать динамичные объекты. Научиии

Всё что я сказал может показаться обидно , но это только кажется так, ибо мнение моё и оно может поменяться.
aFriendДата: Среда, 16 Июля 2014, 18:18 | Сообщение # 11
участник
Сейчас нет на сайте
Боже..
Игрок нажимает ЛКМ -> на сервер приходит команда, что нужно создать пулю -> сервер создает пулю -> каждый шаг двигает ее и передает координаты клиентам


Сообщение отредактировал aFriend - Среда, 16 Июля 2014, 18:18
XDominatorДата: Среда, 16 Июля 2014, 18:33 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Все в принципе так как описал aFriend, только вот последний пункт не нужен, пуля двигается в клиентах, а сервер сообщает клиентам только о случаях столкновения пуль с чем-либо:)

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
aFriendДата: Среда, 16 Июля 2014, 20:12 | Сообщение # 13
участник
Сейчас нет на сайте
XDominator, наоборот, иначе взломать пульку можно
XDominatorДата: Среда, 16 Июля 2014, 21:37 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
нельзя, будь внимательней) Смысл взлома в том чтобы обеспечить попадание, в нашем случае. Ты можешь взломать клиент и послать ее хоть в какую сторону, и попать ей хоть 100 раз в другой объект, но это не будет иметь смысла, потому что столкновения просчитываются на сервере smile А так да, можно и взломать, только вот пользы от такого взлома...

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
aFriendДата: Среда, 16 Июля 2014, 22:38 | Сообщение # 15
участник
Сейчас нет на сайте
XDominator, взломать можно, можно даже тренер написать, чтоб он как только создавал обьект, то сразу двигал к цели
XDominatorДата: Четверг, 17 Июля 2014, 12:44 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Так коллизии мы учитываем только на сервере, какая разница что ты взломаешь на клиенте? ну подвинешь пулю к цели, но условием отъема хп цели является пришедший пакет об этом с сервера, клиент не отправляет данных о попаданиях. В этом и суть.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
aFriendДата: Четверг, 17 Июля 2014, 22:33 | Сообщение # 17
участник
Сейчас нет на сайте
В если пуля попала в цель у нее разве не отнимается хп?
XDominatorДата: Пятница, 18 Июля 2014, 08:55 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
Если она попала на сервере - отнимется. Тогда происходит рассылка всем клиентам о попадании пули в такую то цель. Но попадания на клиентах не должны учитываться в игре, тут ты прав.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
aFriendДата: Пятница, 18 Июля 2014, 12:39 | Сообщение # 19
участник
Сейчас нет на сайте
Я к тому клоню, что тебе придется больше действий сделать: и проверять столкновение на сервере, двигать на сервере и двигать в клиенте, почему бы просто не делать все на сервере, а клиенту отправлять лишь данные?
XDominatorДата: Пятница, 18 Июля 2014, 13:10 | Сообщение # 20
постоянный участник
Сейчас нет на сайте
Потому что зачем нам отправлять данные о движениях пуль, если клиент их может рассчитывать сам? Пуля в клиенте - всего лишь необходимая визуализация, но никакого практического смысла она не несет, кроме сообщения юзеру того что "она где то тут есть". А какой смысл ломать визуализацию? А вот если таких пуль у нас скажем одновременно сотня - и постоянно отправлять их координаты - вот это действительно серьезная недоработка по оптимизации.

Добавлено (18.07.2014, 13:10)
---------------------------------------------
Хороший пример такого "взлома" - скажем взлом адены в lineage 2 с помощью artmoney. Ты можешь нарисовать любое число в инвентаре и ходить с ним, но как только количество адены изменится - то тебе с сервера придет новое, реальное число адены. А так да, ее можно нарисовать сколько угодно)))


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » GMS Networking: Tutorial (Учимся работать с сетью в GMS)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг