Noocrat
> Например?
Приводи примеры интересных механик, я скажу какие из них технически невозможны
Noocrat
> познавательная статья
и чего там хорошего? там нет твоих 500х500
там максимум 250 чел на локации, а дальше используются разные инстансы локации
Что происходит, если на карту захочет попасть еще один игрок, когда лимит исчерпан? Тогда будет создана еще одна копия той же самой карты. Игроки с этих карт не будут видеть друг друга, не будут друг другу мешать
причём названо это максимально неуклюже
Такой способ организации игроков называется «каналы».
у отечественных игроделов всегда какая-то своя терминология, которую надо изучать отдельно
и они сами признают, что используемая ими репликация не так уж хороша
С репликацией есть фундаментальная проблема. Если в одном месте столпится N аватаров, то на каждого из них нужно будет посылать N реплик. Таким образом возникает квадратичная зависимость, что ограничивает количество аватаров, которые могут собраться в одном месте
samrrr
> Просчитать это всё займёт всеголишь 10% процессорного времени.
Железо у всех разное. Игры разные. Твои проценты взяты с потолка.
Тайминги, сеть, у всех разный. Кроме того физика недетерминистическая.
Твоя предполагаемая система абсолютно незащищена от рассинхронизации и читов.
Для рилтайм экшена не годится вообще.
samrrr
> Также, как в факторке, spring итп играх сделали.
Это как? Есть исходники? Есть демо геймплей 500x500?
Вий
> Приводи примеры интересных механик, я скажу какие из них технически невозможны
например механика "авангарда" когда игра определяет что между двух сторон находится группа одной из сторон и применяет усиление к этой группе.
Или механика возводимых и разрушаемых укреплений.
Или способности по смешению группы врагов в определенном направлении(ну например стяжка к точке или создание безопасной зоны откуда будут выкинуты враги и не смогут зайти)
Или банальное зональное наложение переодического урона(типа горения)
перемешаемые и разрушаемые боевые машины(катапульты например)
Ну и все это со статистикой кто когда сколько нанес импакта.
Mephistopheles
> Или механика возводимых и разрушаемых укреплений.
Вот с этим могут быть проблемы если никак не ограничивать и давать строить много и плотно мелкую ерунду
Der FlugSimulator
> Железо у всех разное. Игры разные. Твои проценты взяты с потолка.
На относительно слабом ноуте 10-20к объектов норм же обсчитывались. Да и толпы врагов в пое тоже не лагали особо.
> Тайминги, сеть, у всех разный.
Пофигу совсем.
> Кроме того физика недетерминистическая.
А схренали вдруг?
> Твоя предполагаемая система абсолютно незащищена от рассинхронизации и читов.
Го, иди почитери в фактрке. Кроме рассинхронизации, и пинка под зад от сервака, ничего не получишь.
> Для рилтайм экшена не годится вообще.
Факторка по твоему пошаговая игра?
> Это как? Есть исходники? Есть демо геймплей 500x500?
Дарую тебе доступ у гуглу:
https://www.google.com/search?q=%D1%8B%D0%B7%D0%BA%D1%88%D1%82%D0… rome&ie=UTF-8
500 на 500 в ртс ты не увидишь по понятным причинам.
Mephistopheles
> Или механика возводимых и разрушаемых укреплений.
DU же уже скидывали недавно.
Вий
> Вот с этим могут быть проблемы если никак не ограничивать и давать строить
> много и плотно мелкую ерунду
В DU у игрока хранится кэш мира. 1 раз загрузил и всё. И пофиг сколько там мелких или крупных. Там натуральная свалка стоит у магазина.
samrrr
Ты предлагаешь делать нетрадиционным способом, который плохо подходит для ММО и хорошо подходит для RTS. ММО так не делают. Обсуждать особенности применения такого способа мне не интересно, потому что он вообще не подходит например если игроков не 1000 а 10000, да и на 1000 будут постоянные проблемы из-за потери пакетов и медленного сетевого подключения у игроков. И это не проблемы которые понятно как решать, это особенности того как устроен интернет и сделать с этим ничего не выйдет.
samrrr
> Да и толпы врагов в пое тоже не лагали особо.
Это пока не поиграешь каким ни будь не адекватным билдом на основе CoC механики или flicker strike
Да и вообще любым билдом что порождает вторичные и третичные тики аое урона. Если правильно собрать то там будет ~6 инициирующих ударов в сек + (кол-во мобов * 6 вторичных) + (столько же третичных). А если еще и херальдом упороться то там еще гдето мобы*5 ударов в сек. Лагодром там нормальный на больших пачках.
Вий
Вот кстати еще одна механика, тоже интересная, сколько численно ударов/с от игрока твоя игра потянет? ПОЕ вот где то на 100/с плохеет, а у них даже комбат лога нету.
Диабле3 кстати тоже плохо становится когда идет аое по толпе+сплеш урон+какой ни будь масс дот.
но у них это скорее от рукожопия и как следствие херово либа для звука работает. Тк если звук вырубить то лагает оно меньше.
Mephistopheles
Что значит ударов/с?
Сколько ударов делает персонаж после нажатия кнопки «удар»?
Вий
> Сколько ударов делает персонаж после нажатия кнопки «удар»?
попаданий по врагам.
Mephistopheles
> попаданий по врагам.
>
Вообще сколько угодно, просто они могут при сетевых лагах долететь до клиентов визуально пачкой а не по одному. А так никаких ограничений
samrrr
> 500 на 500 в ртс ты не увидишь
... даёт ссылку на РТС движок )))
samrrr
> > Кроме того физика недетерминистическая.
> А схренали вдруг?
Разные тайминги, шаги интеграции, реализация float на разных системах.
Попробуй "точный" таймер позапускать даже на одной машине несколько раз подряд.
В общем то для этого в т.ч. физику на сервере и обсчитывают.
Der FlugSimulator
> Разные тайминги, шаги интеграции, реализация float на разных системах.
> Попробуй "точный" таймер позапускать даже на одной машине несколько раз подряд.
> В общем то для этого в т.ч. физику на сервере и обсчитывают.
На самом деле тут нет неразрешимой проблемы, просто нужен софтверный физический движок с целочисленной эмуляцией флота, это медленно, но работает там где важно.
Вий
в ECS-чатиках автор этого фреймворка, ссылаясь на большие коммерческие проекты с кроссплеем, опровергал важность проблемы расхождения операций с плавающей точкой. мол какие-либо расхождения на практике уже не встречаются.
kkolyan
> автор этого фреймворка, ссылаясь на большие коммерческие проекты с кроссплеем,
> опровергал важность проблемы расхождения операций с плавающей точкой. мол
> какие-либо расхождения на практике уже не встречаются.
Все зависит от списка платформ, компиляторов