Форум Trainsim  

Вернуться   Форум Trainsim > Auran TrainZ > TrainZ — Об игре

Ответ
 
Опции темы Опции просмотра
Старый 15.05.2010, 00:06   #1
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,366 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию Вопросы, касающиеся создания мультиплеера с синхронизацией поездов

Блог Combine'а полугодовой давности, думаю, многие знают. http://www.railunion.net/blog/AlexanderG/1_b-56.html

И то, что там дело стало, все тоже знают. Хочу также сообщить, что у меня на данный момент дело тоже встало. Но на несколько другой ноте.

Итак, просматривая который раз МСТСовский раздел о новых возможностях ленты, Вовчик подумал - а у нас-то почему не получается?

Ведь "ленту" (т.е. прогу-чит, получающую информацию из определённых адресов памяти, как правило для ж-д симов) для ТРС ещё некто ИА-ИА пытался делать. Но у него не удалось организовать запись информации вовнутрь трс.

Следующей была попытка Combine'a, но в его алгоритме почему-то не удалось достичь высоких скоростей передачи. Обсуждение подробно описано в вышеприведённом блоге, так что при задании вопросов настоятельно советую проверить наличие ответов там.

Ну Вовчик и решил написать прогу, в дальней перспективе делающую то же самое, что прога Combine'а, т.е. обеспечивающую связь клиентского/серверного приложения с ТРС через некие адреса памяти. Аналогов в сети довольно много, алгоритм обнаружения всех страниц памяти был скопирован на одном из программистских форумов (и затем немного подправлен), а затем алгоритм поиска всех имеющихся строк с заданным содержимым. Так как Вовчик на тот момент забыл ассемблер почти полностью, оставил эту часть кода на Си. Поэтому сканирование 600Мб виртуальной памяти (всего 512 Мб ОЗУ ) для поиска 29-знаковой строки "49994999499949994999499949994" проходило где-то минуты 1-2.

В результате 10 мая была получена прога, получающая адреса переменных, совпадающие с именами из найденных куда более совершенной прогой ArtMoney


Затем Вовчик принялся за главное - сделал интерфейс между трс и прогой. Для этого в ТРС, после запуска сессии со специальным вагоном в одном из поездов, скриптом этого вагона создавались 2 строки, с тем самым содержимым ("499949...949994"). Затем по нажатию кнопки пользователем начиналось сканирование памяти на наличие этих строк. В результате получался массив из 2-36 адресов, среди которых 2 были вагона. Процесс продолжался от 40 до 90 секунд, ИМХО из-за кривизны рук Вовчика и неиспользования ассемблера.

Далее нажатие по одной из ссылок "в свойствах"(в браузере view detailes), благодаря которому обе подчинённые вагону строки изменяли 5й символ. Одна из них - на "I", другая - на "O" (input-output), причём оба понятия относятся к ТРС, а не к проге. Далее нажималась кнопка в проге, обработка нажатия которой находила эти самые нужные буквы, и сохраняла адреса этих двух строк. В результате мы получили то же самое, что создатели лентописцев в МСТС - нашли нужные нам отверстия для управления игрой.

А далее Вовчик подсоединил строку "output" из трс к генератору случайных чисел (внутри скрипта), а в проге - закоротил выход и вход (правда, там предварительный сдвиг фаз делается )

Поиск новых значений организован в ТРС на двух thread'ах, в проге - на одном таймере. Алгоритм подтверждения работает примерно так (показано начало строки, * - любые символы)

для строки output

400***** - скрипту вагона разрешено писать; если прога увидела в 3 символе '0', то чтения не делает

Когда вагон дописывает строку до конца, он меняет 3 символ на 'W', и получается строка

40W**** - здесь W означает не "запись", а "запись закончилась"; если прога нашла такой символ, то она считывает строку, по окончании меняя W обратно на 0. Скрипт ничего при этом не пишет.

для строки input - аналогично

400***** - проге запрещено писать, скрипт строку ещё считывает (потом меняет на R)
4R0**** - прога пишет, скрипт ничего не читает


В результате 14 мая почти ровно в 18-00 эта конструкция успешно заработала. Затем длина кодируемых строк была увеличена до 2001 символа, и было проведено несколько тестов на акелловской 2009, на карте tidewater, где были проложены комбайновские рельсы.

