PDA

Просмотр полной версии : Убогость сетевого протокола в Ил-2 ЗС ПХ



=FPS=Plumb
17.05.2005, 07:56
В связи с выходом проекта АДВ с новой силой проявляется убогость сетевого протокола.
Ниже приведенный пост с форума АДВ:
http://www.gennadich.com/forum/posting.php?mode=quote&p=12672




На этот вопрос отвечалось много раз, ничего нового я сказать не могу. В определенный момент скорости модема не хватает, не фактической ни физической никакой. Чисто логически это может происходить
1. Из-а плохой связи
2. Из-за большого объема информации

Если плохая связь - это беда модема, больше чем он может физически он не перекачает, то вот объем прокачиваемого зависит от настроек сетапа Ила. Соответственно именно этот параметр надо ограничивать модемщикам. То есть принцудительно заставлять из снижать скорость соединения в сетапе.

Вопрос =FB=LOFT

Думаю что бесконечные претензии модемщиков к "объему канала" происходят от непонимания что за информация прокачивается и как она количественно и качественно изменяется с увеличением кол-ва игроков на сервере.

Объясните все это плз.

Вот я не понимаю почему у меня при 4-10 игроках все нормально.
Потом когда на сервере 40 чел. А я забился на край карты и в радиусе 15-20 км от меня от силы 10 крафтов обоих цветов - почему ко мне предявляются требования по увеличению пропускной способности канала? Ведь мне вообще по барабану что проиходит в 50-70 км .

Галочка в настройках "Управление отсеченим" вроде должна как раз эту ситуацию разруливать - но не помогает.
Я предлагаю для исправления ситуации добавление в настройках к "Управлению отсечением" еще и числового значения радиуса сферы отсечения. Все что не попадает в сферу выбранного конкретным челом радиуса в соответствии с мощностью его компьютера/модема ему и не показывается. Искючения можно сделать для разрушений - если ему 88 мм разнесло крыло - значит оно отвалится в "чистом небе"
Дополнительно можно поставить фильтры на события - например истребителю все события наземные по барабану - отключаем. Прыжки с парашютом - отключаем. Взрывы и сброс бомб - отключаем. Стрельба зенов - отключаем (если сервер общетает попадание - ну что ж крыло отвалится)

Я себе поставлю 3 км - вряд ли в таком объеме часто будет больше 15 самолетов - что для модема приемлемо.

--------------------------
Прошу ответить подробно. Очень похоже что в оптимизации сетевого кода еще очень много резервов.




Это специфика Ил2 :( Я не могу сейчас говорить о подробностях реализации сетевого протокола в Ил2 :( Но могу сказать что где бы вы не находились и сколько бы не видели самолетов в кадре 40 человек это 40 человек.

Э-э-э , я не пытаюсь разведать особенности сетевого протокола Ил-2.
Я хочу сказать что он несовершенен и что его можно значительно улучшить "косметическими" методами.
Я на 100 % уверен, что легко и свободно можно поставить фильтры на события отправляемые сервером юзеру. Даже не перепрограммируя клиентскую часть, а используя хорошо зарекомендовавшие себя команды серверу с консоли - в т.ч. ввод пароля.
Например: >RadiusView=3000 и т.п.

Когда сервер решит что объект выходит из "сферы видимости" последней командой клиенту пошлет дисконнект объект (к примеру) и все . Ресурсы памяти на клиенте высвобождены.
Когда сервер решит что объект входит в "сферу видимости" - отработает стандартный механизм : с точки зрения клиента этот крафт только что присоединился.

Не знаю насколько готов патч 4.0 но может именно там и реализовать эти фильтры - народ в офф-лайн и коопах вообще ничего не почувствует и не узнает. А МОДЕМЩИКИ будут просто СЧАСТЛИВЫ!!! :-)



Мы давно ломаем с этим копья, но МГ сказали что в данный момент реализация ничего подобного не планируется :(

Может сбросится по 300 р. всем заинтересованным? :-)
Глядишь и запланируют.
Капитализм однако. :-)





Берут меня сомнения тяжкие, что возьмутся даже за дэнги :(

А я 100% уверен что вопрос не в деньгах а в ресурсах МГ и расстановке приорететов.
Думаю что ОМ в курсе этого дела но есть десять тысяч других требований от узверей и реализовать все ни МГ ни ОМ не в силах.....


По конкретному вопросу : сетевые фильтры в выделенном сервере для Ил-2 ЗС остаюсь при своем мнении : работа разовая, быстрая и очень легкая.

В строках кода - не боее 500. Причем ничего не переделывая, а добавляя.

Прошу специалистов из МГ прокомментировать все вышесказанное и оценить во времени и деньгах на 1 чел трудозатраты по реализации моих предложений. 2000 руб. я выдам лично. А более 5000 руб. эта работа по моему и не стоит. Да и по времени не более чем 2 дня. 1 день делать . 1 день тестировать.
(только не надо поражать сложностью работ - линейные алгоритмы и фильтрация данных в них - это многие присуствующие понимают и мозги не запудрить - это не графика 3D)

Помню ОМ говорил что программеру отвечающему за сетевой протокол можно подходить только в шлеме. :-)

Теперь же боюсь что с выходом АДВ этому программеру придется ходить в шлеме. Особенно если куда-нибуть в бар завалит где уже сидят вирпилы не из Москвы :-) и они его опознают :-)

Виктор ( =SF=BELLA-RUS )
17.05.2005, 08:42
Не ну а что ты хотел ? Протоколо натянули по самое немогу чтобы он мог тащить до 128 человек на сервере , естественно чтобы оно приемлемо игралось снизилось количество пакетов в еденицу времени и всё равно при большом количесве народу трафик возрос . В итоге модема 33кбит всё равно начинает нехватать при ~40 человек и выше и плюс ещё в итоге даже при небольшом количестве появиласть такая бяка как подварпливание , причём постоянное . В итоге сейчас если кто-то начинает ручкой вправо-влево дёргать то попасть по нему малореально , раньше всё было поплавнее и такие фокусы непроходили .

Maximus_G
17.05.2005, 08:49
Хм, хм... :)


Мы также хотим особо отметить, что в многопользовательских играх не рекомендуется использовать карты с большим количеством строений (например, такую, как Япония). Состояние каждого дома периодически проверяется программой и пересылается другим игрокам. Это может вызвать существенные задержки при многопользовательской игре. В список рекомендуемых карт входят те, которые изначально создавались для онлайновой игры, (см. список карт в Полном Редакторе).

Выходит, что вместо получения данных только о тех объектах, что _изменяют свое состояние_, клиенты постоянно получают инфу о ВСЕХ объектах.
Вот уже 4 года.
А вы пишете о 5000р.
Тут нужно кое-что покруче - а именно мотивация и возможность МГ обновить сетевые алгоритмы в Иле - и вполне возможно, что в ущерб работе над БоБом.

Кстати, очень может быть, что это не единственная причина ситуации, когда владельцы-выделенщики вынуждены отказывать модемщикам в правах на таких серверах как Г1, АДВ и т.д.

SaQSoN
17.05.2005, 08:53
Я, конечно, не программист МГ, но хочу кое-что сказать по этому поводу. Во-первых, как можно писать такое:


работа разовая, быстрая и очень легкая.
В строках кода - не боее 500. Причем ничего не переделывая, а добавляя.

не имея ни малейшего представления, как сетевой протокол в игре сделан и как он работает?

Поэтому, большая просьба: никогда не пишите подобных фраз, не имея опыта создания чего-либо подобного.

=FPS=Plumb
17.05.2005, 09:27
Я, конечно, не программист МГ, но хочу кое-что сказать по этому поводу. Во-первых, как можно писать такое:



не имея ни малейшего представления, как сетевой протокол в игре сделан и как он работает?

Поэтому, большая просьба: никогда не пишите подобных фраз, не имея опыта создания чего-либо подобного.

Саксон! мне не зачем знать что там наворочено.

Все что нужно - это написать функцию проверки расстояния от любого объекта до Клиента(как объекта) возвращающую True или False , называющуюся ДальностьМеньшеРадиус .
И оператор непосредственно отправлящий сообщение клиенту использовать по условию
Если ДальностьМеньшеРадиус = True Затем SendMessage

Встроить эту функцию именно в ВЫДЕЛЕННЫЙ сервер ИЛ-2. Не в клиента.

Теперь пусть программер ответит: если клиент (Ил-2 на ПК юзера) не получит состояния объекта от сервера что с этим объектом будет?

Мой ответ - ничего как стоял так и будет стоять. Для крафта это будет зависание в воздухе. (видели не раз)
Для наземки - никаких изменений.

Краф как выходит из радиуса действия последней командой должен получить дисконнект объект (якобы удаленный юзер по дисконнекту вышел из игры).

-------------------------------
Саксон !!! Я в 3Д Макс плохо умею работать и сижу тихо . Но еще раз говорю - линейные алгоритмы - это я понимаю и не надо "лохматить бабушку".!!!

Пусть ваш сетевик выскажется - почему у него нет возможности оптимизировать код? (я догадываюсь почему)

Оптимизация кода - это не дело МГ менеджеров и пр. Это дело одного человека который сидит и кодирует.

НА КОЙ ЛЯД КЛИЕНТУ НУЖНО СОСТОЯНИЕ ОБЪЕКТА СЕЙЧАС, ЕСЛИ ВИЗУАЛЬНО И ЛЮБЫМ ДРУГИМ ОБРАЗОМ ОБЪЕКТ НЕ МОЖЕТ БЫТЬ ИСПОЛЬЗОВАН (НАХОДИТСЯ В 100 КМ) ???

pakman
17.05.2005, 09:48
Хм... Если прикинуть:

Координата Х - 4 байта
Координата Y - 4 байта
Высота Z - 3 байта
Азимут в горизонтали - 1 байт
Азимут по вертикали - 1 байт
Крен - 1 байт

Скорости? В общем, их не нужно передовать.

Итого - 14 байт на самолёт

14 х 128 самолёта х 4 раза в секунду = 7168 байта/сек.

Плюс информация о событиях ( +10% ), плюс моя нецензурщина в чате ( +50% ):).

Скажем 10 кбит/с. Прилично...

Если информацию о самолётах, находящихся вне зоны непосредственного контакта передавать только 2 раза в секунду, а тех что вне зоны видимости - 1 раз, объём перекачиваемой инфы уменьшится по крайней мере в 2 раза, и вполне пролезет в модем.

ЗЫ На всякий случай, всё это - мои досужие рассуждения

Stalevar
17.05.2005, 09:57
Хм... Если прикинуть:

Координата Х - 4 байта
Координата Y - 4 байта
Высота Z - 3 байта
Азимут в горизонтали - 1 байт
Азимут по вертикали - 1 байт
Крен - 1 байт

Скорости? В общем, их не нужно передовать.

По идее 1 байт 256, а градусов 360, так что азимут по 2 байта.
Скорость передается, т.к. когда сигнала нет самоль не зависает, а продолжает движение, а так же крутиться по осям. Так что еще скорости вращения по 3-м осям и скорость движения + направление движения.
Ну эт я так, чтоб придраться:)
P.S. научи нецензурщину в чате с такой скоростью печатать ;)

SaQSoN
17.05.2005, 10:01
А ты уверен, что клиенту передаються ВСЕ параметры "невидимого" объекта? А может, все-таки, объем информации, получаемой клиентом от другого клиента зависит от расстояния между ними? Хинт №1.
А откуда ты знаешь что "дисконнект" и "реконнект" юзера не будет вызывать скачок в объеме передаваемой информации, и как результат - резкое увеличение лага (все помнят как иногда фризит игру при подключении юзера к догфайту?). Хинт №2.
А как вобче ты представляешь работу выделенного сервера? Может это всего лишь сетевой коммутатор, получающий IP-пакеты от одного юзера и передающий их всем остальным? Хинт №3. Кроме этого он еще хранит информацию о состоянии наземки и передает ее всем подключившимся, ну и кое-какие настройки тоже (иконки, облака и т.п.). Воти вся его функциональность.
Т.е., чтобы сделать проверку на расстояние, сервер должен будет распаковать/расшифровать содержимое пакета от каждого юзера, проверить, есть ли в этом пакете инфа о координатах этого юзера, подождать получения пакетов от остальных 128 юзеров, проделать с ними тоже самое, дождаться, пока не получит пакеты именно с инфой о координатах каждого из 128 юзеров, сделать проверку на расстояние, отфильтровать лишнее, запапковать и разослать пакеты.
Все просто. Упс! А что делать с пакетами, где нет инфы о координатах? Легка - в каждый пакет пихать инфу о расстоянии! Упс! У нас растет объем траффика! Упс! Надо переделывать клиентскую часть! И еще много "Упс!"

Боюсь программист-сетевик мог бы рассказать вам намного больше о проблемах создания сетевого протокола для игры, но зачем он будет это делать, тем более, людям, которые хают его работу (см. название темы), не имея НИ МАЛЕЙШЕГО представления о ее сути? Хинт №4.

ЗЫ Сталевар, почитай почту и ответь. Или тебе денег не надо? ;)

=FPS=Plumb
17.05.2005, 10:34
Судить о работе выделенного сервера могу только косвенно. Вот выводы:

Хинт №1 и №2: При игре на модеме при кол-ве игроков <= 10 никаких смертельных проблем на Геннадиче 1 не возникает и претензий НЕТ-Т-Т-Т!!!
В том числе по подкючению отключению игроков. Они же не пачками по 10 штук подключаются.

Следовательно объем всей информации от 10 игроков устраивает модемщиков и задача: ОТСЕЧЬ ЛИШНЮЮ ИНФОРМАЦИЮ.

Хинт №3 - если это всего лишь коммутатор, А НЕ ФИЛЬТР то ваш сетевик должен носить не только шлем но и "задницу на всякий случай вазелином смазывать" :-).
Это же надо сколько лет МГ народ на трафик разводит :-) .

Все таки я исхожу из названия : "Выделенный сервер".

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

Хинт 4. Что то замутно. Предполагаем что все таки сервер умеет расшифровывать TCP/IP пакеты и может определять координаты каждого объекта .

Все что надо сделать это иметь на сервере квадратную таблицу:
Например 128 * 128 - понятно содержит информацию о расстоянии каждого юзера(объекта) до каждого юзера. Допустим расстояние меряем в км.
При подключении юзера на филд всю таблицу заполняем нулями.
Функция проверки расстояния должна работать так:
Если расстояние в таблице расстояний :-) меньше (радиуса видимости+1км) то рассчитать расстояние и вернуть как результат работы Истина. Иначе ВНИМАНИЕ уменьшить результат в таблице расстояний на 1 км и вернуть Ложь.
Если Ложь то вообще никакие события от исследуемого удаленного пользователя получателю не отправляются. Вообще никакие.


Хинт 5. В свете того что это может быть всего лишь коммутатор - слов нет ...
Пошел в спортивный магазин покупать биту :-)

Хинт 6. Саксон ты единственный кто приоткрыл завесу тайны над сташным софТом именуемым выделенный сервер.
Я действительно тебе благодарен.
Все что я пишу не с целью обосрать работу других, а
1) с целью улучшить в целом очень хороший продукт
2) лично комфортно участвовать в онлайн проектах на модеме а не на выделенке.

