|
|
|
Канал Игры Мечты: «Вычисления на стороне клиента.» |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Снуч : |
хотя бы примерные расчеты
|
Определение конкретных элементов технической реализации в процессе. Возможно за счёт ограничения некоторых параметров суммарный (браузер на карты, новости и статистику, консоль на 3D картинку) реальный трафик будет подгоняться к примеру под 64Kbit/s. При обновлении (к примеру) каждые 4s, это будет 32Kb на сеанс обмена, возможно прийдётся по изворачиваться, чтоб изобразить динамику при таком малом потоке информации.
Это на вскидку, без конкретных расчетов.
Дело в том, что нет необходимости передавать движение каждой ноги персонажа, достаточно указать вектор движения, а грамотно сделанная консоль сама изобразит еле волочащегося усталого космонавта, которому пришлось не один десяток километров тащиться по джунглям от места падения спасательной шлюпки к ближайшему поселению.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Варсик
545 EGP
    Рейтинг канала: 4(81) Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
По сабжу могу сказать вот что: Если вы делаете онлаин игру, то Клиент всегда находится в руках врага. В нашем случае враг - это пользователь. Так как он может сделать с клиентом что хочет. И получится так, что он сгенерировал планетку с идеальными условиями и кучей вечно зеленых президентов на поверхности(транс-урановыми элементами/"То-Что-Дает-Многа-Многа-Денег"). Вообще, почитайте доки по поводу того, как строятся клиенты. Любое действие пользователя должно быть просчитано сервером.
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Если просто визуализировать данные от сервера, то это нормально. Так делают почти все клиенты, когда сервер передат - "ты атакуешь цель №6", а клиент разрисовывает это в феерию огня.
Но вот перекладывать серверные расчёты на клиента - это опасно. Вариант пакетной обработки, вроде приведенной по ссылке выше, не позволит клиенту влиять на результат, потому как там нет челостной картины, но эффективность и применимость такого метода в MMOG под большим вопросом.
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (16:26 10-09-2008), всего редактировалось 1 раз |
|
|
Варсик
545 EGP
    Рейтинг канала: 4(81) Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
Вообще ИМХО надо сделать так: Вы выпускаете какую-нибудь игру... И делаете возможность играть бесплатно, но при этом клиент должен обрабатывать какой-нить SETIHome или ещё что... За это вы или какой-нить рейтинг ставите или плюшки какие... Хотя и тогда... сломают.
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
Rattus
950 EGP
       Рейтинг канала: 4(57) Репутация: 119 Сообщения: 3072 Откуда: в этом предложении двоеточие? Зарегистрирован: 11.03.2004
 |
|
Warstone : |
Вы выпускаете какую-нибудь игру... И делаете возможность играть бесплатно, но при этом клиент должен обрабатывать какой-нить SETIHome или ещё что...
|
Всё гораздо круче: Вы выпускаете игру и делаете возможность играть бесплатно, но при этом клиент с радостью и добровольно САМ обрабатывет какой-нить Rosetta@Home своим собственным мозгом:
http://www.elite-games.ru/conference/viewtopic.php?p=1961105#1961105
Вот это Мы понимаю - У@бдваноль!
_________________ ככצק גתמ גןככסקкאן!
Последний раз редактировалось: Rattus (17:50 10-09-2008), всего редактировалось 2 раз(а) |
|
|
Варсик
545 EGP
    Рейтинг канала: 4(81) Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
