Клиент, собранный заново: мы переписали Game.exe!

AMI

Administrator
Команда форума

Что изменилось​

Мы полностью пересобрали игровой клиент. Старый Game.exe был написан больше 15 лет назад и с тех пор только латался модами. Новый клиент собран заново на современных инструментах и при этом он ведёт себя как привычная игра: те же окна, те же механики, тот же дизайн. Ниже - что это даёт нам.

Игра стала заметно быстрее​

Главная цель этой работы — производительность. Мы разобрали клиент по частям, замерили, где именно проседает FPS, и починили самые тяжёлые места.

  • В толпе игроков FPS почти удвоился. На одной и той же машине, в одной и той же точке карты старый клиент давал 46 кадров в секунду, новый — 85.
  • Оптимизирован просчёт коллизий. Это особенно заметно в подземельях — до +50 %. Проверили в ЗХ и НХ: в среднем стало на 30 кадров больше.
  • В городе — 170+ FPS на ПК среднего уровня.
  • Исчезли рывки при появлении толпы. Раньше, когда рядом появлялся отряд игроков, игра замирала на 50–100 миллисекунд на каждого прогружаемого персонажа. Теперь подгрузка экипировки идёт малыми порциями, и задержки длиннее трети секунды пропали вовсе.
  • Экипировка загружается в сто раз быстрее. Текстуры вещей теперь подготовлены заранее, и создание каждой занимает доли миллисекунды вместо 20–30.
  • Загруженное с диска хранится в буфере. Нет нагрузки на диск в любой непонятной ситуации.
  • Звук больше не отъедает процессор. Из-за ошибки в старом коде звуковая подсистема пересчитывала все источники звука по четыре раза за кадр (даже при отключенной громкости в клиенте, Карл). Теперь она занимает около одного процента времени вместо десяти.
  • Клиент использует несколько ядер процессора. Часть работы по анимации персонажей и проверке столкновений камеры вынесена в отдельные потоки.

Стабильность​

  • Клиент видит 4 ГБ памяти вместо 2. Тихие вылеты спустя 30-45 минут на массовом PvP при нехватке памяти ушли.
  • «Окно не отвечает» больше не появляется. Найдена и устранена причина, по которой Windows считал свёрнутую или неактивную игру как зависшую.
  • Если игра всё же упала, мы это увидим. Клиент сам сохраняет отчёт о сбое и подробный лог рядом с ним. Вам достаточно прислать папку crashdump — и мы сможем найти причину.
  • Версия клиента видна в углу экрана и в свойствах файла, чтобы в репорте не было путаницы, какая сборка у вас стоит. Пожалуйста, присылайте полный скриншот с этой информацией в углу.

Исправления​

За время работы закрыто больше двухсот ошибок. Самые заметные:

  • Настройки яркости и свечения переработаны: яркость больше не перекрашивает весь монитор и не оставляет его «выцветшим» после вылета.
  • Дыры в земле на девяти картах чинятся автоматически при загрузке.
  • Меньше застреваний на ровной поверхности при любой частоте кадров.
  • Вода отображается и в режиме «Поверхность воды» без шейдера — в старом клиенте в этом режиме воды не было вовсе.
  • Скриншоты без использования устаревшей библиотеки, которая останавливала работу клиента на время снимка.
  • Убрано использование лишних библиотек: librpc.dll, ijl.dll, ijl15.dll и т.п.
  • В окнах кузнеца (кристаллы, зачарование) вещи можно перетаскивать мышью из инвентаря.
  • Снятие эмблемы теперь просит подтверждение, чтобы не лишиться её случайно.

Возможности и потенциал​

Всё, что раньше требовало танцв с бубном, делается легче. Мы быстрее будем реализовывать задуманные обновления и радовать вас! А чуть позже сможем перейти на DirectX 11, чтобы ещё сильнее прокачать оптимизацию и добавить немного графона)

Требования​

Клиент работает на Windows 7 SP1 и новее. Windows XP больше не поддерживается.

Если вы заметили ошибку — пришлите скриншот, папку log и, если игра упала, папку crashdump.

Спасибо всем тестерам! Ваши отчёты нам очень помогли!​
 

kukun2

Новичок
Не работает приложение "Чат", просит обновить, а в гугл плей нет обновления!
 
Сверху