По крайней мере оперативная передача информации необходима только о тех игроках, которые находятся в Field of view клиента в настощий момент. Т.е. не каждый их 200 человек в сражении обязательно видит всех остальных 199. Думаю, мало кто видит хотя бы четветь. А при обилии естественных препятствий и гемдизайнерских решений типа инвиз/блайнд/хайд и того меньше.
В CU собираются передавать информацию об актуальном состоянии игры через прокси. Т.е. сервер посылает несколько копий текущего состояния, а некоторое кол-во прокси рассылает его всем задействованным в происходящем клиентам. Подробнее Эндрю объясняет тут
Система трибуналов в лоле полнейшая шняга. На руофе мне постоянно пишут, что наказывают людей, но я слышал только о совсем единичных фактах.
Ещё нет ничего более весёлого, чем дать любую форму модерки игрокам противоположных кланов. Про абузы и перегибы есть классная заметка на Хабре о скайпе и возможности заблочить любого юзера: https://habrahabr.ru/post/316912/
Я понимаю, к чему вы клоните, но например есть различные механизмы сжатия. Понятно, что это трейдофф, но набрать мощностей на декодинг пока еще легче, чем расширить канал.
Второй момент, что если ввести проверку раз в секунду, то это УЖЕ на многие порядки лучше, чем отсутствие проверок в принципе.
Третий момент, в том же LoL вполне успешно работает система трибуналов. Это не значит, что банят всех, кто этого заслуживает и не банят невиновных, тем не менее наличие саморегуляции в таких вопросах большой плюс, однако в других проектах всё до сих пор в итоге упирается в админский произвол.
А я как то не парюсь. В БДО гонял гигантом максимального роста и ширины с лыбой до ушей(полтонны доброты), а в БнС запилил ушасто-хвостатого чудика минимального размера с бешеным взглядом(и жалел о том что в игре нету дамских сумочек, в которых можно было бы носить этого перса).
А кто говорит о принудительной привязке действий к планшету? По моему речь шла о возможности выполнения некоторых действий с мобильных устройств. Хочешь — копай огород с компа, любуясь блеском росы и анимацией выкапывания картошки, хочешь — зайди с мобильника и сделай все с упрощенной графикой и ограниченными возможностями.
Теперь про античиты типа GG. Мне они то же особо нравятся, но лучше пока не придумали. Чем меньше ГГ будет похож на руткит, тем более бесполезным он будет.
Я как безопасник вообще склонен никогда не доверять никому. А как можно доверять процессу игры (пусть даже мега-секьюрити упакованному), если все данные лежат в открытом виде в оперативной памяти компа игрока? В Альбионе игрок видит в 2 раза меньше игрового мира, чем ему передаёт на самом деле сервер. Чтобы клиент игры мог просчитать перемещение других игроков и при встрече двух наездников не было телепортации сквозь друг друга. На этом принципе работают все радары в играх. В Альбионе ещё простой геймплей, да и народу в одной точке меньше, чем в блессе на осаде 200х200
Не все так просто. Допустим (усредняя), что все параметры клиентской части задаются 4-байтным значением (32 бита). Чтобы избежать подмены данных нужно отслеживать многие параметры игры. Для примера:
Х
Y
Z
Speed
Zoom
Exp
HP
MP
Money
Инвентарь исключаем, считая что он целиком хранится на сервере, как и эквип (при расчёте взаимодействия), хотя на видео в сабже читер выбирает любые планеры на стороне клиента.
Кулдауны ~10 скиллов (пусть они вместе с id и временем займут 160 бит)
И тд
Округлим до примерно 500 бит на одного клиента. Возьмём проверку раз в секунду (хотя в идеале каждое действие согласовывать с сервером нужно — то есть все кроме графики просчитываться на сервере).
1000 пользователей это 0,5 Мбит/сек. 10к пользователей — 5мбит в секунду + нагрузка на проверку этих данных на сервере.
Конечно у локализаторов гигабитные каналы и вроде как 5 Мбит/сек немного. Пусть даже служебные пакеты и нагрузку на поддержание 10к активных коннектом не берём в расчет. Но раз в секунду это мало. Учитывая реакцию игроков — нужно 10 раз в секунду. Как и отслеживание всего 15 параметров — в реальной жизни их видимо больше. Итого смело на эти наши проверки сервак должен выделить отдельно 100 Мбит/сек. При канале условном в 1гбит/сек. И тут в чистом поле встретилось 100х100 игроков, активно юзающих скиллы.
К этому добавится пинг. Значит при игре с 3G модема из Урюпинска сервак будет держать соединения кучу времени открытыми, дожидаясь ответов (если tcp/IP) или ждать ответов на свои UDP пакеты, попутно Васе из Урюпинска повышая рейтинг возможного яитерства.
Но на самом деле это полумера. Реально нужно сделать тонкий клиент или «тонкий клиент» без обработки графики. То есть все взаимодействия начиная с поворота камеры (хотя можно упустить), заканчивая любым шагом или скиллом — просчитывать на сервере и выдавать только данные для графической обработки клиенту. Причём строго те, которые он может увидеть.
Практика показала, что таких игр вообще нет. Все движение в 100% случаев в 3D клиентах просчитывается на стороне клиента. При этом серваки один фиг жутко лагают. Но игрок хотя бы получает визуально бегающего чара, с непрожимаемыми скольким как в Блесс.
Это не то, в том смысле, что играешь ты со своего же компа и в собственной локальной сети, так что задержки, относительно датацентра где-то на краю Земли — минимальные. Опять же нет жестких ограничений по играм.
Собственно Стим уже некоторое время предлагает нечто подобное, ты можешь из Стима на ноуте запустить игру на ПК и она будет в режиме стрима отправляться тебе обратно на ноут.
Прости, но мне трудно согласиться. Не преувеличивая, конечно, способность человека способность осознавать свои действия, не думаю, что всё же пропасть так уж велика.
Это очень полярный пример, максима, но он о том, что роль — это некое представление о мотивациях, а не личные мотивации. Личные мотивации намного сложнее и часто не просчитываются даже самим человеком.
И там ключевой изъян подхода в том, что человек следует анти-мотивациям.
Так это же пример плохо прописанной роли, разве нет? Если конечно человек не отыгрывает инфантила или ребёнка.
Кмк, роль подразумевает всё же минимальное представление о характере и предыстории персонажа, которые хотя бы отчасти объясняют логику его действий в настоящем.
Может на тот момент еще технология не дошла, но на сколько я помню все стартовавшие сервисы стриминга игр, когда ты покупаешь декодер, подписку и можешь играть во все игры сервиса, особой популярности не сыскали и либо продались, либо закрылись.
С другой стороны нельзя отрицать тот момент, что выбор игр в таких сервисах был скажем так не очень и возможно именно это погубило сервисы, а вовсе не отграничение в 720p и некоторое повышение времени отклика.
По крайней мере оперативная передача информации необходима только о тех игроках, которые находятся в Field of view клиента в настощий момент. Т.е. не каждый их 200 человек в сражении обязательно видит всех остальных 199. Думаю, мало кто видит хотя бы четветь. А при обилии естественных препятствий и гемдизайнерских решений типа инвиз/блайнд/хайд и того меньше.
В CU собираются передавать информацию об актуальном состоянии игры через прокси. Т.е. сервер посылает несколько копий текущего состояния, а некоторое кол-во прокси рассылает его всем задействованным в происходящем клиентам. Подробнее Эндрю объясняет тут
Ещё нет ничего более весёлого, чем дать любую форму модерки игрокам противоположных кланов. Про абузы и перегибы есть классная заметка на Хабре о скайпе и возможности заблочить любого юзера: https://habrahabr.ru/post/316912/
Второй момент, что если ввести проверку раз в секунду, то это УЖЕ на многие порядки лучше, чем отсутствие проверок в принципе.
Третий момент, в том же LoL вполне успешно работает система трибуналов. Это не значит, что банят всех, кто этого заслуживает и не банят невиновных, тем не менее наличие саморегуляции в таких вопросах большой плюс, однако в других проектах всё до сих пор в итоге упирается в админский произвол.
Я как безопасник вообще склонен никогда не доверять никому. А как можно доверять процессу игры (пусть даже мега-секьюрити упакованному), если все данные лежат в открытом виде в оперативной памяти компа игрока? В Альбионе игрок видит в 2 раза меньше игрового мира, чем ему передаёт на самом деле сервер. Чтобы клиент игры мог просчитать перемещение других игроков и при встрече двух наездников не было телепортации сквозь друг друга. На этом принципе работают все радары в играх. В Альбионе ещё простой геймплей, да и народу в одной точке меньше, чем в блессе на осаде 200х200
Х
Y
Z
Speed
Zoom
Exp
HP
MP
Money
Инвентарь исключаем, считая что он целиком хранится на сервере, как и эквип (при расчёте взаимодействия), хотя на видео в сабже читер выбирает любые планеры на стороне клиента.
Кулдауны ~10 скиллов (пусть они вместе с id и временем займут 160 бит)
И тд
Округлим до примерно 500 бит на одного клиента. Возьмём проверку раз в секунду (хотя в идеале каждое действие согласовывать с сервером нужно — то есть все кроме графики просчитываться на сервере).
1000 пользователей это 0,5 Мбит/сек. 10к пользователей — 5мбит в секунду + нагрузка на проверку этих данных на сервере.
Конечно у локализаторов гигабитные каналы и вроде как 5 Мбит/сек немного. Пусть даже служебные пакеты и нагрузку на поддержание 10к активных коннектом не берём в расчет. Но раз в секунду это мало. Учитывая реакцию игроков — нужно 10 раз в секунду. Как и отслеживание всего 15 параметров — в реальной жизни их видимо больше. Итого смело на эти наши проверки сервак должен выделить отдельно 100 Мбит/сек. При канале условном в 1гбит/сек. И тут в чистом поле встретилось 100х100 игроков, активно юзающих скиллы.
К этому добавится пинг. Значит при игре с 3G модема из Урюпинска сервак будет держать соединения кучу времени открытыми, дожидаясь ответов (если tcp/IP) или ждать ответов на свои UDP пакеты, попутно Васе из Урюпинска повышая рейтинг возможного яитерства.
Но на самом деле это полумера. Реально нужно сделать тонкий клиент или «тонкий клиент» без обработки графики. То есть все взаимодействия начиная с поворота камеры (хотя можно упустить), заканчивая любым шагом или скиллом — просчитывать на сервере и выдавать только данные для графической обработки клиенту. Причём строго те, которые он может увидеть.
Практика показала, что таких игр вообще нет. Все движение в 100% случаев в 3D клиентах просчитывается на стороне клиента. При этом серваки один фиг жутко лагают. Но игрок хотя бы получает визуально бегающего чара, с непрожимаемыми скольким как в Блесс.
Собственно Стим уже некоторое время предлагает нечто подобное, ты можешь из Стима на ноуте запустить игру на ПК и она будет в режиме стрима отправляться тебе обратно на ноут.
Имеешь право. :) Я могу ошибаться. Но сейчас я придерживаюсь такой точки зрения.
Так это же пример плохо прописанной роли, разве нет? Если конечно человек не отыгрывает инфантила или ребёнка.
Кмк, роль подразумевает всё же минимальное представление о характере и предыстории персонажа, которые хотя бы отчасти объясняют логику его действий в настоящем.
С другой стороны нельзя отрицать тот момент, что выбор игр в таких сервисах был скажем так не очень и возможно именно это погубило сервисы, а вовсе не отграничение в 720p и некоторое повышение времени отклика.