Все же пусть сам сетевик и выскажется. Может он этот сервер на ассембеле написал или вообще в машинных кодах? И теперь там сам черт ногу сломит? Тогда ясно - это как в анекдоте про программеров:
- Что?! Солнце всходит? И заходит? Само всходит и заходит?!!!
- НИЧЕГО НЕ ТРОГАТЬ!!!!!

pakman
17.05.2005, 10:34
По идее 1 байт 256, а градусов 360, так что азимут по 2 байта.
Да как только твой язык смог повернуться! :D Ты на глаз заметишь ошибку в треть градуса? Нифига ты не заметишь. А ты предлагаешь накинуть по байту! Тут никакого траффика не хватит. :p



Скорость передается, т.к. когда сигнала нет самоль не зависает, а продолжает движение, а так же крутиться по осям. Так что еще скорости вращения по 3-м осям и скорость движения + направление движения.
Ну эт я так, чтоб придраться:)

На основании личных наблюдений паранормальных явлений вознесений самолётов на небеса :D в серевой игре я утверждаю, что скорости не передаются, а вычисление координат происходит регрессионным методом. И это с моей точки зрения более чем оправдано.



P.S. научи нецензурщину в чате с такой скоростью печатать ;)
Не научу :p

AndyGandy
17.05.2005, 10:43
Галочка в настройках "Управление отсеченим" вроде должна как раз эту ситуацию разруливать - но не помогает...

А с чего это вы взяли что эта опция влияет на отсечение по сетевому протоколу? Это старая уже фишка Детонаторов по отбрасыванию обсчета геометрии, не видимой на экране. Т.е. задних стенок домов например, они же не видны - вот и не обрабатываются. На некоторых приложениях этим способом тогда nVidia достигала 40% прироста скорости. По-моему это было еще во времена Quake3. Поэтому же галочка "Управление отсечением" находится именно в закладке свойств видео игры.

Кстати протокол, я считаю, намного лучше и продуманнее, чем скажем в том же Battlefield, где попадания обрабатывает сервер, и на модеме вообще попасть в кого-либо просто нереально.

SaQSoN
17.05.2005, 11:40
"Управление отсечением" - указывает что будет заниматься отсечением невидимой геометрии (полигоны, чьи нормали находяться в противоположной от наблюдателя полусфере и те, что перекрыты другими полигонами). Если галочка не включена, то этим занимаеться CPU. Если включена - то GPU, если, конечно он это умеет.

pakman
17.05.2005, 11:42
"Управление отсечением" - указывает что будет заниматься отсечением невидимой геометрии (полигоны, чьи нормали находяться в противоположной от наблюдателя полусфере и те, что перекрыты другими полигонами). Если галочка не включена, то этим занимаеться CPU. Если включена - то GPU, если, конечно он это умеет.
То есть, на 6800 эту галку надо ставить?

aeropunk
17.05.2005, 11:44
2 =FPS=Plumb.

Если МГ сделают так, как ты просишь, и по сетевому протоколу не будет передаваться информация о сильно удаленных самолетах, то я создам новую тему об убогости сетевого протокола.

А что за фигня? В сетевых треках будет отсутствовать информация о некоторых самолетах! Более того некоторые самолеты в сетевом треке будут непонятным образом исчезать и появляться!

Всем возмущенным рекомендую еще раз взглянуть на системные требования для сетевой игры.

Я полагаю, что это большая удача, что при небольшом количестве игроков сетевая игра довольно неплохо идет у меня на скорости модемного соединения 21.6

--------------------------------------------
2 pakman

Еще список повреждений самолета нужно передавать. Проще всего это сделать битовой маской. Так что в зависимости от детализамии ДМ это может быть от 1 до 16 байт.

timsz
17.05.2005, 11:45
Хм... Если прикинуть:

Координата Х - 4 байта
Координата Y - 4 байта
Высота Z - 3 байта
Азимут в горизонтали - 1 байт
Азимут по вертикали - 1 байт
Крен - 1 байт

Скорости? В общем, их не нужно передовать.

Итого - 14 байт на самолёт

14 х 128 самолёта х 4 раза в секунду = 7168 байта/сек.

Плюс информация о событиях ( +10% ), плюс моя нецензурщина в чате ( +50% ):).

Скажем 10 кбит/с. Прилично...


Добавляем очередь из ШКАСа.... Взрыв с осколками... Скин чей-нибудь неожиданный...

pakman
17.05.2005, 11:54
2 pakman

Еще список повреждений самолета нужно передавать. Проще всего это сделать битовой маской. Так что в зависимости от детализамии ДМ это может быть от 1 до 16 байт.
Не вопрос, можно и содержимое диска С передавать. Четыре раза в секунду. Нужно ли только.

Кста, Панк, я так понимаю, ты охотник за бомберами?

pakman
17.05.2005, 11:56
Добавляем очередь из ШКАСа.... Взрыв с осколками... Скин чей-нибудь неожиданный...
Ну, дальше..?

timsz
17.05.2005, 11:57
Еще список повреждений самолета нужно передавать. Проще всего это сделать битовой маской. Так что в зависимости от детализамии ДМ это может быть от 1 до 16 байт.

Я понимаю, на Иле фиксированный набор повреждений. Маска не нужна. А кровища может понадобится.

timsz
17.05.2005, 11:58
Ну, дальше..?

А к какому выводу придти должны?

=FPS=Plumb
17.05.2005, 12:00
Саксон скажи плз

Секретна ли информация как кодируются сообщения в ТСР/IP ?
Тот блок (функция процедура что-там еще) который расшифровывает весь TCP/IP протокол и встроен в клиента ?
Оформлен ли он в виде dll ? Может ли МГ оформить его и выдать "проверенным людям" вроде FB=Loft?


Ведь в крайнем случае если этот модуль можно оформить в виде отдельного софта по типу БРАНДМАУЕРА. Т.Е. ИМЕННО ФИЛЬТРА.

У Геннадьича на ПК будет работать "выделенный сервер" + "брандмауэр ИЛ-2 ЗС ПХ" который и будет отсекать весь исходящий трафик в зависимости от определенных условий.

Я помню как какой-то релиз требовал подключатся к хосту через UBI сервера.
Поломали эту систему по моему дня за три. Думаю что и в этом случае грамотные люди сваяют софт за приемлемное время.

aeropunk
17.05.2005, 12:04
Не вопрос, можно и содержимое диска С передавать. Четыре раза в секунду. Нужно ли только.

Кста, Панк, я так понимаю, ты охотник за бомберами?

Согласен, 4 раза в секунду не нужно. Повреждения достаточно передавать по мере их поступления :)

Я больше люблю истребительный догфайт, но могу и за бомберами поохотиться.

pakman
17.05.2005, 12:05
А к какому выводу придти должны?
А к тому, что всё это - информация о событиях, которая займёт ну, может быть 10% от объёма информации о координатах.

aeropunk
17.05.2005, 12:07
Я понимаю, на Иле фиксированный набор повреждений. Маска не нужна. А кровища может понадобится.
Как это не нужна? Иногда у меня кончик крыла бывает продырявлен, иногда мотор поврежден, иногда тяги перебиты и т.п. Плюс комбинации этих повреждений.

=FPS=Plumb
17.05.2005, 12:09
2 =FPS=Plumb.
Я полагаю, что это большая удача, что при небольшом количестве игроков сетевая игра довольно неплохо идет у меня на скорости модемного соединения 21.6


Возможность "сферы отсчения" может и должна быть реализована в виде опции. Не хочешь не включай.

timsz
17.05.2005, 12:11
А к тому, что всё это - информация о событиях, которая займёт ну, может быть 10% от объёма информации о координатах.

А. Да.

Хотя при хорошей заварушке информация о координатах боеприпасов может быть существенна. Притом именно в этот момент очень хочется иметь хорошую связь.


Если спросить, к чему это я, то я опять не знаю.

pakman
17.05.2005, 12:11
Я больше люблю истребительный догфайт, но могу и за бомберами поохотиться.
Я к тому, что на Г1, когда охотились за Не-111 Винни Пуха, кто-нибудь писал трек, потом выходил, проигрывал трек и говорил по ТС остальным, где находится косолапый . А если бы не было сетевой инфы из-за зоны видимости, хрен бы его откопали :D. Вот я и подумал, что ты на это обижаешься ;).

timsz
17.05.2005, 12:13
Как это не нужна? Иногда у меня кончик крыла бывает продырявлен, иногда мотор поврежден, иногда тяги перебиты и т.п. Плюс комбинации этих повреждений.

Мне кажется, что информация о продырявленном кончике именно так и хранится: "продырявлен кончик". Конкретных координат дырок нет.

aeropunk
17.05.2005, 12:17
Кстати при подсчете нужно еще не зыбыть учесть заголовки пакетов.

aeropunk
17.05.2005, 12:22
Я к тому, что на Г1, когда охотились за Не-111 Винни Пуха, кто-нибудь писал трек, потом выходил, проигрывал трек и говорил по ТС остальным, где находится косолапый . А если бы не было сетевой инфы из-за зоны видимости, хрен бы его откопали :D. Вот я и подумал, что ты на это обижаешься ;).

А, ну да, помню, еще в кооп-онлайн-проектах этот чит нашли, там по логу противника вычисляли. Лично мне это пофиг - самому лень заморачиваться, а если кто-то применит это в отношении меня, мне тоже пофиг.

pakman
17.05.2005, 12:22
А. Да.
Хотя при хорошей заварушке информация о координатах боеприпасов может быть существенна.
Упаси бог! Достаточно информации о координатах источника боеприпасов :D. Координаты боеприпаса с компьютера не уходят. Наверное.

SaQSoN
17.05.2005, 12:23
То есть, на 6800 эту галку надо ставить?
Вроде как, еще на ГФ4Ти можно было. Надо/не надо - решение за юзером. А вот поможет или нет - надо проверять. ;)


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

timsz
17.05.2005, 12:25
Упаси бог! Достаточно информации о координатах источника боеприпасов :D. Координаты боеприпаса с компьютера не уходят. Наверное.

Да фиг знает. По-моему, считают каждый снаряд по-честному. Хотя, действительно, непонятно где обсчет идет.

pakman
17.05.2005, 12:30
Да фиг знает. По-моему, считают каждый снаряд по-честному. Хотя, действительно, непонятно где обсчет идет.
Пока ЗаКуСон тут, надо его спросить. ;)
Не подтвердит ли уважаемый джин, что факт попадания расчитывается исключительно клиентом, то-есть собственно Илом? И что если у меня снаряд попал во врага, а у того на экране пролетел мимо, то повреждение он всё равно получил?

SaQSoN
17.05.2005, 12:30
Хотя, действительно, непонятно где обсчет идет.
У хозяина снаряда.

факт попадания расчитывается исключительно клиентом, то-есть собственно Илом? И что если у меня снаряд попал во врага, а у того на экране пролетел мимо, то повреждение он всё равно получил?
Именно так и есть. ;)

POP
17.05.2005, 12:33
Да фиг знает. По-моему, считают каждый снаряд по-честному. Хотя, действительно, непонятно где обсчет идет.
ИМХО попадания считаются на клиенте, у стреляющего.
Т.е. если ты у себя попал, то на сервер, а потом и клиенту "жертвы" передаётся информация о попадании.
При любых других вариантах, приходилось бы делать поправку на пинги (при стрельбе), а в самом извращённом случае - отдельно на свой пинг, и отдельно на пинг жертвы.

timsz
17.05.2005, 12:34
У хозяина снаряда.

И попадание считается по координатом врага, которые в настоящий момент есть у хозяина? То есть, если я не получил новых координат, то враг уже от меня отвернуть не сможет?

И, пользуясь случаем, еще вопрос. А что тогда видит (и чувствует) тот, по кому палят?

SaQSoN
17.05.2005, 12:35
клиенту "жертвы" передаётся информация о попадании
Передаеться информация о повреждении. Что есть болшой разница.

aeropunk
17.05.2005, 12:36
Мне кажется, что информация о продырявленном кончике именно так и хранится: "продырявлен кончик". Конкретных координат дырок нет.
Я тоже так думаю.
Но это событие нужно передать.
Это можно передать числом, наример, 153 означает, что поврежден кончик крыла. Тогда нужно передавать новые повреждения списком этих чисел.
Можно передавать сразу все повреждения в виде маски, где каждый бит соответствует своему типу повреждения и является флажком есть ли это повреждение.
Нельзя сказать, что один из этих подходов лучше или хуже. Надо смотреть конкретный протокол и объем передаваемых данных в целом, помнить о ненулевой вероятности потери пакета и т.п.

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

POP
17.05.2005, 12:36
И попадание считается по координатом врага, которые в настоящий момент есть у хозяина? То есть, если я не получил новых координат, то враг уже от меня отвернуть не сможет?

И, пользуясь случаем, еще вопрос. А что тогда видит (и чувствует) тот, по кому палят?
При лобвых частенько "ловишь" попадания через секунду-полторы после расхождения

SaQSoN
17.05.2005, 12:37
И попадание считается по координатом врага, которые в настоящий момент есть у хозяина? То есть, если я не получил новых координат, то враг уже от меня отвернуть не сможет?

Эстессно. Вы че, в он-лайне нкада не летали?


И, пользуясь случаем, еще вопрос. А что тогда видит (и чувствует) тот, по кому палят?
Он видит пролетающие далеко мимо трассеры и думает: "ха-ха-ха, мазила несчаснтый!", а в следующую секунду или две чуйствует, что у его самаля что-то отвалилось. :D

POP
17.05.2005, 12:38
Передаеться информация о повреждении. Что есть болшой разница.
Х.з. насчёт разницы. Если конечно одно и тоже попадание не может привести к разным исходам (ДМ)

ROSS_Tracer
17.05.2005, 12:41
А мне кажется, что проблема кроется не в ленности программиста или ещё всякими факторами подобного рода. А в структуре Ила.

Вот допустим, объект вышел за радиус "сетевой сферы видимости". Кстате замечу... что таких сфер должно быть две. На выход и на выход. На вход чуть меньше, на выход чуть больше (чтобы объект на границе этой сферы не маячил, туда-сюда). Что происходит с объектом (самолётом)? Предлагают делать его удаление. А потом заново создавать если он снова "вошёл в сферу". Ага, щаз :) Помните, что происходит, когда заходит новый человек? правильно, всем начинают передавать эту инфу. А если он ещё возьмёт самолёт, на котором в данный момент на этом сервере никто не летает - у всех фриз на короткое время. Нормально %) Идём дальше.... допустим сервер на 128 человек. Серверу требуется постояно ОБСЧИТЫВАТЬ и ЗАПОМИНАТЬ 128 сфер и для каждой сферы держать в VisibleNet и InvisibleNET остальные 127 самолётов!!!! А вот это уже круто :)
Если же не удалять. Можно сделать, что-то наподобие флага: виден, не виден. А это дополнительный слой (Layer) во многих обработчиках событий. Лишние предикаты, которые очень не любят процессоры :)

Ясень пень, что "умный" сетевой сервер, лучше простого транслятора пакетов. А теперь представьте если такой ЛИШНИЙ код и ЛИШНЮЮ память держать в КООПе. Когда кто-то хостит. Нафиг ему нагружать свой
бедный комп? Ему FPSы нужны!!! Да, можно сделать РАЗНЫЕ версии для выделенного сервера и сервера в Иле. Но это держать , поддерживать и апгрейдить одновременно ДВЕ РАЗНЫХ версии.