Перед одним из тестов


В проге перед этим сделал дополнительный таймер, чтоб считал число переданных строк в секунду. Эти числа (левое - для отданных трсом, правое - для полученных трсом данных) видно на скрине. Заметте,

7 строк по 2001 символу по 1 байту в секунду = 7 строк по 2001 символу по 8 бит в секунду ~ 110 кБит/секунду. В обе стороны. Одновременно. Для мульта хватит? Мне кажется что да. Учитывая что Conter-Strike требует около 16-32 кБит/секунду.

Хотя конечно процессе игры производительность падала, но, замечу, число переданных строк в секунду никогда не было меньше 3 (40-50кБит/с) в обе стороны (несмотря на fps 3 на некоторых участках (а вообще 6-10), как-никак комп одноядерка на 2ГГц и памяти 512 Мб)

Ну и оставлю я этот вариант опенсорс (под visual studio 8) + вагон со скриптом. Думаю, другим авторам паровозных примочек к компу и мультиплееров для изучения подойдёт, хотя пока это прога "г* на палочке с хвостиком".
http://ifolder.ru/17712909
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 
Старый 15.05.2010, 00:33   #2
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,366 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

да, в отличии от комбайновского варианта, у меня длина сообщения фиксирована. У данной проги 2001 charом. Хотя можно любую другую зафиксировать.
__________________
местный зомбяк
TRam_ вне форума   Ответить с цитированием
Старый 15.05.2010, 00:44   #3
Combine
Матёрый пользователь
 
Аватар для Combine
 
Регистрация: 30.08.2007
Адрес: Московская область, 36км
Сообщений: 3,620
Вы сказали Спасибо: 263
Поблагодарили 304 раз(а) в 172 сообщениях
Combine стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Следующей была попытка Combine'a, но в его алгоритме почему-то не удалось достичь высоких скоростей передачи.
А по морде не хочешь получить? При размере окна в 4096 элементов и 30ФПС в игре уже 12кБ\с получается. Если паковать байт сообщения в байт окна, то 48кБ\с. А если увеличить окно, то скорость любая. Думай, что говоришь.

Цитата:
Ведь "ленту" (т.е. прогу-чит, получающую информацию из определённых адресов памяти, как правило для ж-д симов) для ТРС ещё некто ИА-ИА пытался делать. Но у него не удалось организовать запись информации вовнутрь трс.
Про Варза забыли опять. Мне, вообще говоря, непонятно, почему у Варза и Ослика не получилось, а у меня за два вечера заработало.

Цитата:
Так как Вовчик на тот момент забыл ассемблер почти полностью, оставил эту часть кода на Си. Поэтому сканирование 600Мб виртуальной памяти (всего 512 Мб ОЗУ ) для поиска 29-знаковой строки "49994999499949994999499949994" проходило где-то минуты 1-2.
У меня была скорость 60...80МБ\с.

Цитата:
для строки output

400***** - скрипту вагона разрешено писать; если прога увидела в 3 символе '0', то чтения не делает

Когда вагон дописывает строку до конца, он меняет 3 символ на 'W', и получается строка

40W**** - здесь W означает не "запись", а "запись закончилась"; если прога нашла такой символ, то она считывает строку, по окончании меняя W обратно на 0. Скрипт ничего при этом не пишет.

для строки input - аналогично

400***** - проге запрещено писать, скрипт строку ещё считывает (потом меняет на R)
4R0**** - прога пишет, скрипт ничего не читает
Ненужные костыли. Достаточно одного числа.

Цитата:
да, в отличии от комбайновского варианта, у меня длина сообщения фиксирована.
Вот у меня есть пульт, мультиплеер, и, допустим, лента. Пульту и МП нужен дуплекс, получаем 5 охочих до комиссарского тела сущностей. Если у нас 15ФПС, то получаем по 3 сообщения для каждого желающего в секунду. Маловато даже для ленты.

Цитата:
Для мульта хватит? Мне кажется что да.
А мне ничего не кажется, у меня калькулятор дома есть...
Combine вне форума   Ответить с цитированием
Старый 15.05.2010, 00:55   #4
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 175 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Эй, про рэйлдрайверы и расширенный ввод с клавиатуры не забываем! И возможность продвинутого физического движка вне ТРСа.

