Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

мультиплеер

Обсуждение общих вопросов по игре

Re: Мультиплеер в Trainz

Сообщение АЧ2-047 » 28.01.2010, 00:08

Очень своевременный вопрос, даже более острый, чем при разработке мультиплеерного модуля для МСТС. Кто-то предложил сделать так - имеем, скажем, 3 типа поездов - пассажирский, пригородный и грузовой. Каждый игрок сам выбирает, каким будет каждый из поездов. Скажем, нет у товарища поезда ЭД4м, он выбирает для отображения пригородных ЭР2. Недостаток один - все поезда одного типа должны быть как можно более одинаковой длины.
Если такое не сделать, трахотня с куидами ещё больше усилится, а выбирать на мультиплеер можно будет только тот ПС, который есть в открытом доступе. Кому это надо?
TS2009 v.3.1 (Акелла)
MaSzyna EU07 v. 1.2.0.2, сборка 2009
MSTS bin v.1.8
Аватара пользователя
АЧ2-047
 
Сообщения: 374
Зарегистрирован: 12.11.2006, 18:30
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: ZDSim
Имя: Алексей

Re: Мультиплеер в Trainz

Сообщение AlexanderG » 28.01.2010, 00:10

Перед началом МП выкладывается настроенная сессия с нужным ПС в нужных местах. Списки согласовываются на начальном этапе, паки выкладываются.
Join Dropbox and SHARE YOUR SHIT FOR FREE!
AlexanderG
 
Сообщения: 761
Зарегистрирован: 27.06.2009, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Блог: Просмотр блога (2)
Имя: Александр

Re: Мультиплеер в Trainz

Сообщение АЧ2-047 » 28.01.2010, 00:12

Всё ясно. Это даже лучше, чем "однообразие". А вот как быть со сходами с рельс? И светофоры на станциях будут в режиме автодействия или вкл/выкл. вручную?
TS2009 v.3.1 (Акелла)
MaSzyna EU07 v. 1.2.0.2, сборка 2009
MSTS bin v.1.8
Аватара пользователя
АЧ2-047
 
Сообщения: 374
Зарегистрирован: 12.11.2006, 18:30
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: ZDSim
Имя: Алексей

Re: Мультиплеер в Trainz

Сообщение AlexanderG » 28.01.2010, 01:24

Сначала нужно научиться вводить\выводить данные из игры. Я планирую написать для этого некий абстрактный универсальный интерфейс, а МП (а так же что угодно другое) подключать в виде плагинов.
Join Dropbox and SHARE YOUR SHIT FOR FREE!
AlexanderG
 
Сообщения: 761
Зарегистрирован: 27.06.2009, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Блог: Просмотр блога (2)
Имя: Александр

Re: Мультиплеер в Trainz

Сообщение Snark » 28.01.2010, 13:47

Такой вопрос: а будет ли возможность поднять собственный мп-сервер, или же придётся довольствоваться только некой группой централизованных серверов от разработчиков мп?
Snark
 
Сообщения: 205
Зарегистрирован: 12.04.2009, 12:58
Благодарил (а): 2 раз.
Поблагодарили: 3 раз.
Блог: Просмотр блога (5)
Играю в: Auran Trainz

Re: Мультиплеер в Trainz

Сообщение TRam_ » 28.01.2010, 13:55

давайте вначале получим надёжный лаз для информации из игры/в игру , а потом уже будем думать. Считаю, что централизованный сервер - это не интересно, чем больше серверов - тем лучше
в z7 всё можно, а что нельзя - можно в sU
Аватара пользователя
TRam_
 
Сообщения: 1925
Зарегистрирован: 30.11.2007, 20:14
Благодарил (а): 2 раз.
Поблагодарили: 66 раз.
Играю в: Auran Trainz
Роль: Разработчик
Имя: Владимир

Re: Мультиплеер в Trainz

Сообщение AlexanderG » 28.01.2010, 13:57

Ну монополию на сервер я, конечно, постараюсь сохранять :) Хотя бы потому, что 20 МП на укозе, в которых участвует по два человека — хренотень. Если технология позволит, возможно, онлайн вообще будет нелимитированным, а для этого нужен централизованный сервер.
Join Dropbox and SHARE YOUR SHIT FOR FREE!
AlexanderG
 