Вот такие сложности. А вы 500 строк кода, линейный алгоритм. АГА :)

timsz
17.05.2005, 12:42
Передаеться информация о повреждении. Что есть болшой разница.

Соответственно, стреляющий должен до выстрела досконально знать состояние врага?

pakman
17.05.2005, 12:43
Он видит пролетающие далеко мимо трассеры и думает: "ха-ха-ха, мазила несчаснтый!", а в следующую секунду или две чуйствует, что у его самаля что-то отвалилось. :D
Ага, причём беззвучно.

=FPS=Plumb
17.05.2005, 12:44
Похоже Саксон главный менеджер в МГ!

Пуговицы пришыты прочно не оторвешь! (к 3Д вопросов нет) :-)

POP
17.05.2005, 12:44
Соответственно, стреляющий должен до выстрела досконально знать состояние врага?
А что можно стрелять, не зная где находится враг?

timsz
17.05.2005, 12:47
А что можно стрелять, не зная где находится враг?

Я о физическом состоянии. :)

SaQSoN
17.05.2005, 12:47
Можно передавать сразу все повреждения в виде маски, где каждый бит соответствует своему типу повреждения и является флажком есть ли это повреждение.
Нужно передавать только визуальные повреждения. В "Ил-2" это 4 состояния: целый, покоцанный, дырявый и оторванный. И ограниченное число деталей, к которым это применимо: 6 кусков крыльев, 3 куска фюзеляжа, пилот (тока 3 состояния), киль, 2 стаба, и 5 рулей (каждый руль - тока 3 состояния).
Кроме того (остальная) часть деталей имеет тока 2 состояния: целый и оторванный.
Добавте сюда еще состояния для источников дымов (вкл/выкл). Это то, что передаеться для повреждений.
Но, передвються они только на относительно близком расстоянии. Примерно с 3-го ЛОДа ближе.
Со 2-го ЛОДа передаються еще и угол отклонения рулей, положения закрылков и шасси и т.п.

POP
17.05.2005, 12:48
А вообще, из-за сетевых задержек прикольные вещи иногда случаются...
Например, у одного таран а другой цел и невредим на расстоянии в 30 метров от противника пролетел (от того, которого якобы "забодал").
Ух и начитаешься в таких случаях в чате...

Spectat0r
17.05.2005, 12:49
Нда, народ спорит о вкус блюд которых не ел, по их внешнему виду....

"Аффтар, выпей яду", а свои 5000р потрать на нормальный инет.

pakman
17.05.2005, 12:49
А что можно стрелять, не зная где находится враг?
Я думаю, timsz имел в виду другое, а именно, что ты стреляя по врагу, не имея информации, что у того уже отвалился хвост, отрываешь ему хвост, а тому хоть бы хны - хвоста то уже нет! :p %)

POP
17.05.2005, 12:50
Я о физическом состоянии. :)
Ну так и я о том же :)
Тебе нужно знать где находится враг на твоём компе - и всё. ;)

aeropunk
17.05.2005, 12:52
Нужно передавать только визуальные повреждения. В "Ил-2" это 4 состояния: целый, покоцанный, дырявый и оторванный. И ограниченное число деталей, к которым это применимо: 6 кусков крыльев, 3 куска фюзеляжа, пилот (тока 3 состояния), киль, 2 стаба, и 5 рулей (каждый руль - тока 3 состояния).
Кроме того (остальная) часть деталей имеет тока 2 состояния: целый и оторванный.
Добавте сюда еще состояния для источников дымов (вкл/выкл). Это то, что передаеться для повреждений.
Но, передвються они только на относительно близком расстоянии. Примерно с 3-го ЛОДа ближе.
Со 2-го ЛОДа передаються еще и угол отклонения рулей, положения закрылков и шасси и т.п.
Хм, если я прокручиваю свой сетевой трек и переключаюсь на другой самолет, чтобы понаблюдать за боем, который происходил вдали? В этом случае я не увижу повреждений на этих самолетах?

POP
17.05.2005, 12:52
Я думаю, timsz имел в виду другое, а именно, что ты стреляя по врагу, не имея информации, что у того уже отвалился хвост, отрываешь ему хвост, а тому хоть бы хны - хвоста то уже нет! :p %) Дошло, блин... :p :p
Тоже бывает, переругаются потом в чате кто у кого килл украл...

=FPS=Plumb
17.05.2005, 12:56
... Ага, щаз :) Помните, что происходит, когда заходит новый человек? правильно, всем начинают передавать эту инфу. А если он ещё возьмёт самолёт, на котором в данный момент на этом сервере никто не летает - у всех фриз на короткое время. Нормально %) Идём дальше.... допустим сервер на 128 человек. Серверу требуется постояно ОБСЧИТЫВАТЬ и ЗАПОМИНАТЬ 128 сфер и для каждой сферы держать в VisibleNet и InvisibleNET остальные 127 самолётов!!!! А вот это уже круто :)
...
Ясень пень, что "умный" сетевой сервер, лучше простого транслятора пакетов. А теперь представьте если такой ЛИШНИЙ код и ЛИШНЮЮ память держать в КООПе. Когда кто-то хостит. Нафиг ему нагружать свой
бедный комп? Ему FPSы нужны!!! Да, можно сделать РАЗНЫЕ версии для выделенного сервера и сервера в Иле. Но это держать , поддерживать и апгрейдить одновременно ДВЕ РАЗНЫХ версии.

Вот такие сложности. А вы 500 строк кода, линейный алгоритм. АГА :)

Внимательно прочитай все что выше - для ВЫДЕЛЕННОГО СЕРВЕРА!!!нужен фильтр исходящего трафика и все. Причем тут кооп? Клиент вообще не знает что его НАКАЛЫВАЮТ!!!
Ну не нужно инфа о том что происходит в 20-50 КМ!!!
Фильтр встроенный в выделенныый сервер или в виде брандмауэра не важно.

Тем кто фильтром не пользуется - вообще не холодно не жарко.

У тех кто пользуется да - когда посторонний самолет приблизился - он подгрузился. Удалился выгрузился. Но это меньшее зло чем когда тебя кикают раз в 5 мин. из за того что у тебя модем а не ЛАН.

Еще раз повторяю - все действия при кол-ве человек менее 10-12 приемлемы на модеме полностью. У меня на ПК ОЗУ 256 и модем - все нормально. И пинг днем около 300.

Будет на сервере 60 чел. Пойду в уголок карты и поймаю кого-нибуть одного. Без проблем. На взлете или посадке.

POP
17.05.2005, 13:00
А больше всего напрягает, когда результат своей стрельбы видишь через некоторое время после попадания.
Т.е. если повредил противника, то вначале повреждения передаются ему, а уж потом от него поступает информация, что он повреждён.
Частенько при проходе встречными курсами разваливаешь его на части или двигло ему задымишь(и еще не знаешь об этом), а узнаёшь об этом через несколько секунд.
Вот это как-то странно...

SaQSoN
17.05.2005, 13:01
Соответственно, стреляющий должен до выстрела досконально знать состояние врага?
Стреляющему в принципе пофигу. Но игра должна ему показать это состояние, что она и делает. Если вы подлетаете близко к врагу, вы же можете увидеть в нем дырки, дымы, шлейфы бензина и масла и т.п. Даже если вы его в первый раз видите и никакого отношения к этим дыркам не имеете. Т.е. эта инфа передаеться всем, рядом летящим, не только атаковавшему. Или даже, вобче всем, кто есть на серваке, как правильно заметил aeropunk. ;)
Но! Увидит он эти дырки тока после того, как нанесенный им демедж дойдет до его цели и вернеться обратно в виде инфы о состоянии частей "тела".
Те кто в онлайне часто летают, должны помнить ситуацию, када пуляешь по врагу, пуляешь, разрывы видишь, а он - как новенький. А потом ты стрелять перестал, а враг вдруг бац - и развалился (или покрылся дырками)! Но такое бывает тока при плохой связи. Это модемщикам больше знакомо.

ЗЫ Кстати, я достоверно не знаю, как это все работает именно в "Ил-2". Большая часть выше сказанного базируеться на некотором знании об алгоритмах, используемых в других подобных играх, личных наблюдениях в онлайне "Ил-2" и моем здравом смылсе. ;)

=FPS=Plumb
17.05.2005, 13:04
Судя по тому, что говорил Олег - да. И сделано это в целях борьбы с читерами. На заре времен, в некоторых сетевых играх особо извращенные представители этого вида (читеров) использовали "пакет трейнеры", на лету изменявшие содержимое пакета перед отправкой его серверу, тем самым меняя величину наносимого врагу демеджа, например. :)
И вряд-ли Олег будет давать сторонним разработчикам, пусть даже лепшим друзьям, какие-либо части кода. Потому что то, что знают двое - знает весь мир. ;)

Вот и вернулись к человеку в каске :-) и с ....
Где он ? Почему Саксон консультирует по сетевым проблемам?

ROSS_Tracer
17.05.2005, 13:06
Внимательно прочитай все что выше - для ВЫДЕЛЕННОГО СЕРВЕРА!!!нужен фильтр исходящего трафика и все. Причем тут кооп? Клиент вообще не знает что его НАКАЛЫВАЮТ!!!
Ну не нужно инфа о том что происходит в 20-50 КМ!!!
Фильтр встроенный в выделенныый сервер или в виде брандмауэра не важно.

Тем кто фильтром не пользуется - вообще не холодно не жарко.

У тех кто пользуется да - когда посторонний самолет приблизился - он подгрузился. Удалился выгрузился. Но это меньшее зло чем когда тебя кикают раз в 5 мин. из за того что у тебя модем а не ЛАН.

Еще раз повторяю - все действия при кол-ве человек менее 10-12 приемлемы на модеме полностью. У меня на ПК ОЗУ 256 и модем - все нормально. И пинг днем около 300.

Будет на сервере 60 чел. Пойду в уголок карты и поймаю кого-нибуть одного. Без проблем. На взлете или посадке.



Гы. Мда. Тяжёлый случай. Ты уверен, что клиенту будет пофигу, от того, что его, как ты выразился, "накалывают"? Ты знаешь всю реализацию передачи данных КОНКРЕТНОМУ самолёту? Может там идишники... а может там, ради экономии траффика, передаются данные по очереди без идишников. Первый самолёт там-то и так-то... потом второй и так далее до конца и всё заново. А твой фильтр всё будет рушить и ломать в такой последовательности, и придётся переписывать АРХИТЕКТУРУ сетевого протокола? Не слишком ли громкие заявления?

Я привёл только один пример. Наверняка всё не так и ещё сложнее.


Знаешь... есть такой анекдот. Чем отличается русские программеры и индусы? Вот примерно тут тот же случай.

MG-13
17.05.2005, 13:07
Вот и вернулись к человеку в каске :-) и с ....
Где он ? Почему Саксон консультирует по сетевым проблемам?
Саксон это делает по доброй воле, разумеется...:)
А вы всерьез считаете что кто-то обязан дать вам консультации по коду? :)

POP
17.05.2005, 13:11
Внимательно прочитай все что выше - для ВЫДЕЛЕННОГО СЕРВЕРА!!!нужен фильтр исходящего трафика и все. Причем тут кооп? Клиент вообще не знает что его НАКАЛЫВАЮТ!!!
Ну не нужно инфа о том что происходит в 20-50 КМ!!!
Фильтр встроенный в выделенныый сервер или в виде брандмауэра не важно.

Тем кто фильтром не пользуется - вообще не холодно не жарко.

У тех кто пользуется да - когда посторонний самолет приблизился - он подгрузился. Удалился выгрузился. Но это меньшее зло чем когда тебя кикают раз в 5 мин. из за того что у тебя модем а не ЛАН.

Еще раз повторяю - все действия при кол-ве человек менее 10-12 приемлемы на модеме полностью. У меня на ПК ОЗУ 256 и модем - все нормально. И пинг днем около 300.

Будет на сервере 60 чел. Пойду в уголок карты и поймаю кого-нибуть одного. Без проблем. На взлете или посадке.
Да ты пойми.
Если у тебя проблемы возникают, то я сомневаюсь, что дело в нехватке "ширины" модемовского канала.
Я сам до недавнего времени на модеме бился...
При стабильной связи 33.6 и установках в игре 14 или 28, 30-40 крафтов в воздухе пролазят через этот канал!
Может, у прова пул в это время не справляется...
Да и 256 Мбайт - маловато, однако, для такого кол-ва самолётов на карте. Может вообще не в связи дело...
Пока твой комп безжалостно свопит , он может просто на успевать принимать и отсылать данные через модем.
А уж если ещё и модем "софтовый"...
Проверь в диспетчере задач на вкладке "сеть" реальную загрузку канала.

SaQSoN
17.05.2005, 13:12
А вы всерьез считаете что кто-то обязан дать вам консультации по коду?
Тем более, что я уже двовльно просрачно намкнул, почему этого делать не будут. Ну или, не стал бы делать я, будь я тем самым программистом. :)

pakman
17.05.2005, 13:15
Стреляющему в принципе пофигу. Но игра должна ему показать это состояние, что она и делает. Если вы подлетаете близко к врагу, вы же можете увидеть в нем дырки, дымы, шлейфы бензина и масла и т.п. Даже если вы его в первый раз видите и никакого отношения к этим дыркам не имеете. Т.е. эта инфа передаеться всем, рядом летящим, не только атаковавшему.
Но! Увидит он эти дырки тока после того, как нанесенный им демедж дойдет до его цели и вернеться обратно в виде инфы о состоянии частей "тела".

А мне кажется, путь короче в два раза - только до сервера и обратно. Попал ты в чей то бензобак, отправил дёзу об этом серверу. Сервер у себя поставил галочку (или жирный крест :D ) на бензобаке жертвы и заверил мой компьютер, что всё путём. А заодно кинул сообщение жертве, чтобы та не задерживалась и падала. А до жертвы пакет не дошёл. Вот и летает у меня на экране враг как ни в чём не бывало с горящим бензобаком.
Правда, если чесно, таких вещей давно не случалось. А может и не было вовсе...

SaQSoN
17.05.2005, 13:15
есть такой анекдот. Чем отличается русские программеры и индусы?
О, а я не знаю. :) А чем - расскажи. Всяко интереснее, чем все остальное тут. ;)

ROSS_Tracer
17.05.2005, 13:16
Саксон это делает по доброй воле, разумеется...:)
А вы всерьез считаете что кто-то обязан дать вам консультации по коду? :)


Нуууу.. вапще-то (растягивая слова, дырявля взглядом потолки и полы 9 этажей и точно уствившись бету-созвездия Скорпиона), смахивая ногой пыль с ковра....

Когда проводятся соревнования по Ил-2 (особенно по тырнету)... знания особенностей сетевого протокола приносят ощутимый бонус :)

=FPS=Plumb
17.05.2005, 13:18
Саксон это делает по доброй воле, разумеется...:)
А вы всерьез считаете что кто-то обязан дать вам консультации по коду? :)

А!!! знаменитое УНВП и БЖСЭ.

Консультации не нужны.
Ответьте лишь: "Кто шил костюм"?

MG-13
17.05.2005, 13:21
Нуууу.. вапще-то (растягивая слова, дырявля взглядом потолки и полы 9 этажей и точно уствившись бету-созвездия Скорпиона), смахивая ногой пыль с ковра....