Ну я про это и говорю. Под клиентом я понимаю софт, а под пользователем - прокладку между монитором и сидением.
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Warstone : |
Под клиентом я понимаю софт, а под пользователем - прокладку между монитором и сидением.
|
Это тогда получается, что пользователь это не тот кто пользуется каким-нибудь сервисом, а тот кого пользуют
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Количество передаваемых консоли элементов окружения персонажа, при выводе 3D картинки напрямую зависит от скорости его передвижения.
Вычисляется некоторый сектор, который направлен параллельно взгляду персонажа и наибольший приоритет при загрузке имеют объекты находящиеся в этом секторе, угол сектора зависит от скорости передвижения персонажа. При остановке сектор расширяется и предметы по мере подгрузки материализуются, думаю средствами OpenGL или DirectX на консоли реализовать это можно будет достаточно симпатично. Главное такой подход будет веселее, чем пытаться передать больше информации через узкий канал связи и наблюдать в итоге на экране слайд шоу, вместо интерактивного фильма.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
Последний раз редактировалось: Zachesa (05:49 03-01-2009), всего редактировалось 2 раз(а) |
|
|
Снуч
941 EGP
   Рейтинг канала: 1(9) Репутация: 232 Сообщения: 2696 Откуда: Ракслатенон Зарегистрирован: 09.08.2005
 |
|
нада тогда сразу предупредить пользователей: все у кого конфиг компа слабее, чем "тыры-пыры-пасатижи", ходить пешком не рекомендуется.
Последний раз редактировалось: Снуч (08:37 11-09-2008), всего редактировалось 1 раз |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Zachesa : |
Таким образом при большей скорости передаются только более крупные предметы, причём предпочтения отдаются предметам двигающимся нестандартно и имеющим яркую раскраску, необычную форму. Вот здорово, возникла мысль ввести фактор узнаваемости для предметов и персонажа, таким образом знакомые предметы будут иметь более низкий приоритет, при определении, что из локации надо передавать на консоль.
|
Все эти вычисления будут вестись на стороне сервера, а клиенту будут передаваться только информация какие объекты показать.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
В играх "на местности" никакие объекты клиенту не передаются. Весь мир есть в самом клиенте. Сервер передаёт только координаты, да и то, скорее всего как подтверждающие. Т.е. клиент и без сервера отрисовывает где персонаж, а с сервером только сверяется.
Лепить истончённые терминалы для 3D МОО это отрыв мозга
_________________ У меня бисера не доxеpа. |
|
|
Варсик
545 EGP
    Рейтинг канала: 4(81) Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
Гм... Зачеса, для тебя кажись надо темку создавать: "УЕФ, открывая глаза на внутренности ММО."
Все клиенты построенны по принципу: Вся визуалзация на клиенте, игровая логика на сервере. Теоретически можно сделать 2-д клиент для ВОВа, для Линейки и т.д. Просто это не надо никому. Так вот, карта мира, внешний вид объектов - это все данные клиента. Единственно что можно вынести из твоей доки, это вот что: Если у тебя есть ресурсы, которые создает клиент (геометрия, текстуры и т.д.) и которые являются второстепенными (сервер о них знает только то, что их надо показать клиенту), то загрузку таких ресурсов можно переложть на ПтП. Реализовав ПтП на клиенте.
Вон, Блззарды что сделали... Взяли карту, разложили ее в псевдо 2д. пометили места, которые непроходимы и все. Они не сделали главного: Нет проверки на передвижения. В связи с этим клиенты могут носиться как угорелые по миру. (В ранних версиях ессно). Простая проверка, но ее отсутствие дало катастрофические последствия: Ребята генерили инст, потом пробегали его до сундука, забирали там плюшки и выбигали обратно. Причем бегали через пакеты, то есть фактически телепортировались от входа к сундуку и обратно. Все. Катастрофа.
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
Sh.Tac.
151 EGP
  Рейтинг канала: 5(108) Репутация: 14 Сообщения: 1426
Зарегистрирован: 27.07.2005
 |
|
Shirson : |
Лепить истончённые терминалы для 3D МОО это отрыв мозга
|
тем не менее такое встречается, заходя в браузерку никогда не знаешь сколько тебе всунут
_________________ This is what you get ...
(c) Radiohead |
|
|
Guest
2075 EGP
              Рейтинг канала: 5(167) Репутация: 376 Сообщения: 27975 Откуда: Моск. Зарегистрирован: 12.10.2004
 |