Сообщения: 761
Зарегистрирован: 27.06.2009, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Блог: Просмотр блога (2)
Имя: Александр

Re: Мультиплеер в Trainz

Сообщение Snark » 28.01.2010, 16:00

AlexanderG писал(а):Ну монополию на сервер я, конечно, постараюсь сохранять

Ну здесь палка о двух концах. С одной стороны - централизованный сервер хорош тем, что и сборка сервера всегда самая новая, и онлайн большой, но с другой стороны, будет невозможно покататься только с определенным кругом друзей. Ну и если сервер будет в дауне, то альтернативы не будет. А с возможностью поднять свой сервер, во-первых гоблиньё убежит по своим сральникам, а во-вторых можно будет покататься узким кругом друзей, чтобы никто не мешал. Но в принципе можно реализовать нечто вроде "комнат", как во всяких чатах.
Snark
 
Сообщения: 205
Зарегистрирован: 12.04.2009, 12:58
Благодарил (а): 2 раз.
Поблагодарили: 3 раз.
Блог: Просмотр блога (5)
Играю в: Auran Trainz

Re: Мультиплеер в Trainz

Сообщение AlexanderG » 28.01.2010, 17:34

Но в принципе можно реализовать нечто вроде "комнат", как во всяких чатах.
Запускаем БМО, видим почти две сотни километров, два направления, несколько узловых станций. Пожалуйста, организуется диспетчерский круг, по нему катается тот самый узкий круг друзей. Моя концепция предполагает здоровые карты со здоровым онлайном :) А вообще, рано об этом говорить (см. пост ТРама).
Join Dropbox and SHARE YOUR SHIT FOR FREE!
AlexanderG
 
Сообщения: 761
Зарегистрирован: 27.06.2009, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Блог: Просмотр блога (2)
Имя: Александр

Re: Мультиплеер в Trainz

Сообщение SergXcom_ » 30.01.2010, 15:44

Ну всё ясно, будем ждать
SergXcom_
 
Сообщения: 48
Зарегистрирован: 29.05.2009, 11:54
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Мультиплеер в Trainz

Сообщение Dandi » 24.05.2010, 19:29

Друзья, есть ли какие-нибудь наработки за 5 месяцев? Может, чем помочь надо?
В этом вашем интернете хрен поймешь, кто прикалывается, а кто реально дебил.
Dandi
 
Сообщения: 100
Зарегистрирован: 05.05.2009, 11:12
Откуда: Волгоград
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Играю в: Auran Trainz
Имя: Александр

Re: Мультиплеер в Trainz

Сообщение TRam_ » 24.05.2010, 20:25

да какие там наработки... Ну кроме комбайна теперь и я умею выуживать данные из трс . Но так как я ничего не смыслю в программировании, это никому не нужно. Если надо - http://www.trainsim.ru/forum/showthread.php?t=10625 . Там исходник проги в 8 Visual Studio и вагон, скрипт которого умеет связываться с моей прогой.
в z7 всё можно, а что нельзя - можно в sU
Аватара пользователя
TRam_
 
Сообщения: 1925
Зарегистрирован: 30.11.2007, 20:14
Благодарил (а): 2 раз.
Поблагодарили: 66 раз.
Играю в: Auran Trainz
Роль: Разработчик
Имя: Владимир

Re: Мультиплеер в Trainz

Сообщение AlexanderG » 24.05.2010, 21:11

Друзья, есть ли какие-нибудь наработки за 5 месяцев? Может, чем помочь надо?
Нету.
Join Dropbox and SHARE YOUR SHIT FOR FREE!
AlexanderG
 
Сообщения: 761
Зарегистрирован: 27.06.2009, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Блог: Просмотр блога (2)
Имя: Александр

мультиплеер

Сообщение TRam_ » 03.08.2010, 23:46

мультиплеере
чувствую, последний будет в "симуляторе от Комбайна". Хотя, если будет и в трс, то (если у вас сеть не 16 кб/с) выглядеть это будет не хуже, чем тут (имитируется ping в одну секунду между игроком-сервером (нижний-центральный) и сервером-игроком (центральный-верхний))
www.youtube.com Видео от : www.youtube.com


