Богдан Ясковець

+4
с 2022
0 подписчиков
37 подписок

Ну, во-первых, DayZ является портом с движка RV на движок Enfusion, как уже отмечалось выше. Со всеми издержками портов в виде нерабочих кусков кода.

Во-вторых, серверное приложение так и не научилось в мультитрединг "из коробки", любой владелец сервера DayZ вам скажет, что лучше брать процессор с как можно более мощным ядром. Да, умельцы используют какие-то параметры запуска аля "количество потоков", но практика показала что это, скорее, плацебо.

В-третьих, количество симуляций. Ни в каких армах и пабгах ими и не пахло в таких масштабах. Возьмем для примера простую ситуацию: игрок пьет бутылку воды в здании. Что при этом происходит в пабге: накидывается модификатор и происходит синхронизация анимации. Что происходит в DayZ: учитывается наличие одежды на голове, количество выпитого, калорийность, наличие бактерий в напитке, помыты ли у персонажа руки, синхронизации анимаций, рассчёт шума для ИИ. Паралельно идёт миллион рассчетов для самого персонажа, начиная тем, какие каллории и бактерии попали в его желудок и в каком количестве, заканчивая просчетом передачи намокания между предметами, потому что персонаж только что из под дождя, и, как следствие, предметы начинают по-другому весить в зависимости от степени намокания, и по-другому хранить тепло. Со стороны может показаться, что я натягиваю сову на глобус, но это только вершина айсберга - просчетов на деле настолько много, что перечислить все и ничего не забыть попросту невозможно. Я лишь хочу сказать, что в DayZ другие масштабы, это игра не о стрельбе, как таковой, а о том, убьете ли вы оленя выстрелом в голову, чтобы не повредить его тело и получить больше мяса.

Ну и последнее - моды. Благодаря им игра жива. Но большинство модов делаются без учёта каких бы то ни было оптимизаций, а некоторые так и вообще с вопиющими ошибками. Например, существует платный мод на КПК, чтобы игроки могли общаться внутри игры с помощью этого устройства. И всё бы ничего, да только при заходе на сервер пользователю отпраляется одним массированным RPC-запросом вся БД переписки. Казалось бы, но впредь при получении нового сообщения на КПК игрок получает не само сообщение, а очередную копию всей БД. Это ещё не всё: такая копия приходит не тогда, когда игроку отправили сообщение, а каждые несколько секунд по таймеру. Если подитожить наш пример: каждые несколько секунд все пользователи одновременно получают копию всей БД переписок. Последствия очевидны. Я не отрицаю, что существуют и оптимизированные моды, но обычно авторы модификаций не чувствуют границ. В данном вопросе вся ответственность ложится на плечи администрации серверов.

4