Трам, ну есть же уже готовый нормальный формат:
<маркеры><флаг><количество строк>[<длина i-той строки><i-тая строка>]
Зачем выдумывать ненужный двустрочный формат, в два раза более глючный?

Судя по тому, что направлением интересуются, работа будет продолжена.
genesis вне форума   Ответить с цитированием
Старый 15.05.2010, 00:59   #5
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,366 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
У меня была скорость 60...80МБ\с.
у ArtMoney она или такая же, или больше. И что?

Цитата:
Пульту и МП нужен дуплекс, получаем 5 охочих до комиссарского тела сущностей. Если у нас 15ФПС, то получаем по 3 сообщения для каждого желающего в секунду. Маловато даже для ленты.
МП можно вовсе с скрипт загнать и там всё паковать. Сервер может рассылать всем копии полученного из трс сообщения. А уж скрипты-получатели легко могут определить, какой поезд не его пользователя, а какой - его (чтоб скорость поезда пользователя не трогать).

И не понимаю, зачем тебе 2000 байт на сообщение для пульта?

Цитата:
Зачем выдумывать ненужный двустрочный формат, в два раза более глючный?
потому что скорость приёма и скорость отдачи могут отличаться. Особенно учитывая то, что скрипт трс вбивает строку посимвольно, а копирует "всё сразу" (если конечно аурановцы не настолько молодцы что этого не предусмотрели).

Флаги сделать всегда можно, только возиться с ними в трсе прийдётся исключительно в виде символов. Для проги, которая создана за одну неделю знакомства с системным программированием под windows, и созданную исключительно для тестирования скорости двухсторонней передачи программой-недрайвером. Поэтому и нереализована здесь переменная длина строки (но естественно меньше некого предела, но никак не 4Гб), хотя, естественно, она необходима.

Для мульта я бы предложил форму

<флаги><длина строки>[<адресат>, ]
__________________
местный зомбяк

Последний раз редактировалось TRam_; 15.05.2010 в 01:12.
TRam_ вне форума   Ответить с цитированием
Старый 15.05.2010, 01:09   #6
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 175 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Цитата:
Сообщение от TRam_ Посмотреть сообщение
у ArtMoney она или такая же, или больше. И что?
А то, что у тебя получается 5 МБ/с. Я не хочу ждать при смене адреса две минуты пока вновь произойдет поиск и не заработает мой внешний пульт и отомрет управление с клавиатуры, если что.
Цитата:
Сообщение от TRam_ Посмотреть сообщение
МП можно вовсе с скрипт загнать и там всё паковать. Сервер может рассылать всем копии полученного из трс сообщения. А уж скрипты-получатели легко могут определить, какой поезд не его пользователя, а какой - его (чтоб скорость поезда пользователя не трогать).
Что ты так рвешься сразу мультиплеер писать? Это дело отдельного плагина. Ты вообще знаком с базовыми принципами проектировки ПО? Или просто сразу бежишь вперед батьки в пекло?
Цитата:
Сообщение от TRam_ Посмотреть сообщение
И не понимаю, зачем тебе 2000 байт на сообщение для пульта?
А я не понимаю, зачем сейчас выдумывать для сверхполезной фичи ограничения в стиле "64 КБайт хватит для каждого" ©
Цитата:
Сообщение от TRam_ Посмотреть сообщение
потому что скорость приёма и скорость отдачи могут отличаться
Не могут они различаться, у тебя у самого получилось 7 и 7, 7 = 7 начиная с начала исчисления.
Цитата:
Сообщение от TRam_ Посмотреть сообщение
Для мульта я бы предложил форму
<флаги><длина строки>[<адресат>, ]
Вот еще, для мульта писать отдельный код в драйвере.

Последний раз редактировалось genesis; 15.05.2010 в 01:18.
genesis вне форума   Ответить с цитированием
Старый 15.05.2010, 01:17   #7
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,366 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
И возможность продвинутого физического движка вне ТРСа.
так ему надо посылать профиль + степень кривизны рельс. А возвращать вовсе 1 параметр - текущую скорость.