|
Warstone : |
Вон, Блззарды что сделали...
|
А можно немножко подробнее? Чего-то не понял, и не помню эту историю...
_________________ Трещит земля как пустой орех
Как щепка трещит броня |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Warstone : |
Все клиенты построены по принципу: Вся визуализация на клиенте, игровая логика на сервере.
|
Я не спорю с такой схемой. Но единого принципа построения, чтоб все следовали только ему нет.
Возможно под визуализацией мы понимаем разные вещи. Часто с этим смешивают физику взаимодействия объектов. Тот вариант что я разрабатываю предполагает на клиенте визуализацию в чистом виде плюс эффекты не влияющие на игровую логику. К примеру падение снега или листвы, небольшой порыв ветра это эффекты, а вот образование сугробов или шквальный ветер, всё то что может влиять на персонажа и окружающие предметы должно рассчитываться на сервере.
Зачем клиенту подробная карта местности если персонаж может посетить лишь сотую часть из предложенных локаций? В тоже время примерная карта рисуется автоматически, либо может быть приобретена отдельно, но и она будет отображаться через браузерную часть игры. Графической консоли эта инфа не нужна.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Sh.Tac. : |
Shirson : |
Лепить истончённые терминалы для 3D МОО это отрыв мозга
|
тем не менее такое встречается, заходя в браузерку никогда не знаешь сколько тебе всунут
|
браузерку для честного 3D? На чём интересно? Флэш не потянет. Сильверлайт, разве что. Да только он не распространён (возможно пока)
добавлено спустя 6 минут:
Zachesa : |
Зачем клиенту подробная карта местности
|
Затем, что для рисования окружения клиенту достаточно только координат/вектора направления персонажа. Шесть байт - десять байт. И всё.
Цитата: |
если персонаж может посетить лишь сотую часть из предложенных локаций?
|
А остальные он не может? Тогда их и сождавать не нужно.
Цитата: |
В тоже время примерная карта рисуется автоматически, либо может быть приобретена отдельно, но и она будет отображаться через браузерную часть игры.
|
Ты целиком местность будешь через пакеты по сети клиенту гнать? Это порядка десяти-тридцати метров, в зависимости от насыщенности области карты ит её размера. Плюс, если это вид из глаз, нужно гнать по сети всё, что игрок может просто видеть. Смело множим на пять размер необходимого.
Вопрос - ЗАЧЕМ это делать? Собственно смысл клиента как раз в этом - снижение трафика и вынос обработки интерфейсных операций на клиента. Зачем делать обратное? Особенно для сложных игр, особенно в 3D?
Цитата: |
Графической консоли эта инфа не нужна.
|
Хм... а что ты понимаешь под "консолью"?
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (05:48 01-01-2009), всего редактировалось 1 раз |
|
|
Sh.Tac.
151 EGP
  Рейтинг канала: 5(108) Репутация: 14 Сообщения: 1426
Зарегистрирован: 27.07.2005
 |
