|
|
|
Опции темы | Опции просмотра |
11.10.2008, 12:14 | #1 |
Опытный
Регистрация: 11.10.2008
Сообщений: 201
Вы сказали Спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Мультиплеер. Разработка сетевого блока.
Для приближения к нормальной сетевой игре пишу код сетевого блока. Если есть информация по данной теме предлагаю ее опубликовать, также можно высказывать свои пожелания и предположения по работе сетевого модуля. Разбирающиеся люди могут предлагать структуру и модель приложения. Любые толковые идеи всегда выслушаю.
Краткое ТЗ: 1.Клиент-серверное приложение. 2.Модульность приложений. 3.Открытая архитектура. 4.Взаимодействие по интерфейсам. Основная работа идет в направлении таких этапов: Этапы разработки. 1.Модуль управления стрелками. Выполнен, тестирование. 2.Модуль построения схемы пути. 3.Модуль сигнализации. 4.Модуль управления занятости пути. 5.Модуль визуализации ПС других игроков. Любой желающий может разрабатывать код любого модуля, потом проведем объединение и компиляцию. Если нет желания раскрывать свои исходники можно будет создать dll с последующим ее подключением к основной программе. Предположительная дата первых тестирований всего приложения конец декабря. |
01.01.2007, 12:00 | |
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
РЕКЛАМА
|
11.10.2008, 12:43 | #2 |
Заслуженный машинист форума
Регистрация: 18.06.2007
Адрес: Щербинка ИЦ ЖТ АО ВНИИЖТ Помощник машиниста электровоза
Сообщений: 9,464
Вы сказали Спасибо: 15,556
Поблагодарили 8,843 раз(а) в 3,119 сообщениях
|
Могу сказать только одно. Если получится, то все любители МСТС тебе и той команде, что будет с тобой работать памятник при жизни поставят. Я серьезно.
__________________
Россия была, есть и будет Империей. И не важно как обращаются к Императору, Ваше Величество или товарищ Генеральный Секретарь.
|
11.10.2008, 12:48 | #3 |
Матёрый пользователь
Регистрация: 28.11.2007
Сообщений: 1,771
Вы сказали Спасибо: 1,439
Поблагодарили 1,526 раз(а) в 459 сообщениях
|
Очень полезная вещь, но с трудом верится что настолько быстро всё удастся выполнить.
Касаемо построения схемы пути - то для диспетчерского пульта можно взять одно из приложений симуляции диспетчерского пульта - Train Director, Train Dispatcher и т.д. Также желательно чтобы Модуль построения пути был выполнен этаким редактором с детальной привязкой к координатам MSTS, и с возможностью передачи информации о скорости движения состава и некоторых дополнительных элементов, при использовании приложения в качестве диспетчерского пульта при мультиплеерах. Кроме того я догадываюсь, что могут возникнуть проблемы именно с третьим - модуль сигнализации. Ввиду того, что сейчас уже имеется целых 3 версии, и причём все разные, и ещё и четвёртая готовится, то настроить модуль под все будет довольно сложно, особенно с учётом того, что каждый из вариантов рано или поздно обновляется. Но с учётом возможности задать конкретный закрытый светофор дальше сигнализация может сработать уже самостоятельно. Что же касается последнего пункта - его рекомендуется выполнить в двух вариантах 1. Модуль, при котором передаётся только информация о местоположении состава другого игрока, и сама составность, а вагоны и локомотивы будут загружаться из компьютера самого игрока - при этом экономия трафа и т.д. 2. Модуль при котором от игрока будет передавать вся информация вместе с файлами вагонов и локомотивов, при этом нужно иметь очень высокоскоростной интернет. Если оба варианта выполнять, то думаю достаточно сделать в настройках клиента или ещё лучше - сервера - опцию с отметкой того или иного варианта. Последний раз редактировалось art-trans; 11.10.2008 в 12:56. |
11.10.2008, 14:11 | #4 |
Опытный
Регистрация: 11.10.2008
Сообщений: 201
Вы сказали Спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Кратко.
Лучше постамент! Схему пути будем строить по файлу "ИМЯ_РОУТА.tdb" + что-то. Там по всей видимости бинарное дерево. Я еще не изучал досконально. Думаю что сделаю только алгоритм, а там выставлю на общее усмотрение, может кто поможет с внедрением данных в пульт. Сигналицазия будет работать из расчета положения стрелок + занятости блок-участков. Сама игра будет делать все за нашу программу. Я буду говорить игре какое положение стрелок + что считать блокированным. Для визуализации думаю кубиков хватит, а там буду думать, что делать дальше. Вот и все что есть на сегодня. Пока изучаю алгоритмы файлов маршрутов. Если кто разбираеться в структуре пишите в данной теме. Быстрей будет дело двигаться. |
11.10.2008, 15:04 | #5 |
Матёрый пользователь
|
Вот немного: http://www.climbatized.narod.ru/folderstructure.html
Ну и здесь: http://www.trainsim.ru/forum/showthr...EF%E0%EF%EE%EA Последний раз редактировалось jawa634; 11.10.2008 в 15:07. |
11.10.2008, 21:09 | #6 |
Матёрый пользователь
Регистрация: 19.11.2007
Сообщений: 1,693
Вы сказали Спасибо: 4
Поблагодарили 584 раз(а) в 170 сообщениях
|
Ну, что-ж если сделают MSTS: MP., (также как, например SA:MP) то будет действительно круто.
__________________
Grebnev contra mundum. |
11.10.2008, 21:36 | #7 |
Разработчик
Регистрация: 11.05.2007
Адрес: Рига, Латвия
Сообщений: 1,330
Вы сказали Спасибо: 613
Поблагодарили 2,174 раз(а) в 632 сообщениях
|
Сам я в программировании такого уровня не шарю, но если нужно - могу помочь в оформлении программы, может и новыми идеями. Уж очень хочется, чтобы такая программа вышла. Обращайтесь в ЛС если что, приблизительно знаю схему управления пультом ДСП (сам готовил несколько маршрутов для поездов).
|
11.10.2008, 22:28 | #8 |
Пользователь
Регистрация: 03.06.2007
Адрес: Санкт-Петербург
Сообщений: 31
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Сам третью неделю занимаюсь этим делом, в частности вторым пунктом т.е. Модуль построения схемы пути. Впринципе успехи есть, написан парсер tdb файла, уже есть алгоритм построения карты маршрута, вот только думаю как рисовать карту маршрута, как это сделано в диспетчерских или же как это сделано в AE, склоняюсь к альтернативному варианту, т.е. рисовать без кривых, просто от VectorNode до VectorNode и т.д. Во первых это будет быстрее, во вторых ПС отображать легче будет (на кривых расчётов больше)
Я вообще думал писать сначала модуль диспетчера, затем модуль машиниста, модуль машиниста передает данные о текущем состоянии состава (скорость, на каком км находится и т.д.), потом отображать все это дело у диспетчера, а вот про переключение стрелок я пока не думал.. Общение между игрокам пока возлагал на тимспик.. DeBUG, про управление стрелками поподробнее, если не сложно, я честно говоря пока даже не представляю как это можно реализовать, хотя и не копался с этой проблемой! |
11.10.2008, 23:49 | #9 |
Матёрый пользователь
Регистрация: 28.11.2007
Сообщений: 1,771
Вы сказали Спасибо: 1,439
Поблагодарили 1,526 раз(а) в 459 сообщениях
|
Я б вообще делал этакими блок участками, чтобы на них могла помещаться картинка поезда, двух максимум.
|
12.10.2008, 02:03 | #10 |
Пользователь
Регистрация: 03.06.2007
Адрес: Санкт-Петербург
Сообщений: 31
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
art-trans Ну сколько поездов поместиться на экране, это уже будет зависеть , я думаю, от зума...
Посидел я так подумал и все таки понял, что полноценный мультиплеер в MSTS сделать нельзя, не получится, dj.dan.mc, помахать рукой встречному, к сожалению. Единственно, что можно сделать, это написать нормальный диспетчерский пульт конкретно для MSTS, и соответственно нормальная сетевая игра будет реализована только для диспетчера, а машинисты по-прежнему будут представлять себе встречные и воображать . Хотя у меня были такие идиотские мысли типа создания "динамического сценария" и т.д. но это бред... не будем об этом Поэтому предлагаю сосредоточиться на диспетчере и действовать по плану DeBUG'a. Первый этап уже готов, на сколько я понял, второй этап готов ~65% (у меня пока что), оставшиеся 35% это собственно код отображения карты по данным из файла (проблема там в координатной системе, но выход уже нашел...). 5 этап по сути является частью второго, т.к. отображать это надо наверно все вместе... А вот 3 и 4 этап я немного не пойму. Чего в сигнализации такого? Файл sigcfg.dat, в нем все есть, что нужно. Да и потом можно отображать только зеленый и красный (открыт\закрыт), или диспетчеру нужно четко знать, что там щас творится на светофоре? И сразу же тогда вопрос про стрелки: диспетчер должен сам переводить стрелки игроку? Или игрок переводит эти стрелки по указанию диспетчера. |
12.10.2008, 04:08 | #11 |
Опытный
Регистрация: 13.07.2007
Адрес: Курск, Москва
Сообщений: 100
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Готовить маршрут и открывать сигнал должен диспетчер. При этом у стрелок бывают только 2 положения: "+" и "-", а у сигналов только 2 варианта: "Открыт" или "Закрыт".
И ещё. Очень хотелось бы оставить проходные светофоры на автодействии, так как в реале управлять проходными светофорами невозможно вручную, они работают только автоматически. То есть на пульт передаётся показание светофора ("открыт"/"закрыт"), и это показание транслируется другим игрокам, но диспетчер не может вручную перекрыть сигнал, по дефолту он должен быть открыт. P.S. Это уже мелочи "притирки". |
12.10.2008, 13:42 | #12 | |
Матёрый пользователь
|
Цитата:
ИМНО, лучше всего, воздействовать на переменную enabled светофора. Устанавливаем ей значение TRUE и светофор открывается, после проезда поезда сбрасываем значение в FALSE. |
|
12.10.2008, 15:14 | #13 |
Матёрый пользователь
Регистрация: 28.11.2007
Сообщений: 1,771
Вы сказали Спасибо: 1,439
Поблагодарили 1,526 раз(а) в 459 сообщениях
|
Лучше всего чтобы после проезда поезда сигнал сам менялся на красный, и чтобы была опция автоматического задания открытого сигнала где это возможно для проходных светофоров, как это выполненно в Train Director'е. Если не понятно - могу добавить иллюстрированное пояснение.
|
12.10.2008, 16:13 | #14 |
Матёрый пользователь
|
А так и будет. Переменная enabled просто разрешает светофору открываться, при выполнении определенных условий (свободность блок-участка, показание след. светофора и т.д.). Условия задаются в файле sigscr.dat.
|
12.10.2008, 16:26 | #15 |
Заблокирован
Регистрация: 15.06.2008
Адрес: 117452 г. Москва, дальше спросить у первого встречного...
Сообщений: 1,746
Вы сказали Спасибо: 2,282
Поблагодарили 1,913 раз(а) в 594 сообщениях
|
ИМХО Сколько не мутузили эти программы для мультиплеера всё стремиться к нулю!
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Что это? |