Цитата:
Я не хочу ждать при смене адреса две минуты пока вновь произойдет поиск и не заработает мой внешний пульт и отомрет управление с клавиатуры, если что.
а я хотел написать прогу, которая сдвинет этот вопрос с мёртвой точки. Вон ArtMoney ищет это за 6 секунд (вероятно столько же, сколько комбайновские 60...80МБ\с), а то, что мне это не удалось - я не отрицаю.

Цитата:
А я не понимаю, зачем сейчас выдумывать для сверхполезной фичи ограничения в стиле "64 КБайт хватит для каждого"
потому что скорее мульт в RW будет, чем Скиф сможет свой пульт к ТРС прикрутить.

Цитата:
Ты вообще знаком с базовыми принципами проектировки ПО? Или просто сразу бежишь вперед батьки в пекло?
ни разу. Я не профессиональный программист. Я профессиональный материаловед.
__________________
местный зомбяк

Последний раз редактировалось TRam_; 15.05.2010 в 01:23.
TRam_ вне форума   Ответить с цитированием
Старый 15.05.2010, 01:23   #8
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 175 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Цитата:
Сообщение от TRam_ Посмотреть сообщение
так ему надо посылать профиль + степень кривизны рельс. А возвращать вовсе 1 параметр - текущую скорость.
Ага. Если для каждого вогона писать свой движок, то да
И то, сколько параметров окружающей среды нужно передавать тебе известно? Ветер, тип путей, номер пути, сигнал светофора, показания приборов... Нам неизвестно число, неизвестны пределы.
Цитата:
Сообщение от TRam_ Посмотреть сообщение
потому что скорее мульт в RW будет, чем Скиф сможет свой пульт к ТРС прикрутить.
Как оптимистично. Смотрю вперед, как на американской карте пять человек, включая диспетчера, гоняют американские вогоны единственным тепловозом ТЭМ2
Цитата:
Сообщение от TRam_ Посмотреть сообщение
ни разу. Я не профессиональный программист. Я профессиональный материаловед.
А где ты здесь видишь профессиональных программистов? Для того, чтобы прочитать соответствующие статьи в википедии и скачать пару книжек не требуется нотариально заверенный скриншот диплома о высшем образовании в области информационных технологий.

Последний раз редактировалось genesis; 15.05.2010 в 01:34.
genesis вне форума   Ответить с цитированием
Старый 15.05.2010, 01:26   #9
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,366 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Если для каждого вогона писать свой движок, то да
А зачем тогда вообще внешняя прога, если трсовская физика колебаний/скриптовое управление давлением ТЦ устраивают?

Цитата:
чтобы прочитать соответствующие статьи в википедии и скачать пару книжек
и прочитать часть этих книжек. Честно - ни разу по программистским викам не лазил.
__________________
местный зомбяк

Последний раз редактировалось TRam_; 15.05.2010 в 01:38.
TRam_ вне форума   Ответить с цитированием
Старый 15.05.2010, 01:41   #10
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 175 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Цитата:
Сообщение от TRam_ Посмотреть сообщение
А зачем тогда вообще внешняя прога, если трсовская физика колебаний/скриптовое управление давлением ТЦ устраивают?
Неа, не устраивают.
Решение пневматических цепей по моей задумке требует решения трех матриц общего вида за цикл, размерность равна числу точек в цепи. Отдельно расчет ТМ каждый кадр, это проще, т.к. стандартный трехдиагональный вид, но, возможно, потребуется делать это несколько раз за кадр (явная схема), плюс захват ударных волн. Электрические цепи тоже не легкие, тоже матрицы, общего вида, если повезет, то симметричная, правда. А тут еще динамика, и все дела, т. е. объемы вычислений не для скриптов, как бы

Последний раз редактировалось genesis; 15.05.2010 в 01:50.
genesis вне форума   Ответить с цитированием
Старый 15.05.2010, 02:07   #11
Combine
Матёрый пользователь
 
Аватар для Combine
 
Регистрация: 30.08.2007
Адрес: Московская область, 36км
Сообщений: 3,620
Вы сказали Спасибо: 263
Поблагодарили 304 раз(а) в 172 сообщениях
Combine стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
И не понимаю, зачем тебе 2000 байт на сообщение для пульта?
Потому что у тебя фиксированная длина пакета в 2000 байт.