|
Shirson : |
браузерку для честного 3D? На чём интересно?
|
во-первых под игры заточена unity3d,
Адоб всё грозится обеспечить флеш хардварным ускорением
даже наша контора не поленилась сделать плагин 3d-web
сколько таких ещё - неизвестно
_________________ This is what you get ...
(c) Radiohead |
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1420 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Shirson : |
А остальные он не может? Тогда их и создавать не нужно.
|
Дело в том, что доподлинно не известно какие закоулки посетит персонаж.
Это в игре с заранее написанным сценарием создаются области, где может оказаться герой, плюс нычки для тех кто не спешит и любит покопаться в "мусорных ящиках" (Falout 3) или насладится красотами природы (Oblivion).
Ширсон ты не исправим придираешся ради спортивного интереса.
добавлено спустя 11 минут:
Уже ведь писал что думаю над этим и один из способов уменьшить трафик это передавать те предметы которые игрок может увидеть.
Возьми проведи эксперимент, выйдя на незнакомой остановке посмотри сколько времени уйдёт на то чтобы внимательно осмотреться и запечатлеть в голове все детали, не просто увидеть а распознать каждый предмет.
У особо тренированных людей может уйдёт поменьше времени, есть уникумы с фотографической памятью но они в динамике не в состоянии сильно превзойти среднего по способностям человека.
добавлено спустя 6 минут:
Повторюсь, что передаются координаты/векторы и свойства предметов тех что наиболее заметны, потом подгружаются остальные детали окружения, если персонаж стоит и смотрит в одну сторону.
добавлено спустя 19 минут:
Для этого сервер (кластер ) арены будет выполнять специальный алгоритм и определять какую информацию в данный момент требуется отправить клиенту, а какую приготовить к отправке на всякий случай. Информация будет передаваться по UDP в запакованном (но не шифрованном) виде, а клиент будет не только распаковывать но и ещё анализировать на достоверность и корректировать возможные ошибки.
Этими мерами можно снизить трафик, до приемлемого уровня.
В самом крайнем случае можно искусственно снизить широту обзора, объяснив это тем что очки/стекло скафандра или защитного шлема ухудшают видимость (что на самом деле так).
добавлено спустя 3 минуты:
Если же игрок будет сутками шарится по планетам и генерить в итоге большой трафик это будет означать только одно: игра ему нравится.
добавлено спустя 4 минуты:
В консоли изначально будет хранится только мало изменяемая информация об свойствах и состоянии объектов, ведь даже при первом старте не будет известно где окажется персонаж игрока.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
Последний раз редактировалось: Zachesa (13:29 01-01-2009), всего редактировалось 6 раз(а) |
|
|
Варсик
545 EGP
    Рейтинг канала: 4(81) Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
Zachesa : |
Ширсон ты не исправим Гы-гы придираешся ради спортивного интереса.
|
Ширсон все делает правильно. Только одного не говорит. Если хочешь чтоб тебя понимали - учись говорить. И думать. В частности:
Zachesa : |
Уже ведь писал что думаю над этим и один из способов уменьшить трафик это передавать те предметы которые игрок может увидеть.
|
Первые кто это сделали это была NVidia она не считала треугольники, которые не видит пользователь. Но у нее очень хорошая пропускная способность. (Так как комп - видюха это та-же сеть). У тебя-же время отклика от сервера большое. То есть если я повернусь, то при коннекте в 128Кб/сек. (Хотя ИМХО надо ориентироваться на 33,6Кбит. Ну на модем.) У тебя будут проблемы. Так как ты поворачиваешься постепенно, но запрос будет перед каждым кадром. А следовательно, при 50 ФПС, время отклика от сервера должно быть 20мс. Причем передавать надо будет... Ну пусть 1Кб данных. Считаем... 50Кб/сек. То есть минимум на "посмотреть" нам надо подключение с латентностью в 20мс и скоростью 50Кбайт/сек. Когда найдешь такое подключение - скажи.
добавлено спустя 2 минуты:
Zachesa : |
Информация будет передаваться по UDP в запакованном (но не шифрованном) виде,
|
Ага... То есть если половина пакетов пропадет - ничего... Понятно. Мир вообще плохо виден...
Вобщем Zachesa я не понимаю как Ширсон ещё не послал, видно он старше меня. Но, ёжик, ты-б помылся. (В смысле почитал что есть, поигрался в игры, понял что там все сделано не просто так и писали люди поумнее тебя, да и меня. Да и не один там человек был)
_________________ WARNING: By reading this post you accept that this post is genius.
Последний раз редактировалось: Варсик (17:48 01-01-2009), всего редактировалось 1 раз |
|
|
Варсик
545 EGP
    Рейтинг канала: 4(81) Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
У меня появилась другая идея... А что если заставить клиент считать что-нить... Ну там... Участвовать в SETI или ещё в чем... Чтоб можно было получать с этого $$. Тогда и бесплатность игры достигается, и не надо баннеры показывать и премиум вещи можно не вводить... Может имеет смысл? Кто-нить копал в этом направлении?..
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
|
|
|
Канал Игры Мечты: «Вычисления на стороне клиента.» |
|