Когда проводятся соревнования по Ил-2 (особенно по тырнету)... знания особенностей сетевого протокола приносят ощутимый бонус :)
Ну да, наверное...:)
Но это хорошо, когда кто-то один знает, а если знают все, то какие уж тут бонусы?...:)

=FPS=Plumb
17.05.2005, 13:22
Да ты пойми.
Если у тебя проблемы возникают, то я сомневаюсь, что дело в нехватке "ширины" модемовского канала.
Я сам до недавнего времени на модеме бился...
При стабильной связи 33.6 и установках в игре 14 или 28, 30-40 крафтов в воздухе пролазят через этот канал!
Может, у прова пул в это время не справляется...
Да и 256 Мбайт - маловато, однако, для такого кол-ва самолётов на карте. Может вообще не в связи дело...
Пока твой комп безжалостно свопит , он может просто на успевать принимать и отсылать данные через модем.
А уж если ещё и модем "софтовый"...
Проверь в диспетчере задач на вкладке "сеть" реальную загрузку канала.

Все это уже жевали пережевали на форуме Геннадьеча.

Администрация G1 не с бодуна же решили ПРИНУДИТЕЛЬНО УВЕЛИЧИВАТЬ установки сети в Ил-2 при определенном кол-ве игроков. До LAN. Вот тут то модемщиков отсекает.

POP
17.05.2005, 13:25
О, а я не знаю. :) А чем - расскажи. Всяко интереснее, чем все остальное тут. ;)
http://xoxa.wenet.ru/pmwiki/pmwiki.php?n=HumorPage.AboutProgrammers

MG-13
17.05.2005, 13:31
А!!! знаменитое УНВП и БЖСЭ.

Консультации не нужны.
Ответьте лишь: "Кто шил костюм"?
А в каком месте моего постинга вы сумели прочитать УНВП и БЖСЭ?
Да какая, собственно, разница кто именно что делал? :) Неужели так интересно? :)
Все равно ведь никаких комментариев и, тем более разъяснений, кроме того, что говорит Олег - не будет. И вы отлично понимает почему...:)
Вот мне очень любопытно - почему вы считаете, что только вы заинтересованы в улучшении Ил-2? Или вы считаете, что квалификация наших програмеров настолько низка, что без ваших советов они не знают что делать? Вряд ли вы так думаете, уж очень это несерьезно. Понимаете, если сделано так, а не иначе, значит на это есть весьма веские причины, излагать которые - лишний труд (все же здесь не курсы повышения квалификации для всех желающих). Вы лучше попробуйте просто поверить, что у нас работают весьма грамотные специалисты, в том числе со стажем работы только в игровой индустрии более 10 лет, которые не меньше вашего хотят, чтоб все было в шоколаде. Просто это не всегда возможно, или, скажем так - не всегда возможно сделать все сразу. Но процесс идет...:)

McFris
17.05.2005, 13:35
Брррр...... Даже прочитал. Сперва подумал что или шутка или реклама, но человек настаивает.... Плюмб, в моей самой простейшей программе по синхронизации БД в нескольких городах одновременно, чтобы изменить несколько полей надо столько человеко-часов, что у тебя денег не хватит. О каких 500 или 2000 ты говоришь? Там всё так взаимосвязано, что конца за который дёрнуть не найдёшь.
И я никак не думаю, что отсечение лишних объектов легче. Это настолько сложнее, что мне и в голову не придёт сравнивать.
И главное - никакого выигрыша в скорости ты не получишь, потому что влетевшие в твою сферу завод с прикрышкой задавят твой модем НОВЫМИ событиями, а именно - повреждения каждого объекта влетевшего в сферу, его направления, бк, топливо, стрелки, параметры и пр, пр. В этот момент твой модем просадится по самые помидоры. А в силу используемого UDP, половину информации ты гарантированно потеряешь. Фризы при появлении нового игрока в игре видел? Вот такое ты будешь наблюдать при каждом вхождении в твою сферу приличного кол-ва объектов.

POP
17.05.2005, 13:38
Все это уже жевали пережевали на форуме Геннадьеча.

Администрация G1 не с бодуна же решили ПРИНУДИТЕЛЬНО УВЕЛИЧИВАТЬ установки сети в Ил-2 при определенном кол-ве игроков. До LAN. Вот тут то модемщиков отсекает.
Ну можно понять...
128 игроков - это не 30-40..., хотя там проблемы, скорее канала сервера.
Длинные пакеты выгоднее слать. Ведь при изменении настроек в Иле не только количество информации изменяется, но и "качество".
Но мне кажется, что всёравно НИКТО сетевой код ИЛа переделывать не будет...
Ну не бывает так, чтобы и много, и хорошо, и дёшево.
Хотя багов там и других хватает...
А модемщики... не скоро они "вымрут"...

=FPS=Plumb
17.05.2005, 13:44
УНВП и БЖСЭ в смысле три страницы флейма - все впустую.
Что касается квалификации - да высокая.
Но вижу результат - Костюм :-) Пуговицы пришиты крепко. Но жмет везде.

MG-13
17.05.2005, 13:56
УНВП и БЖСЭ в смысле три страницы флейма - все впустую.
Что касается квалификации - да высокая.
Но вижу результат - Костюм :-) Пуговицы пришиты крепко. Но жмет везде.
А флейм - это по определению - впустую. Разве нет? :)
Все со временем будет - и костюмчик фигуру обляжет и пуговицы, даст Бог, не оторвутся...:)
А если серьезно - нет, не впустую. Даже если и нету комментариев от команды, это не значит, что никто ничего не читал. Просто форум-то - открытый. Кто ж, находясь в здравом уме, станет рассказывать, да еще в подробностях, как чего сделано? Увидят конкуретны - не увидят, поможет это им - не поможет - гадания на эту тему - дело десятое, может да, а может и нет. Но лучше и не давать такой возможности.
Вообщем, резюмируя: форум - читается, пожелание - по мере возможности учитываются, оправдываться - никто не собирается, разъяснять особенности реализации - тоже самое. Вроде все...:)

GDV
17.05.2005, 14:02
Да глупость это, даже в простом конр-страйке более 20человек по лану так лагает - мама не горюй! А вы про модем для ила говорите для 40 человек и более - вы эти 2000р лучше на хорошую связь потратьте!

=FPS=Plumb
17.05.2005, 14:08
Брррр...... Даже прочитал. Сперва подумал что или шутка или реклама, но человек настаивает.... Плюмб, в моей самой простейшей программе по синхронизации БД в нескольких городах одновременно, чтобы изменить несколько полей надо столько человеко-часов, что у тебя денег не хватит. О каких 500 или 2000 ты говоришь?
Там всё так взаимосвязано, что конца за который дёрнуть не найдёшь.
И я никак не думаю, что отсечение лишних объектов легче. Это настолько сложнее, что мне и в голову не придёт сравнивать.


Не усложняйте сущности без необходимости
кто-то древний сказал.

1. Когда пакеты все пропадают из-за дерьмовой связи на 5-10 сек вообще ничего не происходит. Это уже проверено. Клиент корректно обрабатывает вновь появившиеся пакеты.
Задача лишь в том чтобы отделить нужное от ненужного.
Если эта задача не решается в разумное время за разумные деньги. Ну что ж.

Вот у меня был опыт. Фирма сделала софт для банковской деятельности. Мы внедрили. Писк! Класс!
Через год та же фирма сделала другой софт для банка. Мы начали внедрять. Нифига! Просто у них несколько программеров математиков уволились наверное. Бренд остатлся а наполнение... Через год та же фирма делает третий софт : писк!!! Второй софт похерили . Потому что никто не может разобраться в первом софте по аналогии с которым был сделан второй.



И главное - никакого выигрыша в скорости ты не получишь, потому что влетевшие в твою сферу завод с прикрышкой задавят твой модем НОВЫМИ событиями, а именно - повреждения каждого объекта влетевшего в сферу, его направления, бк, топливо, стрелки, параметры и пр, пр. В этот момент твой модем просадится по самые помидоры. А в силу используемого UDP, половину информации ты гарантированно потеряешь. Фризы при появлении нового игрока в игре видел? Вот такое ты будешь наблюдать при каждом вхождении в твою сферу приличного кол-ва объектов.

Шутка из КВН:
- ОХ 40 градусов в тени!!!
- ну ты в тень то не ходи!

Spectat0r
17.05.2005, 14:17
Пора раздавать попугаев за упрямство, граничащее с .......

Silver
17.05.2005, 14:33
Не пара трудится. Парни а вообще трудитесь или трендите в форуме-)))

=FPS=Plumb
17.05.2005, 14:44
А флейм - это по определению - впустую. Разве нет? :)
Все со временем будет - и костюмчик фигуру обляжет и пуговицы, даст Бог, не оторвутся...:)
А если серьезно - нет, не впустую. Даже если и нету комментариев от команды, это не значит, что никто ничего не читал....:)

И слава БОГУ!!!

ПОМНИТЕ , ОН ДУМАЕТ О ВАС !!! :-)

=FPS=Altekerve
17.05.2005, 14:48
Не умна эта идея с радиусом. А если у вас внешние виды включены? А события, которые вне сферы происходят? Тут же не графика передается, не текстуры, а просто координаты и скорости. И судя потому, что при игре 16-32 игрока на моем соединении 31200 все более менее протокол очень и очень хорош. Считайте сами: у каждого самолета 6 степеней свободы (3 угла, три позиции), каждое число минимум короткое целое, значит два байта - 12 байтов на самолет. Время реакции игрока пусть 0,1с => обновляется информация в секунду минимум 10 раз, имеем: 10x2x6=120байт или 960 бит на самолет при самом-самом идеальном протоколе. При соединении 57600 64 самолета даже идеальный протокол потянет еле-еле, я вообще не понимаю, как я на своем модеме подключаюсь к серверам с 64 игроками? Сжатие? Но сжатие может работать, а может и нет - оно может быть и 2%, может быть и 99%.

И лично у меня играбельно при 24 самолетах и на коннекте еще 31200 .
Так что не надо ля-ля про протокол - протокол чудо искусства и инженерной мысли.

Если на сервере будут отключены внешние виды, если будет запрещена запись ленты, если... много каких "если" выполнить, то тогда да, можно попытаться отрезать какую-нибудь "ненужную" информацию, но опять-таки, это не 2000 рублей, это минимум раз в 100 больше. Подозреваю, что товарищ предложивший эту сумму о программировании имеет очень отдаленное представление.

И потом, ну вот леташь ты один, а потом - раз! - и все 64 игрока собрались над одним филдом. Ну и пользы тогда от этих сфер видимости?

ROSS_Tracer
17.05.2005, 15:09
Не умна эта идея с радиусом. А если у вас внешние виды включены? А события, которые вне сферы происходят? Тут же не графика передается, не текстуры, а просто координаты и скорости. И судя потому, что при игре 16-32 игрока на моем соединении 31200 все более менее протокол очень и очень хорош. Считайте сами: у каждого самолета 6 степеней свободы (3 угла, три позиции), каждое число минимум короткое целое, значит два байта - 12 байтов на самолет. Время реакции игрока пусть 0,1с => обновляется информация в секунду минимум 10 раз, имеем: 10x2x6=120байт или 960 бит на самолет при самом-самом идеальном протоколе. При сеединении 57600 64 самолета даже идеальный протокол потянет еле-еле.

И лично у меня играбельно при 24 самолетах и на коннекте еще 31200 .
Так что не надо ля-ля про протокол - протокол чудо искусства и инженерной мысли.


Ну.. да.... почти %) Всё таки поведение самолёта очень предсказуемо. И по данным 1-2-3 секундной давности, его поведение в ближайшее 1-2 секунды более менее предсказуемо (даже если пилот резко дёрнул РУС - вектор движения самолёта изменится не так сильно). Тут важна эта грань... хорошие алгоритмы оптимизации, плотность полезной информации и проч и проч. короче, действительно, искусство. Бум надеется, что сикоро будет ещё лучше :)

Stork
17.05.2005, 15:09
Это все из-за долгого ожидания патча :) . У народа уже крыша едет, вот и приходят всякие "озарения" да рождаются темы-близнецы о "продырявленных кончиках". %)

=FPS=Altekerve
17.05.2005, 15:31
Да, а насчет Геннадьича. У него какие-то свои глюки. Иногда бывает раз! - и фриз. Причем одновременно у всех игроков на сервере (мы в тимспике сидим). А потом начинает выкидывать - одного, второго, третьего.. Сразу несколько человек, пачками. Вижу красные квадраты, переключаюсь, огонек соединения не моргает. Начинаю тут же в эксплорере что-нибудь открывать, качать, почту забирать - огонек соединения загорается, моргает, все отлично. Такое ощущение, что у самого Геннадьича со связью проблемы.

А-спид
17.05.2005, 15:51
Да глупость это, даже в простом конр-страйке более 20человек по лану так лагает - мама не горюй! ???

kurk
17.05.2005, 18:19
Хм... Если прикинуть:

Координата Х - 4 байта
Координата Y - 4 байта
Высота Z - 3 байта
Азимут в горизонтали - 1 байт
Азимут по вертикали - 1 байт
Крен - 1 байт

Скорости? В общем, их не нужно передовать.

Итого - 14 байт на самолёт

14 х 128 самолёта х 4 раза в секунду = 7168 байта/сек.

Плюс информация о событиях ( +10% ), плюс моя нецензурщина в чате ( +50% ):).

Скажем 10 кбит/с. Прилично...

Если информацию о самолётах, находящихся вне зоны непосредственного контакта передавать только 2 раза в секунду, а тех что вне зоны видимости - 1 раз, объём перекачиваемой инфы уменьшится по крайней мере в 2 раза, и вполне пролезет в модем.

ЗЫ На всякий случай, всё это - мои досужие рассуждения

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

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

А насколько я помню самые сложные расчеты это балистика и прогноз погоды ;)

pakman
17.05.2005, 19:27
я удивляюсь
Мой неспешный эстонский друг, ты наверное ещё не успел всё прочитать? :D Так стоит ли удивляться?

Buka
17.05.2005, 20:12
Упаси бог! Достаточно информации о координатах источника боеприпасов :D. Координаты боеприпаса с компьютера не уходят. Наверное.
А ты давно проверял стенку за монитьором :D :D :D

Hishnick
17.05.2005, 20:29
Теперь же боюсь что с выходом АДВ этому программеру придется ходить в шлеме. Особенно если куда-нибуть в бар завалит где уже сидят вирпилы не из Москвы :-) и они его опознают :-)
Это откуда такое предвзятое отношение к вирпилам с периферии? :rolleyes:

GooglieS
18.05.2005, 00:19
Если попадания обрабатываются у меня - что мне мешает сделать чудо-кнопку "сбить самолет противника" при нажатии которой мой ил сообщит "жертве" что в пилота попала пара пуль, в баки и в двигло по паре снарядов?

aeropunk
18.05.2005, 00:34
Если попадания обрабатываются у меня - что мне мешает сделать чудо-кнопку "сбить самолет противника" при нажатии которой мой ил сообщит "жертве" что в пилота попала пара пуль, в баки и в двигло по паре снарядов?
Этому мешает шифрование с двумя ключами, которым закрыт критический код. Расшифровать можно, а зашифровать снова не получится. Кстати, по хорошему помимо всего прочего сетевой протокол должен еще и постоянно проводить аутентификацию клиента на другом конце.

