Техническое задание на модернизацию игрового клиента
Требуется выполнить комплексную переработку исходного кода клиента онлайн-игры для повышения его производительности, стабильности и визуального качества.
Основные направления работ
1. Модернизация графической подсистемы
- Перевести графическую часть клиента с устаревшего API (например, DirectX 8/9) на современный (DirectX 11/12 или Vulkan).
- Обеспечить гарантированную поддержку операционных систем Windows 10 и 11 (минимальная версия API - DirectX 11).
- Повысить визуальное качество за счет внедрения улучшенных шейдеров и современных графических эффектов: пост-обработка, SSAO, bloom и других.
2. Поддержка современной архитектуры и оптимизация
- Перекомпилировать проект под 64-битную архитектуру (x64).
- Удалить или переработать зависимости от устаревших 32-битных библиотек.
- Провести профилирование для выявления «узких мест» в логике рендеринга и геймплея.
- Оптимизировать производительность для стабильно высокого FPS на системах разной мощности.
- Выполнить тщательный аудит памяти: найти и устранить утечки, задержки при обработке пакетов (malloc/free).
- Заменить устаревшие аллокаторы на более безопасные аналоги (например, smart pointers в C++).
- Интегрировать инструменты для поиска утечек памяти (Valgrind, AddressSanitizer или аналоги).
3. Ревизия файловой системы
- Проанализировать и переработать работу с архивными файлами (.cpk).
- Устранить проблему накопления «мусора» из-за системы перезаписи файлов, не освобождающей место.
- Реализовать поддержку многофайловой структуры CPK, позволяющей разделять игровой контент на несколько независимых архивов (по зонам, функциям, обновлениям).
4. Общая модернизация кодовой базы
- Провести аудит и заменить устаревшие сторонние библиотеки на их современные и поддерживаемые аналоги.
- Минимизировать количество внешних зависимостей для упрощения поддержки и сборки проекта.