???
Математика на уровне МГУ

Показано с 1 по 25 из 173

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Курсант
    Регистрация
    18.12.2003
    Адрес
    Russian Federation
    Возраст
    65
    Сообщений
    202

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

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



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

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

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

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

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

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

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

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

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

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

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

  2. #2

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

    Цитата Сообщение от =FPS=Plumb

    Все что нужно - это написать функцию проверки расстояния от любого объекта до Клиента(как объекта) возвращающую True или False , называющуюся ДальностьМеньшеРадиус .
    ...
    Встроить эту функцию именно в ВЫДЕЛЕННЫЙ сервер ИЛ-2. Не в клиента.
    это значит что на серваке надо вести "риалтайм" базу расстояний от каждого объекта до каждого т.е. табица с колич-вом записей равной квадрату кол-ва всех объектов. Дальше надо держать снапшот фильтрованного варианта таблицы для каждого объекта исходя вашей желаемой дальности. Если в ваш радиус умещается вся карта , то это уже попахивает размером равным 3й степени от кол-ва объектов - имхо всё упрётся в системные требования к серверу.
    =vsi.org.ua=

  3. #3

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

    Интересно,а эта прелесть тоже обсчитывается серваком?
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	small_grab0000.gif 
Просмотров:	92 
Размер:	251.9 Кб 
ID:	40325   Нажмите на изображение для увеличения. 

Название:	small_grab0001.gif 
Просмотров:	70 
Размер:	216.4 Кб 
ID:	40326   Нажмите на изображение для увеличения. 

Название:	small_grab0002.gif 
Просмотров:	73 
Размер:	240.7 Кб 
ID:	40327  
    Крайний раз редактировалось Kyzmich; 24.05.2005 в 01:28.

  4. #4
    Курсант
    Регистрация
    18.12.2003
    Адрес
    Russian Federation
    Возраст
    65
    Сообщений
    202

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

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

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

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

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

Ваши права

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