aks2dio | Unity и геймдев
488 subscribers
185 photos
5 videos
223 links
Директ: @antonkerp

Про GameDev, разработку на Unity и C#, менеджмент, образование, менторство и карьеру в целом.

С 2017 г. разрабатываю, лидую, преподаю и консультирую.
Был в найме, стартапах, фрилансе, инди.
Опыт: Mobile, Desktop, Web, XR.
Download Telegram
📝 Заметка про реализацию системы способностей в играх
Уровень материала: 🐥 #middle

Хотел написать небольшой пост в одно сообщение, но ситуация вышла из под контроля и слов накопилось на целую статью.

Почитать можно на Habr / Dtf / VK / Dzen

Открыл для себя скрытые возможности VK, которые не доступны из GUI. И научился делать якорные ссылки везде, кроме Dzen'а (площадка пока в аутсайдерах по всем показателям).

Опять не про мультиплеер — всё не получается продолжить эту сюжетную арку, столько всего и сразу хочется сделать 🥲
Но в этом материале есть небольшая глава, посвящённая мультиплееру — буду считать, что это спин-офф 😁
—————————————
#development #unity #gamedev #feature #ability #разработка #механика #способности #aks2dio #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍3❤2🔥2
▶️ Про создание реплеев для игр ⏸
Уровень материала: 🐥 #middle

Хочу поделиться свежим полезным видео 📺 с реализацией системы реплеев. И дополнить своими комментариями. Однажды такая фича может потребоваться, и было бы здорово знать, в какую сторону начинать думать.

🔎 Суть реплея:

Чтобы иметь возможность когда-то потом восстановить игровой процесс, необходимо во время этого игрового процесса записывать минимальный набор данных, необходимый для восстановления игровой сессии в конкретный момент времени. Только так.

Чем меньше данных, тем более легковесным получится файл реплея. А это важно, ведь его надо хранить (ROM), читать (CPU), загружать (RAM) и возможно даже передавать по сети (Network).

Например, если поворот персонажа полностью восстанавливается из его направления движения, то достаточно записать только направление движения. И записывать его только тогда, когда оно изменится, а не просто каждые N сек. И т.д. Всё, как при синхронизации данных в мультиплеере.

Лучший вариант, когда игра детерминирована (т.е. при одинаковых вводных будет происходить всегда одно и то же). Тогда достаточно только записывать инпут от игрока с отметками времени и во время реплея его применять. Минимум данных, но детерминированность имеется (или хотя бы вообще возможна) не во всех проектах. Особенно в Unity с её недетерминированной физикой.

🕳 Зачем нужен:

Помимо понятной для игрока функции «посмотреть, как эффектно я пробежал этот уровень» или возможности разрешить спорные моменты в соревновательных играх, эта механика может быть полезна в не пользовательских сценариях.

🟣В сервисных играх реплей полезен для отправки сессии на валидацию сервером, чтобы уличить мошенника в нечестных манипуляциях.

🟣Реплей может помочь с отладкой игры. Или с воспроизведением бага, который нашёл QA или какой-то игрок.

🟣Реплеи, собираемые с игроков, можно анализировать и в результате совершенствовать пользовательский опыт (или монетизационные подходы).

🟣По реплеям можно тестировать игровой баланс и прорабатывать его детальнее.

🟣Реплеи можно использовать для создания маркетинговых материалов, т.к. на таком пост-продакшене можно усилить эффектность геймплея через иную настройку камеры, редактирование окружения, добавление всяческих эффектов и пр.

Т.е. отсутствие возможности реплея в самой игре как механики ещё не гарантирует её отсутствия как части проекта. И это стоит учитывать при проектировании очередного проекта.
————————————
#gamedev #development #feature #tool #replay #геймдев #разработка #механика #рекомендация #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2