ROSS_Tracer
18.05.2005, 00:48
Этому мешает шифрование с двумя ключами, которым закрыт критический код. Расшифровать можно, а зашифровать снова не получится. Кстати, по хорошему помимо всего прочего сетевой протокол должен еще и постоянно проводить аутентификацию клиента на другом конце.

Я что-то не помню, чтобы траффик в Иле шифровался двумя ключами... вот SFS фалы, да, шифруются именно так. Может я и ошибаюсь... но смущает тот факт... что давным давно... когда вышел патч 1.03 или 1.04 (или из той серии). Емкость сетевого слова (грубо говоря плотность информации) выросло существенно. И начался приход великого и ужастного .ntrk взамен .trk, который, как всем известно, текстовый. И что-то меня терзают смутные сомнения... что эти .ntrk и .trk в какой-то степени напоминают сетевой код. Так что кнопочку "убить гада" я не отвергаю :)

crocodile
18.05.2005, 00:56
Вот ведь флудеры, скажите лучше (кто знает) номер RFC ;) да и дело с концом

Mustang
18.05.2005, 05:15
Сколько максимум летает народу на том же Г1???
Постоянно все 128 человек???
================================
Помните, раньше, типа голосования через инет и все такое...
И щас- голосуте SMS, повальная дибилизация народа... а SMS денег стоит-)))
Че-то мне кажется подобное наступает и у нас....
Кому выгодно, чтобы вирпил сидел на выделенке???
Мы не в Америке, конечно... но как то резкый закос пошел Ила-2 ( проектов на его основе) на выделенку...

Maximus_G
18.05.2005, 06:00
Думаю, это не "закос" Ила, а скорей точка зрения людей, живущих в цивилизованной, стабильной инфраструктуре регионов типа центральной России.
Пример. Знакомый переехал в Москву и снял квартиру, в которой уже есть выделенка. Теперь рассказывает сказки про огромные сетевые ресурсы, объединяющие район, в котором он живет, про быстрый и дешевый интернет.
Во Владивостоке это абсолютная фантастика, здесь всего несколько маленьких сетей, развивающихся чрезвычайно слабо - в силу кучи причин. Наиболее жизненный вариант - приобретение DSL-соединения, но если у меня нет своего дома (и не будет еще хз сколько), я вынужден снимать жилье, то и этот вариант не имеет шансов.
Ну и как соотносить это с мнением типа "когда ж наконец отомрут модемщики?"?

POP
18.05.2005, 06:50
Думаю, это не "закос" Ила, а скорей точка зрения людей, живущих в цивилизованной, стабильной инфраструктуре регионов типа центральной России.
Пример. Знакомый переехал в Москву и снял квартиру, в которой уже есть выделенка. Теперь рассказывает сказки про огромные сетевые ресурсы, объединяющие район, в котором он живет, про быстрый и дешевый интернет.
Во Владивостоке это абсолютная фантастика, здесь всего несколько маленьких сетей, развивающихся чрезвычайно слабо - в силу кучи причин. Наиболее жизненный вариант - приобретение DSL-соединения, но если у меня нет своего дома (и не будет еще хз сколько), я вынужден снимать жилье, то и этот вариант не имеет шансов.
Ну и как соотносить это с мнением типа "когда ж наконец отомрут модемщики?"?
Я извиняюсь, конечно, если кто принял моё высказывание про модемщиков, как "наезд" на них.
Просто констатировал факт...
Сам живу в Новосибирске (третий по величине город России), с модема слез месяц назад, но и то только потому, что уровень доходов у меня гораздо выше среднего и фанатею по ИЛу.
За прошлый месяц за телефон (с учётом инсталляционных платежей за ДСЛ, траффика) заплатил больше 8000 р... Ежемесячно буду платить порядка 2000-2500, потребляя около 500 Мбайт траффика...
Далеко не каждый может себе это позволить... :(
Что уж там говорить про "глубинку"... :(
Правда всёравно, конечно, БУДЕТ развиваться связь, но до уровня "выделенку в каждый дом" дойдём ой как не скоро.
Да что там выделенка... Компьютер всё ещё расценивается как роскошь.
С другой стороны, развитие современных онлайновых симуляторов (да вообще игр) без развития связи ограничено тем самым "модемным каналом". И рассчитывать на то , что ОМ, при наличии в цивилизованном мире возможности иметь очень хорошую связь, будет "урезать" возможности сетевого протокола, подстраиваясь под модемщиков, я бы не стал... Всё-таки, на мой взгляд, главная "вкусность" подобных проектов - хороший онлайн. А оффлайновая версия нужна, в основном, для "затягивания", подготовки к онлайну.
Ведь "локальных" вирпилов в общей массе - единицы.
Может, конечно, я не совсем прав...Но таково моё ИМХО.

=FPS=Plumb
18.05.2005, 07:50
------------- Офтоп: -------------------------------



...
Если на сервере будут отключены внешние виды, если будет запрещена запись ленты, если... много каких "если" выполнить, то тогда да, можно попытаться отрезать какую-нибудь "ненужную" информацию, но опять-таки, это не 2000 рублей, это минимум раз в 100 больше. Подозреваю, что товарищ предложивший эту сумму о программировании имеет очень отдаленное представление.
....


а)
2000 рублей * 100(сто) раз больше = 200,000

200,000 / 15 000 ЗП в белую полный рабочий день = 13,33 месяцев на изменения сетевого кода

Тебя любой руководитель пошлет так далеко что ты не вернешся.
--------------------------------------------------------------------

б)
2000 рублей * 10(десять) раз больше = 20,000

20,000 / 15 000 ЗП в белую полный рабочий день = 1,33 месяца (30 рабочих дней) на изменения сетевого кода

Приемлемо если руководитель в отпуске + в конторе бабок куры не клюют + делать больше нечего.
Только здоровье в курилке посадишь.

в) программера спросят за сколько сделаешь?
- за 1.33 месяца
- ты же не заново делаешь а оптимизирушь
- нужно за 15 рабочих дней. А лучше за 10.
- не буду
- ну ты же понимешь что программеров больше чем рабочих мест?
- не буду
- Сделает другой. А ты иди ищи себе другую работу . И все дела.

Другое дело если руководитель не хочет обострять отношения, деньги за проект уже выплачены, в целом все работает. Чего еще нужно?

Как говорит Черномырдин: "Не чешите там где не чешется!" :-)


Конечно чел может получать и $3000 в белую. Но ведь и требования к нему именно на $3000 - в этом случае его работа вероятно расписывается на часы. :-)

---------------конец офтопа-------

Maximus_G
18.05.2005, 08:09
Я извиняюсь, конечно, если кто принял моё высказывание про модемщиков, как "наезд" на них.
Просто констатировал факт...
Не наезд, конечно, но довольно распространенное мнение.


И рассчитывать на то , что ОМ, при наличии в цивилизованном мире возможности иметь очень хорошую связь, будет "урезать" возможности сетевого протокола, подстраиваясь под модемщиков, я бы не стал...
Рассчитывать и я не буду, но всё же отказываться от модемщиков в сетевом проекте 2006 года - рановастенько, имхо.


Ведь "локальных" вирпилов в общей массе - единицы.
Может, конечно, я не совсем прав...Но таково моё ИМХО.
Прикинув на коленке, отпрыгнув от официальных данных, получил цифру в ~четверть миллиона людей, купивших в России хотя бы Ил и/или ЗС, АВН, ПХ. Онлайнщики - верхушка айсберга.

POP
18.05.2005, 08:40
Не наезд, конечно, но довольно распространенное мнение.


Рассчитывать и я не буду, но всё же отказываться от модемщиков в сетевом проекте 2006 года - рановастенько, имхо.


Прикинув на коленке, отпрыгнув от официальных данных, получил цифру в ~четверть миллиона людей, купивших в России хотя бы Ил и/или ЗС, АВН, ПХ. Онлайнщики - верхушка айсберга.
А ИЛ+ ЗС+ АВН+ ПХ?
А ещё и все патчи...
А если появится сборник?
Т.е. если купил один продукт, это ещё не значит, что гарантировано станет постоянным клиентом.
Покупать то многие покупают, а вот играют или нет...
Да и за БоБом, как думаешь, кто первым в магазины рванёт? ;)

kurk
18.05.2005, 10:09
Мой неспешный эстонский друг, ты наверное ещё не успел всё прочитать? :D Так стоит ли удивляться?

мой молниеносный оппонент, удивлятся стоит ибо я прочитал это



Упаси бог! Достаточно информации о координатах источника боеприпасов .
Координаты боеприпаса с компьютера не уходят. Наверное.


и удивляюсь я тому ,что если координаты боеприпаса не уходят ,то куда они тогда деваются? И как быть с вектором скорости самолета и пули на момент выстрела
Что дает простое знание координаты X Y Z в нашей безбрежной Вселенной из которой может вылетит пуля/снаряд а может и не вылетит?

Если ты , мой реактивный друг, знаком с основами физики и математики, ты знаешь что для расчета баллистической траектории снаряда/пули даже в первом приближении необходимо:

Выбрать систему отсчета ( абсолютная или относительная)
Знать координаты источника выстрела
Знать вектор движения этого источника
Знать вектор скорости снаряда при выстрле в момент в времени t=0
Надо знать массу пули , силу нашего грешного земного притяжения

Уж я не говорю о сопротивлении воздуха, наличии ветра и баллистическом коэффициенте боеприпаса…
http://zigmynd.org/rus/books/youwar/O2.htm

посему меня терзают обосновонные сомнения по поводу твоего тезиса
что “Координаты боеприпаса с компьютера не уходят”
вижу и ты в душе полон сметения и беспокойства ибо ты закончил свой опус словом “Наверное” :D

POP
18.05.2005, 10:32
мой молниеносный оппонент, удивлятся стоит ибо я прочитал это



и удивляюсь я тому ,что если координаты боеприпаса не уходят ,то куда они тогда деваются? И как быть с вектором скорости самолета и пули на момент выстрела
Что дает простое знание координаты X Y Z в нашей безбрежной Вселенной из которой может вылетит пуля/снаряд а может и не вылетит?

Если ты , мой реактивный друг, знаком с основами физики и математики, ты знаешь что для расчета баллистической траектории снаряда/пули даже в первом приближении необходимо:

Выбрать систему отсчета ( абсолютная или относительная)
Знать координаты источника выстрела
Знать вектор движения этого источника
Знать вектор скорости снаряда при выстрле в момент в времени t=0
Надо знать массу пули , силу нашего грешного земного притяжения

Уж я не говорю о сопротивлении воздуха, наличии ветра и баллистическом коэффициенте боеприпаса…
http://zigmynd.org/rus/books/youwar/O2.htm

посему меня терзают обосновонные сомнения по поводу твоего тезиса
что “Координаты боеприпаса с компьютера не уходят”
вижу и ты в душе полон сметения и беспокойства ибо ты закончил свой опус словом “Наверное” :D
Блин... Да если бы мы каждый снаряд и каждую пульку гоняли по сети...
Никакого лана бы не хватило.
Прежде, чем так упёрто настаивать на своём бреде (уж простите, по-другому не назовёшь), прочитай хотябы посты в этой теме...
Если невмоготу, объясняю:
ВСЯ баллистика считается на компе того, кто эту пульку выпустил!
Там же рассчитываются попадания и повреждения, и только РЕЗУЛЬТАТ (повреждения) отправляются в сеть.
Остались вопросы?

SAS
18.05.2005, 10:46
Привет всем:)
хотелосьбы сказать пару интересных вещей:) тоесть моих наблюдений!!
даже 15 человек на сервере из ваших слов спокойно проходят для игры на модеме
(у меня давно выделенка и в ил на можеме не разу не летал!, просто так получилось)
помойму при таком раскладе очень даже не плохой код :) а переделать это надо делать с изнова и при этом разобрать старый код так как что там было написано неупомниш:)
и оценка в 5000р за такую работу просто смешная, труд высоко квалифицированный! времени займет много! а тому кто сказал про 5000р рекомендую за эти деньги пойти яму копать, например длинной метров 30 глубина метр ширина 50 см немного за 2-3 дня управится ежли работать будет а стимул при этом 5000р (всегда то что сам никогда не делал кажется очень легким а вот как возмешся!!!)

----- а теперь об игре можа кому интересно
скорее всего пули и снаряды в полете расчитываются векторно тоесть приходит инфа откуда и с каким напровлением скоростью и размером заряда
(пример летел на лавке сзади кишка выпустила очередь и в игре и на треке очередь прошла на растоянии еще одного крыла от Ла и оно отвалилось

И мое мнение что теже трайсеры например видны на растоянии 6-8 км самолет не видно а трасы есть вот на них и летиш !!

так что я токо за то чтобы видно было все!!

и вся карта была доступна!

но это токо мое мнение!

извиняюсь если не поделу:)

McFris
18.05.2005, 11:02
а тому кто сказал про 5000р рекомендую за эти деньги пойти яму копать, например длинной метров 30 глубина метр ширина 50 см немного за 2-3 дня управится ежли работать будет а стимул при этом 5000р (всегда то что сам никогда не делал кажется очень легким а вот как возмешся!!!)
:D Большую ты ему могилу заказал... %)

=FPS=Plumb
18.05.2005, 11:25
Да-а, сытые голодных не понимают. :-)

У моего знакомого жена работает на оборонку. Софт для радаров делают. В реальном режиме времени. Как раз похоже на ИЛ-2. На мониторе метки летают.
Так у них редко кто 20000/мес получает.
И они не пищат что вот если будет 32 самоля мы их засечем и выведем, а вот если 33 и более упс. совершенствуйте линии связи. :-) Или пусь янки летаю маленькими группами :-)

timsz
18.05.2005, 11:28
У моего знакомого жена работает на оборонку. Софт для радаров делают. В реальном режиме времени. Как раз похоже на ИЛ-2. На мониторе метки летают.
Так у них редко кто 20000/мес получает.
И они не пищат что вот если будет 32 самоля мы их засечем и выведем, а вот если 33 и более упс. совершенствуйте линии связи. :-) Или пусь янки летаю маленькими группами :-)

Связь на 9600 кб?

=FPS=Plumb
18.05.2005, 11:33
Связь на 9600 кб?
За 20000 руб/мес просто не пищат.
Делают и переделывают что надо и как надо на том оборудовании какое есть и сколько надо

aeropunk
18.05.2005, 11:43
------------- Офтоп: -------------------------------
...
---------------конец офтопа-------
Две поправочки.

1. Опытных специалистов-программеров гораздо меньше, чем спрос на них.

Поэтому

2. Менее 30000 в знаменателе на текущий момент просто не серьезно, плюс единый социальный налог.

Rip42
18.05.2005, 12:36
Если невмоготу, объясняю:
ВСЯ баллистика считается на компе того, кто эту пульку выпустил!
Там же рассчитываются попадания и повреждения, и только РЕЗУЛЬТАТ (повреждения) отправляются в сеть.
Остались вопросы?
Сто раз уже было обсуждено - попадания на компе стрелявшего, повреждения на компе жертвы.

pakman
18.05.2005, 12:38
и удивляюсь я тому ,что если координаты боеприпаса не уходят ,то куда они тогда деваются? И как быть с вектором скорости самолета и пули на момент выстрела
Что дает простое знание координаты X Y Z в нашей безбрежной Вселенной из которой может вылетит пуля/снаряд а может и не вылетит?

Тормоз - устройство для уменьшения скорости или экстренной остановки движущегося предмета.