PS поставил на 2010ую SP3 - ох*ел. Добавилось 4 новые функции по управлению боксованием. Без понятия, что теперь с этим добром делать.... Лучше б разрядку запасных резервуаров сделали
в z7 всё можно, а что нельзя - можно в sU
Аватара пользователя
TRam_
 
Сообщения: 1925
Зарегистрирован: 30.11.2007, 20:14
Благодарил (а): 2 раз.
Поблагодарили: 66 раз.
Играю в: Auran Trainz
Роль: Разработчик
Имя: Владимир

Re: мультиплеер

Сообщение StrVL » 23.08.2010, 18:23

Поскольку никаких наработок «нету», решил попробовать заняться идеей сей. Вот что удалось состряпать за пять дней :tort: :
www.youtube.com Видео от : www.youtube.com

Мультиплеер реализован в виде отдельного правила для сессии. Перед игрой нужно открыть нужную карту в trainz и, добавив мультиплеерное правило, экспортировать в программу список поездов и стрелок. После чего назначить игроков и утвердить, кто чем может управлять. Списки эти сохраняются в файле bin, он понадобится хосту при создании сессии.
Собственно, на настоящий момент доступны только две вещи: переключать стрелки и «водить» поезда (сцепление-расцепление, автомашинист ещё не реализовано (с автомашинистом вообще проблема, так как если задать заблокированному поезду какую-нибудь команду (load например), то блокировка сбросится)).
Каждой стрелке можно назначить игрока, или несколько игроков, которыми она может управляться (у всех остальных она будет по умолчанию «AllowManualControl(false)»). Можно сделать стрелку, как тут выражались, «нецентрализованной», тогда все будут иметь возможность её переключать.
Каждый поезд может быть назначен только одному игроку (или никому). Синхронное движение поездов осуществляется методом периодического слежения за расстоянием от поезда до ближайшего объекта (посредством GSTrackSearch). У каждого игрока, не управляющего данным поездом, скриптом моделируется зависимость этого расстояния от времени с помощью интерполяционного полинома Лагранжа, при этом учитывается расстояние на данном компьютере (иначе со временем погрешность накопится и будет полный рассинхрон), после чего вызывается SetVelocity. Вообще, конечно, предпочтительней был бы метод кратных узлов, но как оказалось, на Auran Script весьма затруднительно решать систему линейных уравнений (во всяком случае, по моим обожаемым формулам Крамера) из-за проблем с точностью float >:( . Хотя очень-очень хотелось бы реализовать этот метод. А тут, как видно, поезда «дергаются». В общем, над этим ещё надо поработать.
Что касается программы, то метод взаимодействия с trainz, надо полагать, не отличается оригинальностью… Сеть же реализована посредством DirectPlay (сокеты были посланы по недопустимому адресу, так как чтобы они обеспечивали необходимый функционал, с ними нужно эшелон велосипедов доизобретать, а мне лень… :P ), причем доисторической версии – из DirectX 7.0. Поздние версии DirectX у меня почему-то отказываются создавать интерфейс на DirectPlay :beak: . Да, в общем-то, это, я думаю, не принципиально. Обмен данными с trainz происходит с периодом в полсекунды (период можно и поменять, но этого пока хватает и я с ним ещё не экспериментировал). Кстати, данные по сети передаются в сжатом посредством библиотеки zlib виде (порой мощно пакеты сжимаются, иной раз становятся на 60% короче :o ). У меня, на моей тормозной беспроводке, которую вечно «душит» лифтёрное отделение за стеной, пакеты от игры до игры доходят за ~ 1-1,5 сек.
В игре же, за передачу данных отвечает статический класс Modem. Для передачи данных достаточно скопировать и подключить модуль с этим классом. Данные представлены структурой Packet, содержащей два поля данных major и minor. Указывается также номер игрока-получателя сообщения (номер минус 2 – широковещательная рассылка пакета). Кроме этого, каждый пакет имеет «тип», заданный куидом. Тип нужен для того, чтобы определять, какой класс скрипт какие пакеты должен получать. Указываешь в типе куид своего дополнения и получаешь пакеты, отправленные экземплярами только твоего дополнения у других игроков.
StrVL
 
Сообщения: 43
Зарегистрирован: 20.11.2009, 08:17
Откуда: Иркутск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Блог: Просмотр блога (2)
Играю в: Auran Trainz

Пред.След.

Вернуться в [TZ] Об игре

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2