Сейчас мы заняты оптимизацией кода, но вообще-то мы находимся в середине обратной переписки кода – это должно полностью изменить то, как работает сериализация, она будет более логической и эффективной. Фундаментальной частью нашей новой работы являются порты для предметов – система предметов в 2.0, о которой мы говорили раньше. Её мы полностью изменяем, реструктурируя то, как устроены сущности – мы полностью изменяем их устройство в CryEngine, чтобы эта система была очень компонентной, более логической, и мы сериализируем только те данные, которые нам действительно нужны, а не огромные пузыри данных, как раньше. Поскольку старая система была сделана для маленьких многопользовательских игр – от 8 до 16 игроков – дезматч, FPS-стиль, тогда как нам нужно было сделать систему, которая бы поддерживала очень большое количество игроков, в течении очень долгих сессий, возможно даже несколько сотен человек.
Это как наш переход с 32-х бит на 64-ре бита – этот переход позволил нам создать такие большие карты, как Крусейдер, локальную физическую сетку, и еще очень много, чего вы могли увидеть уже с 2.0. Так же это дало нам прирост фреймрейта на сервере – это и является одной из причин, почему у многих людей сейчас происходит рассинхрон, или проблемы с прицеливанием, т.к. когда настоящий сервер находится под сильной нагрузкой, он начинается работать с сильным проседанием фреймрейта, даже хуже чем у клиентов.
Клиент может работать с 40-50 фреймов, а сервер работает на 10-15 фреймов. Поэтому сервер, работающий на 10-15 фреймов, и физику будет симулировать только на 10-15 фреймов, поэтому и возникает такой сильный рассинхрон, в особенности при EVA.
Частично это происходило из-за того, что сервер на физическом уровне, работал с гораздо более медленным фреймрейтом, чем клиент, поэтому мы сейчас и стараемся решить эту проблему, работа идет полным ходом. Как только мы её доделаем, все будет работать плавно, игроков в одном инстансе станет гораздо больше. Сейчас у нас 4 инженера работают над сетевой стороной игровых серверов и 3 инженера работают над обратной стороной сетевых служб. Если вы сами хороший сетевой инженер, или знаете кого-то – обращайтесь к нам, нам всегда требуются опытные и талантливые люди. Мы всегда ищем знающих людей, но как вы сами знаете, очень трудно найти хороших сетевиков, в особенности, кто хорошо разбирается и в облачных, и в сетевых, и в серверных технологиях.