Как стать автором
Обновить
91
0
Антон Григорьев @fischer

CTO в Pixonic

Отправить сообщение
Спасибо большое за статью, особенно за примеры и то, что не забыли про фильтрацию сущностей и JobSystem. Я как раз хотел написать свой обзор Unity ECS, но вы меня опередили) Уже несколько лет занимаюсь вопросом разработки на ECS, тема для меня горячая, можно почитать в моих последних статьях на Хабре.
Что хотелось бы добавить: текущая реализация пока работает только редакторе. Она пишется, можно сказать, всем миром, т.к. Unity стараются собрать по максимуму опыт специалистов в области и их реализация еще сто раз может измениться. На ближайшей Unite Berlin скорее всего расскажут о дальнейшем развитии.
Также добавил вас в свой небольшой обзор статей про ECS на Хабре (см. в конце статьи). Примечательно, что наши статьи вышли практически одновременно, это очень горячая тема на сегодня.
Точно так же подошли бы: поискали бы готовый движок 3d-физики, который бы мог вписаться в наши техтребования (например, C#, детерминизм/недетерминизм и тд). Или вы имеете ввиду, какие конкретные физические движки мы бы выбрали?
В GameState есть сущности с компонентом UserInput от каждого игрока. Есть система, которая проходится по всем компонентам этого типа и обрабатывает ввод.

По поводу событий: в некоторых реализациях ECS («закрытых» пока для внешнего мира, поэтому тут не упомянул) я видел подходы с реализованными событиями. Мне лично понравилось и мы думаем над ними.
Вы имеете ввиду моменты, относящиеся к нашей реализации? Было бы интересно послушать, ибо это наш первый опыт, и мы работаем над тем, чтобы сделать еще круче.
Нет, внутреннее решение. Об опенсорсе пока речи не идет.
Не отправляли. Пока для нас это был маленький эксперимент, задачи по Instant Apps как таковой не стоит.
Да. Если в случае с рекламой обычно всегда есть источник трафика (обычно, «вшивается» в ссылку), то с органикой нет особо инфы о том, где пользователь узнал о вашем приложении/сайте, где кликнул на ссылку. Вот Google пытается для нас это установить. Очень полезная инфа.
Google каждый год выдает «комплект для выживания»: солнцезащитные очки, крем против загара, футболка, термос для водички. Температура в Долине во время ивента градусов двадцать, но солнце палит жутко. Я намазался только после обеда, но было уже поздно — обгорел. Остальные дни спасался перебежками из тенька в тенечек.
Под органикой подразумеваются все те пользователи, которые сами каким-то образом нашли ваше приложение (например, в поиске Google), а не через рекламу.
Надо поднять старые записи и задачи, посмотрю. Как найду, отпишусь тут.
Да, говоря про юнит-тесты, я больше имел ввиду клиента и геймплей. У нас есть тесты на стороне meta-сервера, мы подумываем про юнит-тесты на системные классы/задачи в клиенте. На геймплей пока нет, по причинам, которые вы уже сами раскрыли. А вот системные/интеграционные тесты на мета-часть игры (загрузка профиля, покупки, смена снаряжения, нажатие кнопок и тд) задача стоит на специальный отдел, который делает это для всех проектов в компании. Как они это делают — можем тоже отдельную статью написать.
Про prediction и rollback будет отдельная большая статья. В целом, недетерминизм физики на них особо сильно не влияет. Во многих «взрослых» играх это работает и без детерминированной физики, у нас тоже.
Что касается 2d — да, это накладывает ограничения на некоторые дизайнерские решения. И там, где нам нужен 3d, мы пишем кастомную обработку физики.
Честно говоря, выбор Volatile Physics был плохим решением. На момент решения других альтернатив на C# особо не было, а еще один проект в компании уже использовал эту библиотеку и тогда еще особо проблем не было. Вообще, Volatile Physics — это больше «проба пера» одного программиста. Использованы самые неоптимальные алгоритмы, много багов. Например, в одном месте вместо sin использован cos(или наоборот, не помню). Мы уже форкнулись и сделали пуллриквесты с фиксами. Подумываем о замене физического движка, благо с нашей архитектурой это не будет большой проблемой.
Пока проект в бета, скриншоты, к сожалению, выкладывать не могу. Но обязательно выложу, как только можно будет.
Начинка и архитектура клиента и подходы очень отличаются от WR, серверные решения похожие. Стараемся реиспользовать лучшее.
Спасибо за фидбек!
На самом деле большая часть компании работает над War Robots и команда проекта только растет. Проекту уже 4 года, но нового запланировано еще на годы вперед :)
А на новый проект мы набрали новую команду, потому что проект с технической точки зрения отличается от WR. Мы придерживаемся принципа „Нет опыта в чем-то — найми тех, кто уже такое делал и научись у них».
Мы судим по отзывам и аналитикам в абсолютных значениях. По нашим данным, у проекта все хорошо, более того, новые обновления аналогично отлично заходят)
Изначально юнит-тесты не задумывались и сейчас пока не видится это критичным. Сейчас игра на стадии проверки гипотез, а для этого юнит-тесты не нужны, к тому же код достаточно качественный. (но на другом проекте, например, юнит-тесты есть).
Отдельная команда будет писать тесты по дизайн-документу. В основном это тесты UI и меты, пока что. Им для этого не нужно ничего знать о коде, они работают на верхнем уровне, уровне приложения, с точки зрения игрока.
TDD нет. Т.е. мы в первую очередь пишем код игры. Но о юнит-тестах думаем. В планах подключить в первую очередь тест-сценарии на реальных устройствах типа «игрок загрузил игру, нажал туда-то, потом сюда, получил такой-то результат и тд». У нас есть отдельная команда по автотестам на разные проекты, сами тест-сценарии пишут QA.

Информация

В рейтинге
Не участвует
Откуда
Одинцово, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность