Нужно разработать multiplayer-платформу для GTA V, а именно сетевой слой синхронизации: соединение клиента и сервера, репликацию игровых сущностей, управление состоянием мира и масштабирование multiplayer-рантайма. На первом этапе предстоит изучить архитектуру сети публичной кодовой базы CitizenFX/FiveM и определить, какие её части можно использовать в собственной платформе. В рамках работ нужно исследовать существующий сетевой стек CitizenFX/FiveM и развивать клиент-серверную сеть. Отдельные задачи: репликация игровых сущностей, синхронизация состояния, управление областью интереса (interest management), владение сущностями (entity ownership), снапшоты и дельта-обновления, интерполяция и экстраполяция, работа с потерями пакетов, задержкой и джиттером, оптимизация использования полосы пропускания. Также предусмотрены профилирование сетевой подсистемы, нагрузочное тестирование и разработка диагностических инструментов.
gta vfivemклиент-сервермультиплеерc#сетевое программированиеbackend-разработкаоптимизация производительноститестированиеархитектура приложенийVOvovchinnikov5021 октябряТребуется разработать собственную multiplayer-платформу для GTA V. Основа работы — исследование публичной кодовой базы CitizenFX/FiveM: нужно собрать и изучить существующий native runtime, разобраться в механизмах интеграции с GTA V и Windows, определить внешние зависимости платформы и разработать собственные компоненты там, где публичной реализации недостаточно. В рамках работы предстоит: - исследовать native C++ компоненты CitizenFX/FiveM; - проанализировать механизм запуска и взаимодействия multiplayer-клиента с GTA V; - работать с DLL, жизненным циклом процессов, IPC и управлением памятью; - исследовать game integration layer; - анализировать runtime-зависимости и поведение компонентов; - заниматься debugging и crash analysis; - исследовать ABI и взаимодействие модулей; - разработать собственные low-level компоненты платформы; - поддерживать совместимость с целевыми версиями GTA V; - документировать найденные interfaces/contracts.
c++reverse engineeringсистемное программированиеdebuggingapiwindows apiVOvovchinnikov5021 октябряЗаказчик разрабатывает собственную multiplayer-платформу для GTA V и рассматривает CitizenFX/FiveM как исследовательскую базу. Первый этап проекта включает сборку FiveM и FXServer из открытых исходников, запуск клиента с публичным компонентом sticky, изучение зависимостей от внешней инфраструктуры Cfx и определение компонентов, необходимых для создания автономной платформы. В рамках работ нужно: - изучить архитектуру CitizenFX/FiveM; - собрать и запустить FiveM/FXServer из исходников; - провести декомпозицию существующей кодовой базы и определить границы подсистем; - исследовать client bootstrap, GTA integration, networking, resource runtime и platform services; - проанализировать зависимости от Cfx/Rockstar infrastructure; - спроектировать архитектуру собственного форка или платформенного слоя; - определить компоненты, которые можно сохранить, заменить или удалить; - разработать и интегрировать собственные platform services; - провести code review и принять архитектурные решения; - организовать воспроизводимую сборку и диагностику платформы. Ожидаемый результат первого этапа: воспроизводимая сборка публичных CitizenFX/FiveM и FXServer, запуск клиента и сервера, исследование работы сборки со sticky и техническая карта, в которой должно быть отражено: - какие компоненты работают автономно; - какие зависят от Cfx infrastructure; - какие компоненты отсутствуют в публичной реализации; - какие зависимости можно удалить; - какие необходимо реализовать самостоятельно; - оценка сложности создания автономной версии платформы.
c++luaсистемная архитектурасборка из исходниковсетевое программированиеанализ зависимостейархитектура приложенийdevopsci/cdlinuxbackend-разработкаVOvovchinnikov5021 октября