Сетевая часть игры C#, unity
5 000 руб. за проект
В рамках создания unity 2019.2 indie игры есть несколько задач:
- доработать udp соединение с сервером - соединение есть, надо начать с ним работать, необходимо связать с системой сериализации/десериализации данных
- доработать websocket соединение с сервером - библиотека и соединение есть, необходимо связать с системой сериализации/десериализации данных
- завести классы "команды" отправляемые и принимаемые на сервер. Каждый класс содержит набор аттрибутов, свойств и признаков - отправлять по reliable соединению ( websocket ) или unreliable ( udp )
- доработать сериализацию/десериализацию классов через messagepack. Библиотеку установлена и настроена - необходимо связать с обработкой сетевых пакетов в обе стороны к серверу
- доработать обвязку для webgl версии игры - сейчас в проект установлен javascript плагин, подменяющий udp на webrtc обвязку, необходимо корректно подменять udp на эту обвязку в webgl билде - написать гибкую систему работы с соединениями
- сделать систему уведомлений для движка обрабатывающего физику и механику тела - эту часть разрабатывают коллеги - необходимо будет скоммуницировать с ними и объяснить как и где можно реагировать на новые данные от сервера
- сделать систему anti ddos - анализ кол-ва соединений с одного ip и т.д. - состав обсудим
- поддержать переключение между reliable / unreliable соединениями, составление метрик для отладки типа RTT, кол-ва теряемых пакетов и т.д.
От кандидата ожидается:
- понимание работы сети - чем udp отличается от tcp, что такое mtu и почему надо применять Messagepack а не гнать все в json по сети
- знание ооп - необходимо сделать гибкий механиз подмены reliable/unreliable соединений через DI исходя из среды сборки - в нативных сборках есть tcp и udp, чего не скажешь о webgl версии
- знание c# - как не аллоцировать лишнюю память, использовать пулы если необходимо, не допускать утечек память и т.д.
Стоимость обсуждается, зависит от вашего опыта - если вы профи и уверенно сделаете все пункты - стоимость часа будет выше, если хотите потренироваться и изучить эту тему - предупредите сразу, скорее всего предпочтение будет отдано тем у кого уже есть опыт
- доработать udp соединение с сервером - соединение есть, надо начать с ним работать, необходимо связать с системой сериализации/десериализации данных
- доработать websocket соединение с сервером - библиотека и соединение есть, необходимо связать с системой сериализации/десериализации данных
- завести классы "команды" отправляемые и принимаемые на сервер. Каждый класс содержит набор аттрибутов, свойств и признаков - отправлять по reliable соединению ( websocket ) или unreliable ( udp )
- доработать сериализацию/десериализацию классов через messagepack. Библиотеку установлена и настроена - необходимо связать с обработкой сетевых пакетов в обе стороны к серверу
- доработать обвязку для webgl версии игры - сейчас в проект установлен javascript плагин, подменяющий udp на webrtc обвязку, необходимо корректно подменять udp на эту обвязку в webgl билде - написать гибкую систему работы с соединениями
- сделать систему уведомлений для движка обрабатывающего физику и механику тела - эту часть разрабатывают коллеги - необходимо будет скоммуницировать с ними и объяснить как и где можно реагировать на новые данные от сервера
- сделать систему anti ddos - анализ кол-ва соединений с одного ip и т.д. - состав обсудим
- поддержать переключение между reliable / unreliable соединениями, составление метрик для отладки типа RTT, кол-ва теряемых пакетов и т.д.
От кандидата ожидается:
- понимание работы сети - чем udp отличается от tcp, что такое mtu и почему надо применять Messagepack а не гнать все в json по сети
- знание ооп - необходимо сделать гибкий механиз подмены reliable/unreliable соединений через DI исходя из среды сборки - в нативных сборках есть tcp и udp, чего не скажешь о webgl версии
- знание c# - как не аллоцировать лишнюю память, использовать пулы если необходимо, не допускать утечек память и т.д.
Стоимость обсуждается, зависит от вашего опыта - если вы профи и уверенно сделаете все пункты - стоимость часа будет выше, если хотите потренироваться и изучить эту тему - предупредите сразу, скорее всего предпочтение будет отдано тем у кого уже есть опыт
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.