Цитата:
Флаги сделать всегда можно, только возиться с ними в трсе прийдётся исключительно в виде символов.
Велика беда...

Цитата:
Для мульта я бы предложил форму

<флаги><длина строки>[<адресат>, ]
Любой формат, не позволяющий передавать более одного сообщения в посылке, априори неподходящ для этой затеи. Почему, я уже объяснил.

Цитата:
Что ты так рвешься сразу мультиплеер писать? Это дело отдельного плагина. Ты вообще знаком с базовыми принципами проектировки ПО? Или просто сразу бежишь вперед батьки в пекло?
Ну у нас будет одна прога для МП, одна для пульта Васи, еще одна для пульта Пети, пару штук на регистраторы. И все оно весело полезет одновременно в память.

Цитата:
ни разу. Я не профессиональный программист. Я профессиональный материаловед.
Ей-богу, учи лучше сопромат...

Цитата:
и прочитать часть этих книжек. Честно - ни разу по программистским викам не лазил.
Вот вершков нахватаешься, потом всякую херню пишешь, от которой то ли смеяться, то ли плакать, то ли волосы рвать хочется.

P.S. Интерфейс программки напомнил это:

Последний раз редактировалось Combine; 15.05.2010 в 02:12.
Combine вне форума   Ответить с цитированием
Старый 15.05.2010, 02:19   #12
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,366 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Ну у нас будет одна прога для МП, одна для пульта Васи, еще одна для пульта Пети, пару штук на регистраторы.
или будет одна от agmike и Combine, но исходники только у них, мультиплееры проводятся только на их сайте. А до того "да через jetlog.txt как-то можно подключить скрипт к компу...."

И пульт Васи вряд-ли окажется подключенным у Пети, да ещё и одновременно с его собственным. Хотя бы потому что самодельные пульты - штучные изделия.

Цитата:
Решение пневматических цепей по моей задумке требует решения трех матриц общего вида за цикл, размерность равна числу точек в цепи. Отдельно расчет ТМ каждый кадр, это проще, т.к. стандартный трехдиагональный вид, но, возможно, потребуется делать это несколько раз за кадр (явная схема), плюс захват ударных волн. Электрические цепи тоже не легкие, тоже матрицы, общего вида, если повезет, то симметричная, правда. А тут еще динамика, и все дела, т. е. объемы вычислений не для скриптов, как бы
о воздухораспределителе забыл. В нём под 20 элементов пневматических и ещё пневмомеханические.

А ТМ рассчитывать без учёта наполнения ЗР я бы не советовал.


Цитата:
Ветер, тип путей, номер пути, сигнал светофора, показания приборов...
ветер - в самом движке физики, показания приборов - напрямую в пульт, рукоятки - тоже.

Остаются светофоры, пути и стрелки. Ну и препятствия на переезде.
__________________
местный зомбяк

Последний раз редактировалось TRam_; 15.05.2010 в 02:26.
TRam_ вне форума   Ответить с цитированием
Старый 15.05.2010, 03:32   #13
genesis
Матёрый пользователь
 
Регистрация: 31.07.2007
Адрес: Ульяновск
Сообщений: 2,570
Вы сказали Спасибо: 245
Поблагодарили 175 раз(а) в 76 сообщениях
genesis стоит на развилке (репутация по умолчанию)
Отправить сообщение для genesis с помощью ICQ Отправить сообщение для genesis с помощью Skype™
По умолчанию