Valabuev
18.05.2005, 12:39
Не усложняйте сущности без необходимости
кто-то древний сказал.
...



ну так быстренько пишеш, хотябы, алгоритм (только человеческий простенький (не усложнённый) чтоб было понятно как сейчас протокол работает и как чего исправить надо) и пуляеш его в супорт. а заодно хзаходиш вот сюда http://sukhoi.ru/forum/showthread.php?t=31095 и кидаеш резюме по отмеченному адресу. С пометкой - типа согласен за сто долларов вычистить вашу "помойку" под названием сетевой протокол, прошу помоч мне в этом благом деле".

Думаю "ТАМ" все обрадуются что наконец-то есть ЧЕЛОВЕК (именно большими буквами) который знает как надо сделать ! И вам седло большое ковёр и телевизор.... ну и так далее...

Maximus_G
18.05.2005, 13:09
А ИЛ+ ЗС+ АВН+ ПХ?
Это что за тайтлы?

А ещё и все патчи...
Они-то тут причем?

А если появится сборник?
А если найдут воду на Марсе? :)

Т.е. если купил один продукт, это ещё не значит, что гарантировано станет постоянным клиентом.
Ты писал о общей массе, а не постоянных клиентах, коих традиционно меньшинство.
МГ делают деньги на продажах игр, которые люди покупают на дисках. Такие игроки как мы влияют на этот процесс так же, как и остальные, пропорционально их количеству.
Будут платные даунлоуды, будет платный онлайн - будет другой коленкор. А пока так.

kurk
18.05.2005, 13:12
Тормоз - устройство для уменьшения скорости или экстренной остановки движущегося предмета.

ну если быть предельно точным то согласно толковому словарю русского языка более точно тормоз это
http://www.vedu.ru/ExpDic/enc_searchresult.asp?S=35393

а обращаясь к началу нашей дискуссии мои тезисы (возможно не совсем верные относительно конкретной реализации протокола) говорят лишь о том что нужно гораздо больше информации передавать по сети чем просто текущие координаты самолета, как утверждаете вы , акселератор мысли
а уж координаты снарядов ли это или повреждения крафтов ИМХО не так уж принципиально важно. Важно ИМХО что вычислительные ресурсы распределенной системы (сервер + компьютеры играков) с увиличением этих самых игроков растут линейно а количество взаимных событий требующих общета и передачи по сети не линейно и имеет гороздо более крутую зависимость ну степенную или там экспотенциальную.

Вообщем все ветка основана на непроверенных данных о работе сетевого кода и без участия разработчиков ИМХО ни к чему конкретному не приведет

pakman
18.05.2005, 14:45
Эх, нет ничего приятнее, чем общаться с подкованным человеком!

ну если быть предельно точным то согласно толковому словарю русского языка более точно тормоз это
http://www.vedu.ru/ExpDic/enc_searchresult.asp?S=35393

Ну кто ж, как не ты, должен быть об этом в курсе :D . Совет: если хочешь быть предельно точным, не ссылайся на гуманитарные науки. К примеру, по указанной ссылке нет упоминания Эстонии, страны с многовековой культурой и традициями, хотя каждый в курсе, что она должна там фигурировать как мировой лидер.


а обращаясь к началу нашей дискуссии мои тезисы (возможно не совсем верные относительно конкретной реализации протокола) говорят лишь о том что нужно гораздо больше информации передавать по сети чем просто текущие координаты самолета
Это твоё "гораздо больше" вряд ли составит хотя бы 10% от траффика координат самолётов.


а уж координаты снарядов ли это или повреждения крафтов ИМХО не так уж принципиально важно. Важно ИМХО что вычислительные ресурсы распределенной системы (сервер + компьютеры играков) с увиличением этих самых игроков растут линейно а количество взаимных событий требующих общета и передачи по сети не линейно и имеет гороздо более крутую зависимость ну степенную или там экспотенциальную.

Эк куда хватил! "Экспотенциальную"! Не торопись :D , не надо. Я надеюсь, ты не будешь утверждать, что в Иле обсчитывается физика гравитационного притяжения между самолётами, а так же наземныи объектами? Так и где же здесь степенной рост числа взаимодействий? Или на вновь зашедшего на сервер игрока у каждого самолёта вырастает по пушке, чтобы стрелять одновременно ещё и по нему? Рассматривая отдельно взятого модемщика можем сказать,что если не брать возможность столкновения самолётов и учитывая размер карт, то количество случающихся событий растёт примерно прямо пропорционально коичеству самолётов. Северу, конечно, похуже, но у него и вычисления попроще. Другое дело, конечно, что при 50 игроках очередь, данная одним из них будет просчитана 50 раз, по разу на каждом компьютере. Зато в сеть не пойдёт уйма ненужной информации о пулях.



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

Voz
18.05.2005, 15:00
А не подскажут ли просвещенные люди, насколько трудоемко сделать в догфайте Ила динамически изменяемую линию фронта, "переходящие" на другую сторону аэродромы и передвигающуюся наземную технику?

POP
18.05.2005, 15:16
Сто раз уже было обсуждено - попадания на компе стрелявшего, повреждения на компе жертвы.
Не ну всех не переслушаешь... :D
Страницу назад мне было сказано наоборот. А я и повёлся... :D :D.
Скорее всего, так и есть -повреждения считается на компе жертвы...
А жаль. Так можно много потерять (если пакет до жертвы не долетел), и повреждения у стрелявшего отображаются с задержкой....
Хотя, зато погрешности траектории на чужом компе не приводят к разрушениям твоего самолёта (видимо, не просто было разделить повреждения от оружия и повреждения от удара о препятствие, или просто не стали этого делать).

kurk
18.05.2005, 18:31
...К примеру, по указанной ссылке нет упоминания Эстонии, страны с многовековой культурой и традициями, хотя каждый в курсе, что она должна там фигурировать как мировой лидер...

вопросы обсуждения сетевого протокола отошли на второй план, диспут сместился в сторону выяснения исторической значимость вклада народностей Европы в мировую культуру.
Зачем столько сарказма? Да что сегодня за день такой? :confused: :D

ну мировой не мировой, лидер не лидер а есть позиции по которым Эстония прочно заняла свое место и отдавать его никому не собирается.
Инфотехнологии например :cool:

Исследование World Economic Forum, проведенное в 102 стране мира (The Global Information Technology Report 2003-2004 – The Network Readiness of Nations), отводит Эстонии 25 место по общей инфотехнологической готовности. Южная Корея и Бельгия не такое уж плохое соседсво.
Россия же мощным рывком обогнала Пакистан и финишировала на 62 месте аккурат позади Коста-Рики,Мексики и Тринидада и Тобаго %) :D

http://www.weforum.org/pdf/Global_Competitiveness_Reports/Reports/GITR_2004_2005/Networked_Readiness_Index_Rankings.pdf

поэтому тема модемной связи для Эстонии давно уже не актуальна. :p

если нужна любая дополнительная информация по Эстонии милости прошу, всегда к твоим услугам ибо ,как ты справедливо заметил, нет ничего приятнее, чем общаться с подкованным человеком!
ну или сам покапай тут http://www.estemb.ru/lang_15/rub_655/rub2_657

pakman
18.05.2005, 19:13
Ну вот и славненько

А-спид
19.05.2005, 01:55
Да и за БоБом, как думаешь, кто первым в магазины рванёт? ;)
Москвичи. Лично я буду тихо медитировать еще минимум 2 недели. И никакй ДСЛ мне не поможет.

Sexton
19.05.2005, 09:05
А нас в игре скорость сети можно менять в широких пределах: от 9600 до LAN (или больше - дальше просто случая не было смотреть). Так же мы знаем что при разных скоростях передается разный объем данных.

Вот интересно. Каким данным игра отказывает в передаче при скорости 9600 и какие дополнительные данные передает при скорости LAN? Или данные передаются теже, но с разной частотой?

aeropunk
19.05.2005, 12:08
А нас в игре скорость сети можно менять в широких пределах: от 9600 до LAN (или больше - дальше просто случая не было смотреть). Так же мы знаем что при разных скоростях передается разный объем данных.

Вот интересно. Каким данным игра отказывает в передаче при скорости 9600 и какие дополнительные данные передает при скорости LAN? Или данные передаются теже, но с разной частотой?

Например, на 9600 тебе не будут передаваться положения управляющих поверхностей других самолетов, а на LAN будут.

Yo-Yo
19.05.2005, 23:20
Например, на 9600 тебе не будут передаваться положения управляющих поверхностей других самолетов, а на LAN будут.

И с восстановлением ориентации там похуже становится. Дергаться начинают.

=FPS=Plumb
20.05.2005, 09:57
Например, на 9600 тебе не будут передаваться положения управляющих поверхностей других самолетов, а на LAN будут.

Т.е. настройки скорости передачи данных жестко связаны с объемом передаваемых данных. Чем больше выбираемая скорость передачи тем больший объем данных передается принимается.

Давайте мухи отдельно котлеты отдельно!

Т.е. настройки объемов передаваемой информации - одно, а скорость передачи данных другое.

Насколько понятно из всех постов :
протокол сделан так что при инициализации сервера на 64 пользователя сразу инициализируются массивы данных с размерностью 64*ххх.
Для свободных для подсоединения мест ячейки массивов заполняются нулями и их успешно сжимает модемный протокол передачи данных.
Как только кол-во пользователей переваливает за 30 то объем передаваемых данных превышает 48 кбит/сек.
Администрация Г1 пытается бороться с этим принудительно увеличивая настройки сети переходя на ЛАН. В результате чего объем передаваемых данных резко вырастает за счет детализации .
И все модемщики до этого балансировавшие на грани кикаются .

Так что кроме варианта со сферой отсечения для обеспечения комфортного присуствия 64 модемщиков на большой карте придумать ничего нельзя.
Странно что об этом не задумывались ранее.

crocodile
22.05.2005, 00:12
Мастера флуда на общие темы, слушай суды, берем Ethereal (модемы ищут спец. библиотеку) или там сетевой монитор дампим именно UDP (а то тут некоторые говоря про убогость протокола всуе TCP поминают ;) ) и смотрим. У меня при скорости 56кб данных в пакетах более чем на 300 БАЙТ не было, а есть и по 15 - 20 (что хреново MTU не настроишь). Возможно что это поток, передаваемый дискретно (частота дискретизации зависит от выставленной в настройках скорости связи-это и ежу понятно), возможно что с ACK (черт знает, смотреть надо, а времени нет) Но тогда на сервак ложится задача выравнивать скорости и усекать "лишние" данные из толстых "потоков" в "тонкие" Вот чудится мне там поток сообщений... и возможно такой:
1, ID пилота или объекта (не по никам же вас разводить в потоке :) )
2. X - точность их можно косвенно определить по логу и они похоже флоаты, точность до сотых милиметра гы!
3. Y
4. z
5. Крен
6. Тангаж - из 2-6 и растет стрельба по пингу

И больше там вроде нафиг ничего не надо (вроде бы), если учитывать тот факт что все остальное считается на клиенте, НО это относительно объекта. А исчо не забывайте что надо бы установить соединение, т.е. передать начальное состояние окр. среды. Это кокраз ;) и происходит при заходе на сервак (вот тут-то серваку и плохеет ;) ибо это надо раздать всем) Тоже просто. Но еще надо организовать мониторинг состояния окружающей среды - получаем служебные сообщения, которые сначала уходят от клиента (принасекоившего, ну к примеру Пака - очень редкий тип сообщения ;) ), а с сервака всем (кроме клиента, про split horison девелоперы должны были что-то слышать) Формат служебного сообщения может быть такой:
1. ID объекта - кто
2. ID объекта - связанный объект (к примеру, вирпил помнял самоль, о чем всем надо рассказать)
3. Состояние - если пришло такое сообщение, то состояние поменялось - мне рисуется что то типа EventLog - номер события и его параметры

По идее, служебные сообщения о событиях можно запихать, при такой схеме, и в первый тип, но на кой ляд мне все время рассказывать где стоит корапь или зена, с другой стороны, получение служебынх сообщений должно быть надежным, следовательно, нужны ACK (от всех, и даже клиенту от сервера, что получил) тоже плохо, но что делать...
В общем, рисуется мне этакая базочка данненьких, периодически подновляющаяся.
Вот что мерещится моему, воспаленному перед экзаменом, сознанию

Сферы счиать может только сервер (клиенту не из чего), а если считать сферы, то почему бы и вообще все не отдать серверу? Пущай загнется родимый. Если правда то, что все обсчитыается на клиентах, коду для такого решения переписывать и переписывать - все заново и серверную часть и клиентскую - проще будет. И хито этим будет заниматься для почти вымирающих модемщиков?

ЗЫ. Реализовывать на серваке 64 массива, а потом их пустые гонять по всему интернету - зря вы так плохо думаете о МГ, я в это почему-то не верю :D
ЗЗЫ при таком решении очень обидно осознавать, что зена оторвавшая тебе полморды живет на твоей же машине, а не на каком ни будь мифическом сервере.

ЗЗЗЫ При такой схеме можно экономить полосу пропусания на координатах, не так часто их передавать (что и наблюдаеся) а так же второстепенных событиях ну типа там подмигивание пилота, повороты рулей, стриптиз в исполнении зенитчиц...

ЗЗЗЗЫ Паку: Истинный азимут передавать - излишества, достаточно хранить Х и У из предыдущего пакета

Maximus_G
22.05.2005, 06:11
протокол сделан так что при инициализации сервера на 64 пользователя сразу инициализируются массивы данных с размерностью 64*ххх.
Для свободных для подсоединения мест ячейки массивов заполняются нулями и их успешно сжимает модемный протокол передачи данных.
При отключении сжатия соединения с софтверным модемом, стабильность связи на Г1 _повышается_.

Kyzmich
23.05.2005, 00:42
При отключении сжатия соединения с софтверным модемом, стабильность связи на Г1 _повышается_.

Это совет или вопрос?

...Всю неделю пролетал на G1 -ни одного фриза и кика ?
При этом число участников от20 до 50!? Соедениние 56к в ИЛ-е,в конфиге 4400?Прям странно?Может что поправили?

Maximus_G
23.05.2005, 02:32
Это совет или вопрос?
Не совет и не вопрос, личное наблюдение и комментарий к версии =FPS=Plumb.
Если вместо отсутствующих игроков идут нули, то они сжимаются еще раньше, чем доходят до модема.


...Всю неделю пролетал на G1 -ни одного фриза и кика ?
При этом число участников от20 до 50!? Соедениние 56к в ИЛ-е,в конфиге 4400?Прям странно?Может что поправили?
Сорри, не понял этого потока мыслей :)

VityNar
23.05.2005, 08:38
Две поправочки.

1. Опытных специалистов-программеров гораздо меньше, чем спрос на них.

Поэтому

2. Менее 30000 в знаменателе на текущий момент просто не серьезно, плюс единый социальный налог.

Agree. У нас объявляния о приеме на работу программистов по городу начинаются с 40000. С учетом необходимых налогов 63724 рябчика в мес получается.

=FPS=Plumb
23.05.2005, 08:58
Agree. У нас объявляния о приеме на работу программистов по городу начинаются с 40000. С учетом необходимых налогов 63724 рябчика в мес получается.

Что за город такой чудесный?

Вот что у нас:
----------------------------
Требования:
возраст от 20 до 65.
Образование - Высшее .
Стаж работы - 2 года.

