Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Unity3D: Помогите с изучением сетевой части.

Unity3D: Помогите с изучением сетевой части.

Поделиться
AlerrПостоялецwww22 янв. 201713:46#0
Привет всем.
Изучаю сеть в Unity? новый UNET. В сети полно всяких уроков, которые просты и сводятся в основном к описанию удаленного вызова процедур, принципам работы SyncVar, списков синхронизации ну и всего такого, что нужно, во основном, для непосредственной организации процесса игры. Поигравшись с этим всем, сделав лобби с возможностью выбирать игроков, наловившись багов в собственных же примерах Unity, я пришел к тому, что сеть нужно конкретней разобрать. А именно меня интересует все, что поглубже чем синквары и удаленные процедуры.
Например, я не могу найти ничего толкового по connections, догадываюсь что это, а как работает не пойму. Почему-то они разные на разных машинах, в общем тут начинается тьма для меня. Еще хотелось бы понять как их лобби работает, да вообще, лучше бы написать свое лобби, hotJoint, ServerMigration. У них это все есть, но я не нашел НИ ОДНОГО примера, который бы работал безотказно и обрабатывал бы все эксепшены. Вот такие дела, посоветуйте литературу, статьи, что-нибудь, что позволит самостоятельно написать с 0 всю их лобби-систему.
endeavour_prПостоялецwww22 янв. 201720:16#1
хз я бы писал на чем то серверном конкретно под тот протокол с которым умеет работать юнити
AlerrПостоялецwww22 янв. 201721:05#2
У меня сервер - это один из игроков. На сколько я понимаю, лучше не выделять обособленный сервер для имитации игры.
tacПостоялецwww23 янв. 20172:07#3
Alerr
> Изучаю сеть в Unity?
зачем изучать какую то оболочку .. попробуйте использовать сокеты на c#
AlerrПостоялецwww23 янв. 20172:53#4
А синквары и удаленный вызов процедур можно будет как-то перенести на это дело?
tacПостоялецwww23 янв. 20173:42#5
Alerr
> синквары
что это такое? SyncVar ? так синхронизируйте ручками ) 

Alerr
> удаленный вызов процедур
во так возможность ) передать текстом имя процедуры и вызвать ... проблема )

а так то вообще необходимости в таком ужасе обычно нет, ухудшает это код в разы

Правка: 23 янв. 2017 4:18

AlerrПостоялецwww23 янв. 201710:01#6
tac
Можете посоветовать книгу или статьи с которых лучше начать изучение сокетов в C#?
SlavaLiaПостоялецwww23 янв. 201710:59#7
tac
> а так то вообще необходимости в таком ужасе обычно нет, ухудшает это код в
> разы
>
>
С чего такое мнение?

tacПостоялецwww24 янв. 201713:16#8
SlavaLia
> С чего такое мнение?
т.к. что вызывать клиенту, не должен говорить никто другой кроме клиента, и тем более когда речь идет о сервере
tacПостоялецwww24 янв. 201713:18#9
Alerr
> Можете посоветовать книгу или статьи с которых лучше начать изучение сокетов в
> C#?
https://professorweb.ru/my/csharp/web/level3/3_1.php
MAXIMПостоялецwww24 янв. 201713:51#10
Зачем писать на сокетах с 0, если есть lidgren? На нем и мастер сервер можно написать.
Еще есть supersocket.net.
Если не только C#, то netty, naga, kbengine и еще найдутся, если поискать.
AlerrПостоялецwww24 янв. 201714:01#11
А на UNet-e что-то серьезное делают? Похоже, что мало кто на нем что-то делает кроме как снятия видосов на ютубе с обьяснением примитивных вещей.
MANABПостоялецwww25 янв. 201711:28#12
+1 к Lidgren
Еще можно TCP сокеты. В этом случае все состояния придется синхронизировать ручками, т.е. самому передавать и устанавливать положения, повороты, масштабы объектов и прочие состояния. Сложнее, но более гибко. Возможно в этом случае придешь к решению серевера не на Юнити, и если сеть у тебя на это завязана не будет, то никаких проблем у тебя от этого не возникнет (кроме написания чисто серверной логики)

Правка: 25 янв. 2017 11:28

/ Форум / Программирование игр / Сеть

2001—2017 © GameDev.ru — Разработка игр