Цитата:
Сообщение от TRam_ Посмотреть сообщение
или будет одна от agmike и Combine, но исходники только у них, мультиплееры проводятся только на их сайте. А до того "да через jetlog.txt как-то можно подключить скрипт к компу...."
Да, еще программы-то нет, а уже все поделено-распилено. Русский дух если и есть, то сразу везде.
Какие к черту мультиплееры, написание его займет в двадцать раз больше усилий, чем этого драйвера, а у нас рабочего драйвера еще нет.
Через джетлог, кстати, ничего такого не подключить.
Цитата:
Сообщение от TRam_ Посмотреть сообщение
о воздухораспределителе забыл. В нём под 20 элементов пневматических и ещё пневмомеханические.
С каких пор ВР не считается пневматической цепью?
Цитата:
Сообщение от TRam_ Посмотреть сообщение
А ТМ рассчитывать без учёта наполнения ЗР я бы не советовал.
Да ты прямо Петросян. Нет блин, надо решать каких-то пару десятков матриц за кадр и при этом ТМ с ЗР не будут связаны.
Цитата:
Сообщение от TRam_ Посмотреть сообщение
ветер - в самом движке физики, показания приборов - напрямую в пульт, рукоятки - тоже.
Ну сделай пульты для каждого лока вместе с плагином для каждого лока, раз все так просто напрямую.
Я тут полгода с лишним бьюсь над тем, чтобы создать универсальный конструктор, но сегодня внезапно открыли, что все очень просто напрямую.
Цитата:
Сообщение от TRam_ Посмотреть сообщение
Остаются светофоры, пути и стрелки. Ну и препятствия на переезде.
Ага, и разрушаемые мосты, как в си^W^W тренажере break'а.
genesis вне форума   Ответить с цитированием
Старый 15.05.2010, 09:25   #14
Skif
Матёрый пользователь
 
Аватар для Skif
 
Регистрация: 10.02.2008
Сообщений: 1,440
Вы сказали Спасибо: 0
Поблагодарили 7 раз(а) в 7 сообщениях
Skif стоит на развилке (репутация по умолчанию)
По умолчанию

Господа скриптеры, кончайте эпический срач и пожмите друг другу клавиатуры.

Ну действительно, начните вы с малого - с полнофункционального управления от клавиатуры и дуплексного обмена - это я вам как системщик советую. С меня тогда все железяки для сборки консоли . Со стрелочными приборами в т.ч..

ЗЫ: ищет эдакий хитрый вольтметр с углом вращения стрелки 270 градусов.... Ну, или разломать какой-нибудь еще. Идею с шаговиками следует забыть как страшный сон - жужжат и работают слишком резко, рывками, для манометров не айс. Можно использовать шаговик (и то коллекторник лучше) для мегаизвращенного вращения хомута. скоростемера СЛ2 .
__________________
Это наша-то колея узкая? Да это ваша слишком широкая!
Skif вне форума   Ответить с цитированием
Старый 15.05.2010, 12:51   #15
TRam_
Матёрый пользователь
 
Аватар для TRam_
 
Регистрация: 18.02.2008
Сообщений: 8,703
Вы сказали Спасибо: 1,424
Поблагодарили 2,366 раз(а) в 1,319 сообщениях
TRam_ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Я тут полгода с лишним бьюсь над тем, чтобы создать универсальный конструктор, но сегодня внезапно открыли, что все очень просто напрямую.
чем универсальнее - тем медленнее. Тем более что именно для мультиплеера по минимуму надо

в скрипте
1) мониторинг составов (какие сцепились, какие - нет, какая у кого скорость)
2) установщик скорости составов
3) установщик новых положений стрелок
4) упаковщик/распаковщик

снаружи
1) прога передачи
2) клиентская прога/ сервер, отправляющие серверу(и получающие от него сообщения)/ рассылающий всем пользователям одинаковые сообщения за раз (и получающий сообщения от пользователей)


Цитата:
Любой формат, не позволяющий передавать более одного сообщения в посылке, априори неподходящ для этой затеи. Почему, я уже объяснил.
а что мешает передавать кусок строки, а потом собирать? Не, в самом деле "Мы готовим суперуниверсальные систему управления/системы информирования о свойствах пути/систему расчёта цепей/драйвер передающий любую группу сообщений для работы любых пультов / мультиплееров / локомотивов / тренажёров, поэтому не предлагай нам по своему тупому алгоритму ещё что-то писать на форуме - вся эффектность данного суперпроекта ушла".

Цитата:
P.S. Интерфейс программки напомнил это:
неверно. Там 2 окна должно быть


а пока
Цитата:
у нас рабочего драйвера еще нет.
в любом случае, даже в вашем, скорость передачи данных через инет вряд-ли у всех пользователей мультиплеера будет в 1 Гб/секунду. А вы даже не сообщали, какой-таки скорости выдачи данных из ТРС удалось добиться.
__________________
местный зомбяк

Последний раз редактировалось TRam_; 15.05.2010 в 13:02.
TRam_ вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:52. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?