Зарплата:
от 500 у.е./месяц

Опыт работы/навыки:
* глубокое знание С++; * хорошая математическая подготовка (вычислительная геометрия, численные методы, алгоритмы); * знание предметной области и алгоритмов 3D-графики; * глубокое знание и большой опыт использования OpenGL; * знание английского языка (техническая терминология, свободное чтение технической литературы, способность полноценно документировать программы); * опыт разработки приложений с использованием STL; * способность работать в команде, чувство юмора. Содержание работы: * разработка, внедрение и поддержка программных продуктов компании.


Описание:
Работа в офисе в г.Бердске. Оплачиваемый отпуск, соц.гарантии. Заработная плата: от 500 у.е. по результатам собеседования. Резюме обязательно по e-mail.

Работодатель:
СибАйТи

=FPS=Plumb
23.05.2005, 15:52
Agree. У нас объявляния о приеме на работу программистов по городу начинаются с 40000. С учетом необходимых налогов 63724 рябчика в мес получается.

Если ты отсюда:

Location:
Сургут, ХМАО

то наверное в Арабских эмиратах еще больше платят?

MG-13
23.05.2005, 16:00
Если ты отсюда:

Location:
Сургут, ХМАО

то наверное в Арабских эмиратах еще больше платят?
Не знаю, как в эмиратах, а вот тут
http://dev.dtf.ru/vacancy/info.php?id=2380&page=1
предлагают 1200-1600.
Это в Москве.

aeropunk
23.05.2005, 16:28
Хе-хе, вот где собака порылась:

Стаж работы - 2 года.

2-года - это птенец неоперившийся.
Для 10-летнего стажа работы уже совсем другие расценки. :)

Тут может быть уместна аналогия с коньяком. :D
Хороший коньяк в первом попавшемся магазине не купишь, и цена совсем другая. :D

grun
23.05.2005, 18:37
Все что нужно - это написать функцию проверки расстояния от любого объекта до Клиента(как объекта) возвращающую True или False , называющуюся ДальностьМеньшеРадиус .
...
Встроить эту функцию именно в ВЫДЕЛЕННЫЙ сервер ИЛ-2. Не в клиента.


это значит что на серваке надо вести "риалтайм" базу расстояний от каждого объекта до каждого т.е. табица с колич-вом записей равной квадрату кол-ва всех объектов. Дальше надо держать снапшот фильтрованного варианта таблицы для каждого объекта исходя вашей желаемой дальности. Если в ваш радиус умещается вся карта , то это уже попахивает размером равным 3й степени от кол-ва объектов - имхо всё упрётся в системные требования к серверу.

Kyzmich
24.05.2005, 01:11
Интересно,а эта прелесть тоже обсчитывается серваком?

crocodile
24.05.2005, 01:46
При всей убогости протокола он не пролезает в мопед :) Но гаспада АДСЛщики выставляют в Иле скорость соединения 28800 и имея пинг 50 дают такого гопака, что не у всякого модемщика получится :) Хм и вот еще что. Я тут умные слова было начал писать, про ICMP но посмотрев дамп трафика ни фига ни разу не увидел ICMP request/repay т.е. цифирь по букве Сэ считается исходя из UDP, интересно это как так? Хотя в районе закрытия соединения всетаки водятся несколько destination unreachable`ов


Интересно,а эта прелесть тоже обсчитывается серваком?

Ага, у Геннадича 4 х Третьих Спарка в кластере :D :D :D :D Или 8 Оптеронов перевязанных %) %) %)

=FPS=Plumb
24.05.2005, 09:06
это значит что на серваке надо вести "риалтайм" базу расстояний от каждого объекта до каждого т.е. табица с колич-вом записей равной квадрату кол-ва всех объектов. Дальше надо держать снапшот фильтрованного варианта таблицы для каждого объекта исходя вашей желаемой дальности. Если в ваш радиус умещается вся карта , то это уже попахивает размером равным 3й степени от кол-ва объектов - имхо всё упрётся в системные требования к серверу.

Да - "риалтайм" базу расстояний от каждого объекта КОТОРЫЙ ХОЧЕТ ИСПОЛЬЗОВАТЬ СФЕРУ ОТСЕЧЕНИЯ до каждого т.е. таблица с колич-вом записей В КРАЙНЕМ СЛУЧАЕ равной квадрату кол-ва всех объектов.

Т.е. массив например 256*256 =65536 ячеек * 2 байта(целое число)/1024 = 128 Кбт (надеюсь не напутал). В памяти сервера этот массив спокойно уместится.
Далее для каждого кто хочет использовать сферу отсечения анализируем только одну строчку массива содержащую расстояния до всех объектов в игре.
Причем априори считаем что расстояния уменьшаются на 1 км в сек.
Т.е. от расстояния в таблице отнимаем 1, затем если расстояние между получателем пакета и анализируемым объектом больше чем радиус отсечения +1 км анализ прекращаем сведения о анализируемом объекте получателю не посылаем переходим к анализу след. объекта.

Если после вычитания расстояние <= сфера отсечения вычисляем расстояние. Если оно меньше сферы отсечения инфу об этом объекте получатею посылаем.
Не думаю что этот алгоритм как то уж очень сильно нагрузит совеременный процессор/сервер.

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

=FPS=Plumb
24.05.2005, 09:58
Не знаю, как в эмиратах, а вот тут
http://dev.dtf.ru/vacancy/info.php?id=2380&page=1
предлагают 1200-1600.
Это в Москве.

В общем с сетевым протоколом все понятно :-)

Проблем нет, но "драку уже заказывали и было уплочено".

А за так " и прыщ не вскочит".

Тем более когда:

А также великолепные возможности для отдыха:
• Незабываемые корпоративные вечеринки и загородные поездки
• Просторный бар и кинозал (бесплатное пиво без ограничений после 20:00)
• Единомышленники, готовые рубиться с вами в онлайновые игры, шаманить над AD&D, GURPS и MTG

или что-то вроде и все это уже заработано честным трудом.
--------------------------------

Ну а кто хочет всего лишь поиграть пусть за вот такие бабульки тянут толстые линии:
http://www.es-nso.ru/tarif-n/?p=sibdsl&d=sibdsl

grun
24.05.2005, 10:41
2 =FPS=Plumb: по памяти вопросов нет. А алгоритм не пишется априори "я отказываюсь от" - в алгоритме д.б. все объекты + радиус +фильтры на типы объектов. Я имел в виду не память а быстродействие.

=FPS=Plumb
24.05.2005, 10:54
2 =FPS=Plumb: по памяти вопросов нет. А алгоритм не пишется априори "я отказываюсь от" - в алгоритме д.б. все объекты + радиус +фильтры на типы объектов. Я имел в виду не память а быстродействие.

Ну хорошо: :-)

отлючаем обсчет наземки посылая команду серверу с консоли игрока:
> ground = false

при инициализации таблицы:
Расстояние = 1000

при проверке расстояний до объектов
если (ground =false и СледОбъект.Ground = True)
тогда Расстояние = 1000
иначе Расстояние = ФункцРассчитатьРасстояние(МойОбъект,СледОбъект)

Надеюсь что объекты как-то поделены на типы :-)
аеропланы наземка бомбы и пр.

------------------------------

Мне кажется несколько тактов процессора по любому быстрее чем отправка пакетов сетевого протокола. Пока предыдущий пакет уйдет, слдедующий уже посчитается.

grun
24.05.2005, 11:53
2 =FPS=Plumb: ну хорошо , навскидку :)


player - это только player
объект - это всё включая player


массив_1:
объект_1, тип, Point_ху,h
...
объект_мах, тип, Point_ху,h



массив_2: (C - расстояние от объекта1 до объекта2 т.е. в каждой ячейке С=((h1-h2)^2+(x1-x2)^2+(y1-y2)^2)^1/2
-------- объект_1.....объект_мах
player_1, С11, .... С1max
...
player_max, Cmax1, .... Cmaxmax



массив_3 (признак видимости да/нет исходя из текущих настроек игроков)
-------- радиус объект_1.....объект_мах
player_1, ххх, (да/нет), ....
...
player_max ....


это не учитывая фильтра по типам, а также текущие "особенности реализации" :)

timsz
24.05.2005, 12:07
А откуда инфа, что идея сферы не реализована?

Другой вопрос, какой процент объектов при нормальной догфайтовой карте и нормальном мочилове окажется вне сферы?

grun
24.05.2005, 12:21
массив1 скорее всего есть, массив2 думаю вряд ли..

отсечение на догфайтной маленькой карте получится имхо небольшое, хотя если даже треть то тоже ничего

=FPS=Plumb
24.05.2005, 14:11
А откуда инфа, что идея сферы не реализована?

Другой вопрос, какой процент объектов при нормальной догфайтовой карте и нормальном мочилове окажется вне сферы?

Из практики известно что до 20 игроков на сервере G1 обслуживаются отлично.
За 30 игроков - начинаются проблемы.
Убитый на другом конце - фиксируется в лог файле
Сброс парашютистов звеном Ли-2 вообще у всех все блокирует.

И чел использующий сферу отсечения не должен лезть в места где заведомо известно(через ТС) что имеется большое скопление самолетов.

Такие ограничения отлично подходят для проектов типа G1 и АДВ :
толпа полетела штурмовать филд/город на основном направлении.
А "калеки" с модемами заранее блокировали аэродромы на удалении 20-50 км от основной цели.
Охота опять же в районе вражеских АФ. Перехват одиночных бомберов и пр.

timsz
24.05.2005, 14:27
Так ты предлагаешь всю он-лайн идеологию поменять? А игроков спросил? Тут уже не только техническая реализация и убогость. Дело политицское! ;)

AlexD
24.05.2005, 15:52
Хм и вот еще что. Я тут умные слова было начал писать, про ICMP но посмотрев дамп трафика ни фига ни разу не увидел ICMP request/repay т.е. цифирь по букве Сэ считается исходя из UDP, интересно это как так?

А какие проблемы посчитать Round-Trip Time по времени прохождения UDP ? Оно даже честнее будет ;) И какой смысл гонять лишний траффик в ICMP только для вычисления RTT.



Хотя в районе закрытия соединения всетаки водятся несколько destination unreachable`ов

Ну это естественно. Port unreacheable небось. Кто-нибудь сокет закрывает слишком шустро.

P.S. А вообще, вся эта тема весьма странная. Люди понятия не имеют как именно формируются данные для передачи по сети, что именно передается клиенту, как полнота передаваемых данных влияет на состояние модели у клиентов, что можно отфильтровать, а что поставит модель раком и всяко далее. Вобщем, сочуствую сотрудникам ОМ, надеюсь что у них есть здоровое чуство юмора, чтобы читать всю эту пургу :)

grun
24.05.2005, 16:01
Вобщем, сочуствую сотрудникам ОМ, надеюсь что у них есть здоровое чуство юмора, чтобы читать всю эту пургу :)
они не читают, и правильно делают :)

crocodile
24.05.2005, 22:11
А какие проблемы посчитать Round-Trip Time по времени прохождения UDP ? Оно даже честнее будет ;) И какой смысл гонять лишний траффик в ICMP только для вычисления RTT.

RTT подразумевает ответ на четко посавленный вопрос, через когда пришел replay на четко поставленный request (ну и штамп соответственно) т.е. пакеты нуна нумеровть, и т.д. и т.п. повторное изобретение велосипеда. Но с другой стороны понятно зачем это, жаль... мысль о том, что UDP пакетцы можно подержать пару-тройку секунд (ну чтоб крепче были ;) ) без вреда для пынга придется оставить. :D :D :D



Ну это естественно. Port unreacheable небось. Кто-нибудь сокет закрывает слишком шустро.

P.S. А вообще, вся эта тема весьма странная. Люди понятия не имеют как именно формируются данные для передачи по сети, что именно передается клиенту, как полнота передаваемых данных влияет на состояние модели у клиентов, что можно отфильтровать, а что поставит модель раком и всяко далее. Вобщем, сочуствую сотрудникам ОМ, надеюсь что у них есть здоровое чуство юмора, чтобы читать всю эту пургу :)

Ну пока нет патча надо же очем-то подфлудеть, и мозг поточить ;) Не про патч же :p Хотя понять что там передается и как фильтруется не так уж и сложно, сложно формат дейтаграммы узнать, и способ шифрования

Давайте луше про шары не флудеть, а подумаем вот над чем, фрагментятся ли Иловские датаграммы при передаче или нет? Скорее всего нет, но некоторые приколы сетевые можно было бы объяснить этим, как мне кажется

RR_Vespertinus
24.05.2005, 23:51
Млин Шпециалисты!!! %) :D
Кто-нить имеет опыт разработки проектов такого размера?

я бы не стал оспаривать квалификацию программеров, работающих в МГ.

Если тут собрались настолько крутые программисты, что, не зная реализации, оценивают порядок работ. Говорят о каких-то массивах. И вообще оказывается представляют как работает модель передачи данных в Иле. Ну, так почитайте специализированные ресурсы, а потом пишите письмо в МГ с кратким описанием алгоритма.

crocodile
25.05.2005, 02:12
И вообще оказывается представляют как работает модель передачи данных в Иле. Ну, так почитайте специализированные ресурсы, а потом пишите письмо в МГ с кратким описанием алгоритма.

Не представляют, а предполагают, попрошу заметить, исходя из собственных знаний и некоторых умений на этот счет
;)

Я думаю что у МГ вся эта битва в песочнице даже умиленной улыбки не вызывает. Даже хорошо зная все открытые протоколы ни фига не разберешься в закрытом (да еще ко всему прочему, возможно, шифрованному) Лично меня не интересует его (де)оптимизация шарами (и без них фризит и лагает), а то как этот протокол устроен вовнутрях.

AlexD
25.05.2005, 03:20
RTT подразумевает ответ на четко посавленный вопрос, через когда пришел replay на четко поставленный request (ну и штамп соответственно) т.е. пакеты нуна нумеровть, и т.д. и т.п. повторное изобретение велосипеда. Но с другой стороны понятно зачем это, жаль...

Практически на 100% уверен что пакеты и так пронумерованы и имеют timestamp. Это же UDP. Иначе как бороться с потерей и изменением порядка пакетов и синхронизировать задержки?



мысль о том, что UDP пакетцы можно подержать пару-тройку секунд (ну чтоб крепче были ;) ) без вреда для пынга придется оставить. :D :D :D

А смысл? Пинг стал самоцелью? :D Для комфортной игры имеют значение только задержки при передаче самих данных.



а подумаем вот над чем, фрагментятся ли Иловские датаграммы при передаче или нет? Скорее всего нет, но некоторые приколы сетевые можно было бы объяснить этим, как мне кажется

А что тут думать, сниффер в зубы и смотреть соответствующие поля в пакетах. Хотя я надеюсь что в Ил-2 все-таки дейтаграммы, время доставки которых критично, имеют разумный размер и не фрагментируются в большинстве случаев. Иначе действительно растут потери и задержки.

=FPS=Plumb
25.05.2005, 07:48
Ну вот: специалистов по России хватает (не только в ОМ грамотные люди).

Но надеюсь никто не будет оспаривать то что с 20 игроками на сервере модем клиента справляется без проблем а с 40 нет ?

Допустим что сетевой протокол в Ил-2 - "чудо инженерной мысли" и что его оптимизировать больше нельзя.

