![](images/chestnut/misc/left.gif) |
Проекты на Blitz3D Обсуждение будущих проектов, демок, набор команды и т.п. |
Результаты опроса: Какая система управления удобней?
|
Как в линейке.
|
![](images/chestnut/polls/bar2-l.gif) ![](images/chestnut/polls/bar2.gif)
|
14 |
41.18% |
Как в варике.
|
![](images/chestnut/polls/bar3-l.gif) ![](images/chestnut/polls/bar3.gif)
|
20 |
58.82% |
08.11.2010, 21:54
|
#121
|
Нуждающийся
Регистрация: 28.10.2010
Сообщений: 95
Написано 23 полезных сообщений (для 34 пользователей)
|
Ответ: Epica online
Просто перемещение монстров и игроков считает сервер, на данный момент проблема в том, что мобы "прилетают" к игрокам. МоКа, твою идею с просчетом на стороне клиент - не понял. Если клиенты будут просчитывать перемещение мобов - очень легко можно будет устроить "хаос" на сервере.
|
(Offline)
|
|
08.11.2010, 22:43
|
#122
|
Разработчик
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений (для 1,072 пользователей)
|
Ответ: Epica online
Сообщение от MoKa
Физику самих игроков не считают на сервере, это будет слишком большая нагрузка.
|
Не согласен, в линейке например все перемещения и коллизии считает исключительно сервер, для этого и создана геодата. В варкрафте частично сервер (например движения\монстров) - частично клиент.
Моя авка меня гипнотизирует, иногда по 15 минут на нее смотрю, не могу очухаться
|
(Offline)
|
|
08.11.2010, 23:22
|
#123
|
Разработчик
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений (для 470 пользователей)
|
Ответ: Epica online
Хотел бы сделать ММО, но даже если начну - сначала спроектирую систему (в т.ч. обдумаю подобные нюансы)
2RokWeb
Движение впринцыпе можно считать на клиенте, а на сервере выполнять проверку между старым положением и новым (учитывая скорость перемещения перса). Таким образом расчёт собственно колизии ведётся на клиенте, а сервер лишь проверяет честность расчёта(проверять расстояние, направление и т.п.). Но всё равно считать что-либо на клиенте потенциально опасно.
А в остальном почему не вести расчёт физики прям на сервере? Берём игровые ресурсы (упрощённые... с минимумом вершин, дабы просто сохранять форму геометрии), и считаем колизии... теми же физ движками..
движение мобов имхо можно вообще считать параллельно... при запросе клиентом положения крипа, считывать координаты из отдельного потока (или даж приложения) на клиенте реализовать какую-нибудь экстраполяцию движения (вроде правильно назвал сие действие)..
как то так
|
(Offline)
|
|
08.11.2010, 23:37
|
#124
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Epica online
>>А в остальном почему не вести расчёт физики прям на сервере?
Даже я понимаю, что это очень не разумно. Давай ещё графику будем рендерить на сервере, а юзеру картинку посылать.
В реквиеме онлайн(там хавок) всякие регдолы, и прочие физобъекты считались на клиентах.
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
08.11.2010, 23:49
|
#125
|
Разработчик
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений (для 470 пользователей)
|
Ответ: Epica online
регдол - плюшка.
а перемещение крипа полюбому должно считаться на сервере и рассылаться всем клиентам видящим этого крипа.
сервер минимум должен расчитать точку, к которой должен идти крип, что бы клиенты могли просчитать процесс перемещениея.
но сервер так же должен учитывать и различие высот между точками, и возможно даже наличии препядствий..
в любом случае перекладывать на клиента расчёт перемещения крипов - бред..
хорошо. 10 клиентов видят перед собой 10 крипов.
каждый из клиентов будет считать перемещение?
а если крипы пассивны и не атакуют пока их не ударить? у каждого клиента будет свои рандомные точки, к которым будут двигаться крипы в неагрессивном состоянии?
если расчёт этих рандомных вейпоинтов (по которым лавируют крипы) переложить на сервер, то сервер УЖЕ должен учитывать рельеф ланшафта (разность высот хотябы). Что уже по сути не далеко от расчёта столкновений
или делать 1ого из клиентов привилегированным в расчёте, и раздавать инфу всем находящимся в округе игрокам? как то небезопасно что ле..
|
(Offline)
|
|
09.11.2010, 00:33
|
#126
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Epica online
Дак а где регдолл считается не на клиенте? ИМХО нет такой причины чтоб делать это на сервере
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
09.11.2010, 00:48
|
#127
|
Нуждающийся
Регистрация: 28.10.2010
Сообщений: 95
Написано 23 полезных сообщений (для 34 пользователей)
|
Ответ: Epica online
Конкретно у меня сейчас такая мысль: сделать так, чтобы сервер просто посылал координаты, куда переместился монстр, а клиент уже сам рассчитывает как он туда переместился. Не знаю правильно или нет будет если так сделать.
|
(Offline)
|
|
09.11.2010, 02:03
|
#128
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Epica online
Собственно распределенный вариант: сервер может раздавать каждого монстра для просчета одному из клиентов (случайно). Но при обрыве соединения этого клиента придется передавать права на расчет клиенту, который остался в сети или например ближе всего к монстру.
Собственно чтобы исключить читерство можно давать нескольким ближайшим клиентам на просчет положения, а на сервере синхронизировать (сравнивать). Клиент замеченный в мухляже будет присылать сильно отличающиеся данные.
|
(Offline)
|
|
09.11.2010, 03:44
|
#129
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Epica online
Физика на сервере? Вы чего, совсем разжирели? Ладно если игра завязана на физике (гонки всякие, hl2 deathmatch) В онлайн играх вобще, на мой взгляд, физика не нужна (не путать онлайн с мультиплеером - калибр разный) Рагдоллы все на клиенте.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
|
|
09.11.2010, 13:37
|
#130
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Epica online
В любой классической ММО, есть элемент агрессии моба к определённому персонажу - это выдаёт сервер, по разным параметрам (просчёт очень простой, например кто больше дпс наносит).
А клиент который имеет этот самый Агр на себе, и считает этого моба, отсылая только важные и результирующие данные для синхронизации.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
09.11.2010, 14:42
|
#131
|
Разработчик
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений (для 1,072 пользователей)
|
Ответ: Epica online
Сообщение от MoKa
В любой классической ММО, есть элемент агрессии моба к определённому персонажу - это выдаёт сервер, по разным параметрам (просчёт очень простой, например кто больше дпс наносит).
А клиент который имеет этот самый Агр на себе, и считает этого моба, отсылая только важные и результирующие данные для синхронизации.
|
Во всех крупных мморпг на официальных серверах клиенты никогда не считают мобов. Геодата присутствует и позволяет держать на мощном сервере до 7 тысяч игроков без тормозов.
И тем более агр может очень часто менятся, постоянно перекидывать управление с одного игрока на другого - еще тот бред)))
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.11.2010, 17:32
|
#132
|
Разработчик
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений (для 470 пользователей)
|
Ответ: Epica online
На клиенте считаются только плюшки аля регдоллов.
всё остальное считается на серверах (коими являются огромные системы из немалого числа компов, с немалым числом процессоров...)
кто считает иначе - пруфы в студию..
|
(Offline)
|
|
09.11.2010, 19:59
|
#133
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Epica online
Сообщение от Dstalk
Во всех крупных мморпг на официальных серверах клиенты никогда не считают мобов. Геодата присутствует и позволяет держать на мощном сервере до 7 тысяч игроков без тормозов.
И тем более агр может очень часто менятся, постоянно перекидывать управление с одного игрока на другого - еще тот бред)))
|
Тебе как аргумент пост:
Сообщение от falcon5
На клиенте считаются только плюшки аля регдоллов.
всё остальное считается на серверах (коими являются огромные системы из немалого числа компов, с немалым числом процессоров...)
кто считает иначе - пруфы в студию..
|
Тот же WoW имеет поиск пути, при этом он весьма не тупой, а может и в сложных уровнях отлично находить кратчайшие пути. Ищеться пользователем.
Но тут снова, те же Instanc'ы, или Battleground'ы, они все как отдельные "виртуальные" сектора где игроки взаимодействуют только с друг другом. Но не со всем внешним миром, там же дальность обзора всегда по максимум.
В оправдание что моб считается частично на сервере:
Есть группы например в том же ВоВ, безобидная семейка оленей, которая бегает вокруг Crossroads, она постоянно перемещается, даже если никого нету рядом, бегает по заданному кругу, он он снова меняется, и не всегда один и тот же, таким образом либо там набор вейпоинтов, и просто рандомно рядом с ними устанавливаются вейпоинты, и моб бежит к ним.
Но то что заагренный моб считается пользователем - это вполне логично, если это простой моб, тем более выдать агр пользователю, и сделать удобную систему переключений (переагр), это просто, и серверу это простая посылка двух пакетов тому кто имеет текущий агр, и тому кто новый "считалка".
И да, тот же EVE, там вон какие баталии порой бывают, мир огромный, и мобов считать на сервере - было бы глупо, т.к. порой бывают сложные уровни, где скопление хлама, и идёт просчёт поиска пути, который не будет весьма прост т.к. учитывает просто геометрию препятствий, а не какие-то вейпоинты.
Тем более ведущие компании используют Cloud'ы, для организации серверов, а там ничего не хранят на жёстком диске. А всё храниться в виртуальной памяти (ОЗУ). И разные станции считают свои части, запросы распределяются между ответственными над ними станциями, и затем отправляются клиентами, список который относительно тоже просчитывается отдельной станцией, т.к. чем точнее список, тем он меньше и меньше лагов будет, меньше трафика и т.п.
Вообще структура сервера, читайте книги от всяких гуру на эту тему.
На клиента тоже многое не свалишь. Если это важные структурные просчёты - сервер, если это большие технические (поиск пути, физика и т.п.), клиент. Тут и думать нечего.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
09.11.2010, 20:41
|
#134
|
Разработчик
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений (для 470 пользователей)
|
Ответ: Epica online
убедительно угу
|
(Offline)
|
|
10.11.2010, 20:48
|
#135
|
Разработчик
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений (для 1,072 пользователей)
|
Ответ: Epica online
Внимание! Сегодня в 0.00 по Москве состоится запуск новой версии сервера с включенным ПвП.
Все кто сможет подключится в это время, милости просим, будем тестить массово
Ближе к запуску сервера отпишусь об изменениях и новшествах игры.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо DStalk за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:46.
|