Отсюда простой логический вывод - сам протокол не трогаем , а кол-во передаваемых данных сокращаем за счет "лишних" с точки зрения конкретного игрока объектов/игроков.
Ну зачем в докфайте знать что в 50-100 км кому-то что-то отстрелили?

Именно тупое присутствие у каждого клиента всех игроков сервера и вызывает изумление.

Ведь ясный перец что инфы о 40 игроках больше (может быть нелинейно но больше) чем о 20!
Легко проверить - полетать на Г1 записав лог. Потом посмотреть лог с внешними видами и попереключатся на другие самоли - получится посмотреть на все .

Раз специалисты в ОМ до предоставления возможности отсечения заведомо неиспользуемой информации передаваемой по сети юзеру не дошли, то "что-то неладно в Датском королевстве".

А конкретно принятие постулата о том что "онлайн на модеме" умер и как следствие незачем голову греть

timsz
25.05.2005, 09:54
кол-во передаваемых данных сокращаем за счет "лишних" с точки зрения конкретного игрока объектов/игроков.

Дополнительное меню настройки того, что передавать, а что не надо будем делать?

=FPS=Plumb
25.05.2005, 10:16
Нет.
Достаточно ВЫДЕЛЕННОМУ СЕРВЕРУ (кооп не касается) из строки сообщений передать параметры.
Так же как сейчас на G1 передается пароль пользователя.

crocodile
26.05.2005, 00:57
Практически на 100% уверен что пакеты и так пронумерованы и имеют timestamp. Это же UDP. Иначе как бороться с потерей и изменением порядка пакетов и синхронизировать задержки?


А смысл? Пинг стал самоцелью? :D Для комфортной игры имеют значение только задержки при передаче самих данных.


Ну пинг, то он пингом, цифирь и цифирь себе. А вот если бы пинг шел по ICMP, а Иловский трафик по UDP никто не запретил бы мне написать прогу (когда научуся ;) ) придерживающую на выход от клиента UDP, но не задерживающую на вход (и совсем никак не затрагивающую ICMP ), и вот тогда никакой ПУХ или БАРАН никогда в жизни в меня не попадет ;)

Всетаки ты, наверно, прав, нумеруются все дейтаграммы и, скорее всего, штамп тоже ко всем прикручен, для борьбы с особо хитрыми ;) и для отброса пакетов "из прошлого" (ежели данные шли по разным маршрутам с разными скоростями) Хотя камешков тут всяких подводных тоже изрядно, к примеру, если ждать только пакеты с номером больше крайнего полученного, то может случится что проскочит один-два по быстрому маршруту и переставят счетчики, а толпа тормозных может подойти попозже и получить отлуп (по Мерфи после поворота событий от плохого к худшему цикл повторяется, и эта ситуация может развиваться и развиваться) Попробовать бы потрейсить в моменты особого лагания... может есть закономерность...



А что тут думать, сниффер в зубы и смотреть соответствующие поля в пакетах. Хотя я надеюсь что в Ил-2 все-таки дейтаграммы, время доставки которых критично, имеют разумный размер и не фрагментируются в большинстве случаев. Иначе действительно растут потери и задержки.

Больше 300 байт (именно данных) не видел (56кб) , отсюда и подозрения насчет фрагментации, хотя и в 300 байт можно много чего напихать...

AlexD
26.05.2005, 04:27
Ну пинг, то он пингом, цифирь и цифирь себе. А вот если бы пинг шел по ICMP, а Иловский трафик по UDP

Практически не встречал игр, которые бы пользовали ICMP. Исключение с которым я сталкивался это NFS:U, да и тот по-моему только проверяет пингами живость хостов.


никто не запретил бы мне написать прогу (когда научуся ;) ) придерживающую на выход от клиента UDP, но не задерживающую на вход (и совсем никак не затрагивающую ICMP ),

Для таких фортелей существуют шейперы. Не надо никаких прог писать, надо написать три команды на роутере :)


и вот тогда никакой ПУХ или БАРАН никогда в жизни в меня не попадет ;)

Фи, да вы батенька читер :D



Хотя камешков тут всяких подводных тоже изрядно, к примеру, если ждать только пакеты с номером больше крайнего полученного, то может случится что проскочит один-два по быстрому маршруту и переставят счетчики, а толпа тормозных может подойти попозже и получить отлуп

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



Больше 300 байт (именно данных) не видел (56кб) , отсюда и подозрения насчет фрагментации, хотя и в 300 байт можно много чего напихать...
Честно говоря не понял логики в таких выводах. Если есть фрагментация на уровне IP - то будут переть пакеты размером с MTU (1500 байт по умолчанию) и хвосты дейтаграм переменного размера. Если пакеты идут по 300 байт, то фрагментации нет, если конечно MTU не 300 байт :) Если речь идет о самодеятельной фрагментации внутри самого Ил-2 - то тут уже ничего увидеть без разбора протокола нельзя. Ну разве что закономерности какие-то, например постоянно идут 5 пакетов по 300 байт и за ними 100 байт. Можно предположить что пересылается какая-то структура размером 1600 байт порезаная ручками программиста. Тут уже мало чего можно сказать. Можно сделать тупо - постоянно гонять полные состояния, пусть даже порезанные ручками на маленькие пакеты, а можно по уму - передавать только изменения состояния, причем более важные чаще, менее важные реже. Последним способом можно спокойно добиться обновления всех объектов на карте и сэкономить траффик без грубого отрезания путем применения яркой и новой ;) идеи сфер. Как именно сделано в Ил-2 - судить с опрометчивостью, подобной начинателю топика, не возьмусь.

pakman
26.05.2005, 19:12
ЗЗЗЗЫ Паку: Истинный азимут передавать - излишества, достаточно хранить Х и У из предыдущего пакета
Извини, не могу пройти мимо :D

Крок, ты в игре педалями пользуешься? Может ну их, эти педали, а? :D

RW_Daddario
26.05.2005, 19:29
Извини, не могу пройти мимо :D

Крок, ты в игре педалями пользуешься? Может ну их, эти педали, а? :D
из -за педалей лагает сильно :)

crocodile
27.05.2005, 00:27
Честно говоря не понял логики в таких выводах. Если есть фрагментация на уровне IP - то будут переть пакеты размером с MTU
Я конечно имел в вду фрагментацию самодеятельную, а не IP, сие от Мг не зависит.


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

Мне хотелось бы верить, что так оно и есть, решение простое, но тоже не все так гладко. Нужны ACK о том что все в курсе того, что я зену принасекомил. Передача полных состояний постоянно избавляет от этого, все равно узнают, но уж туповато как-то, и совершенно неэкономно для нашего трафика


Для таких фортелей существуют шейперы. Не надо никаких прог писать, надо написать три команды на роутере

О точно! Токмо в нашем случае не поможет... жаль... жаль... :)


Фи, да вы батенька читер

Я не читер, это Пакман - читер :)



Крок, ты в игре педалями пользуешься? Может ну их, эти педали, а?

Паку: Уел! хадюка ;) Снимаю шляпу, солю, перчу, ем :)

AlexD
27.05.2005, 01:41
Я конечно имел в вду фрагментацию самодеятельную, а не IP, сие от Мг не зависит.

Все-таки зависит. Если бы Ил-2 слал через чур большие дейтаграммы, то фрагментация на уровне IP будет.


Мне хотелось бы верить, что так оно и есть, решение простое, но тоже не все так гладко. Нужны ACK о том что все в курсе того, что я зену принасекомил. Передача полных состояний постоянно избавляет от этого, все равно узнают, но уж туповато как-то, и совершенно неэкономно для нашего трафика

Можно не только ACK'ами, можно генерить запросы на повторную передачу. Т.е. в протокол жестко забивается, что допустим каждый десятый пакет - обновление критических состояний, и если он не получен до таймаута, то уже требовать переповтора конкретного пакета, чтобы не перепосылать полное состояние. Вариантов-то уйма. А то чем мы тут занимаемся - гадание на кофейной гуще :)

crocodile
28.05.2005, 01:26
to AlexD
Исссно что ве это гадаие на пииффной гуще ;), правда при наличии представления, как вообще работают выч. ситемы и сетевые протоколы в частности. Народ который этого не представляет себе, гадает... черт знает на чем, глущща в этом случае слишком эээээ.... кофейная.....

ABM
14.10.2005, 09:47
ИМХО, идея о сферах имеет рациональное зерно.
Однако отсечение информации об объектах вне определенного радиуса - не есть верно.
Предлагаю компромисс.
Идея следующая. Все цифры условны.
Пространство вокруг объекта (игрока) делится на 3 зоны, до 15, до 30 и св. 30 км.
в зоне до 15 опрос и передача состояния объектов идет постоянно, в зоне 15-30 с частотой в 10 раз меньше (грубо говоря 1 раз в 1 сек), в зоне св. 30 - частота опроса в 50 раз меньше (1 раз в 5 сек).
Если сбили друга за 40 км от меня - задержка в 5 сек ничего не решит для игрового процесса, но трафик будет существенно меньше.
Реализация на выделеном сервере тоже не кажется слишком сложной - добавить определение расстояния и контроль времени или счетчик опросов, по которому определять необходимость отправки клиенту сведений о состоянии.

Я не программист, поправьте если где не прав :ups:

aeropunk
14.10.2005, 09:54
Если не программист и не инженер, то и не берись судить о качестве сетевого протокола.

ABM
14.10.2005, 10:47
заметьте уважаемый, что я не сужу о его качестве - я предлагаю идею по его улучшению.
кстати инженер-металлург :p

timsz
14.10.2005, 10:57
кстати инженер-металлург :p

А я программист. Вот подумываю, как бы улучшить качество стали...

;)

aeropunk
14.10.2005, 11:02
заметьте уважаемый, что я не сужу о его качестве - я предлагаю идею по его улучшению.
кстати инженер-металлург :p
Тогда давай поговорим об убогости металлургического производства. Почему все детают такую тяжелую сталь? Надо делать легкую сталь. Надо сделать сталь, которая будет легче и дешевле самого легкого алюминиевого сплава. Тогда такую дешевую легкую сталь можно будет использовать в самолетостроении. Если бы наши металлурги наконец озаботились этой проблемой, то наш авиапром оставил бы без штанов все эти Боинги и Локхиды!

Как тебе такая идея по улучшению? :D

P.S. Я не металлург, поправьте если где не прав :ups:

=FPS=Plumb
14.10.2005, 11:41
Надо же, всплыла ветка :-)
Думаю что эта ветка свою роль сыграла.
Сейчас я летаю в АДВ на модеме (один и тот же модем и ПК за три года) и по субъективным ощущениям проблем производительности связанных с сетевым протоколом не стало (у меня ОЗУ 256 МБт и проц Р4/1,4 ГГц, разогнанный до 2.01 ГГц и видео GF200/400 MX 64 МБт)
Хотя бывает что игроков на сервере более 30.
Теперь тормоза из-за слабого процессора/озу. Но даже в длительной фризе, когда винт свопит , игра ухитряется обмениваться с сервером данными и меня не кикает.
Правда не знаю кого благодарить, толи ГТ толи МГ :-)
На всякий случай обоим спасибо, тьфу, тьфу , чтобы все не испортилось. :-)

ABM
14.10.2005, 12:43
2aeropunk
прочитайте, пожайлуста, внимательнее мой пост - там нет критики сетевого протокола, речь даже не о нем как таковом, речь об ограничении количества передаваемых данных о состоянии объекта в зависимости от расстояния от объекта до игрока.
что же касательно металлургии - не могли бы вы подробнее изложить свою идею, не только в качественном, но и в количественном виде, хотя бы приблизительно.
Обещаю поделиться премией за рацпредложение. :D

2timsz - а вам качество стали к чему? я не программист, однако качество сетевого протокола меня касается непосредственно, иногда так касается, что крылья у Яка отваливаются, а кто и окуда - вопрос.. %)

timsz
14.10.2005, 12:51
2timsz - а вам качество стали к чему? я не программист, однако качество сетевого протокола меня касается непосредственно, иногда так касается, что крылья у Яка отваливаются, а кто и окуда - вопрос.. %)

Ну я тоже иногда стальными вещами пользуюсь... Вообще ценю хорошую сталь (насколько могу разобраться, конечно).

Но тут была провокация, и я не сдержался. Прошу прощения. :)

А ветка мне изначально не нравилась, так как действительно напоминала чем-то, что я могу предложить по изменениям в технологии производства стали. Понять сложность и простоту чего-то можно лишь долгое время поковырявшись и опробуя разные варианты. Что это сделали разработчики, я не сомневаюсь. А насчет остальных сомнения есть большие. Подводных камней целые рифы.

aeropunk
14.10.2005, 12:57
2aeropunk
что же касательно металлургии - не могли бы вы подробнее изложить свою идею, не только в качественном, но и в количественном виде, хотя бы приблизительно.
Обещаю поделиться премией за рацпредложение. :D

На первом этапе будет вполне достаточно, если новая сталь по стравнению с широкоиспользуемыми в авиапроме алюминиевыми сплавами будет:
- иметь на 50% меньшую плотность,
- иметь на 50% большую прочность,
- на 50% дешевле в производстве,
- на 50% проще в обработке.
Дальше будем улучшать эти показатели, но в любом случае вначале нужен существенный прорыв.

P.S. Я давно уже мечтаю разбогатеть. Вот сколько помню себя (с детского сада), столько и мечтаю разбогатеть. :D

ABM
14.10.2005, 13:01
любая идея имеет право быть рассмотреной. и даже должна быть рассмотрена, специалистами, разумеется.
Ил-2 (к сожалению, а может и к счастью) заставляет шевелить мозгами, либо в поисках денег на крутое железо, выделеный инет и т.д., либо в поисках недорогого собственноручного счастья путем настроек всего и вся.
вот и выкладываем плоды шевеления так сказать.
только хочется услышать что-нить по существу идеек...
могу нарисовать блок-схему своей идеи. если интересно кому.

ABM
14.10.2005, 13:04
2aeropunk
неее, это не те цифры... сначала просто "сделать лучше", потом "сделать на 50% лучше"...
скажите, сколько и чего добавить в сталь, или как-нить по другому прокатать...

aeropunk
14.10.2005, 13:15
2aeropunk
неее, это не те цифры... сначала просто "сделать лучше", потом "сделать на 50% лучше"...
скажите, сколько и чего добавить в сталь, или как-нить по другому прокатать...
В сталь надо добавить какое-нибудь несгораемое высокопрочное волокно. В сочетании с холодной плавкой, это должно дать потрясающий результат!:D

ABM
14.10.2005, 15:55
хорошая идея
но не прокатит.
1. волокно должно иметь прочность почти как у стали, и существенно меньший вес, иначе не будет эффекта.
2. подобные вещи уже применяются - называется биметалл - слой стали и слой алюминия или титана, или разные марки стали

жаль
хотел срубить деньжат на твоей идее - тоже мечтаю сильно разбогатеть.
желательно быстро и ничего не делая :)

aeropunk
14.10.2005, 16:39
Пора прекращать мыслить категориями прошлого, на этом никакого прорыва не добьешься. Нужно двигаться по пути металлоорганики с биометаллургией в перспективе. Потом только останется добавить туда AI, и T-1000 практически готов! :D

Всему нужно учить, этих специалистов! Очевидных вещей не понимают! :D

ABM
14.10.2005, 18:02
:D
уговорил, пойду скрещивать кактус с нержавейкой