Pull to refresh
2K+
17
Антон Керп@aks2dio

CTO, Unity Developer, преподаватель, консультант

47
Subscribers
Send message

Код, понятный IDE и AI: использование атрибутов из JetBrains.Annotations

Level of difficultyEasy
Reading time6 min
Reach and readers9.6K

У JetBrains есть фреймворк JetBrains.Annotations для .NET, который предоставляет набор полезных атрибутов. Они выступают дополнительными метаданными для статического анализатора JB, который включён в их IDE и ReSharper, для самих разработчиков и даже для нейросетей, которые работают с этим кодом.

Какие атрибуты доступны, как и где ими воспользоваться — об этом кратко и с примерами далее.

Читать далее

Ещё один AI инструмент для Unity: «распаковка» Code Maestro

Level of difficultyEasy
Reading time3 min
Reach and readers8.5K

Помимо Unity AI, доступной бесплатно в Unity 6.2 beta, и очень странного и сырого NimbleFox AI, появился ещё один игрок среди AI-решений для Unity, но с совершенно другим подходом — Code Maestro. Расскажу, что нам, разработчикам, предлагается, и поделюсь своим опытом и впечатлениями от этого инструмента.

Читать далее

Обзор DI-фреймворков для Unity

Level of difficultyEasy
Reading time5 min
Reach and readers11K

Недавно открыл для себя новый DI-фреймворк — RefleX, который, как оказалось, уже давно набирает популярность. Он является аналогом известных многим Zenject/Extenject и VContainer и открыто себя им противопоставляет. Стоит ли этот фреймворк внимания, что лучше выбрать, какие есть альтернативы — об этом расскажу далее, опираясь на свой опыт.

Читать далее

ADR: фиксируем архитектурные решения

Level of difficultyEasy
Reading time2 min
Reach and readers7.5K

Это короткий пост, вдохновлённый карточками по теме, которые я встретил на канале S0ER'а. В геймдеве такая практика встречается нечасто. Поэтому внесу дополнительное упоминание в ленту. Оставлю вводные, ссылки на более подробное изучение, поделюсь своим опытом и расскажу, какое отношение к этому имеет AI.

Читать далее

Мои впечатления от нового AI IDE — Qoder

Level of difficultyEasy
Reading time2 min
Reach and readers41K

Alibaba (у которых Qwen, AliExpress и Tmall) на днях представила Qoder — свою пока бесплатную альтернативу Cursor.

Я успел провести с ним сегодня свой рабочий день, и вот мои впечатления. Сравнивать его я буду с Windsurf, т.к. им пользовался дольше остальных.

Читать далее

Анализаторы для Unity

Level of difficultyEasy
Reading time3 min
Reach and readers11K

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

Я успел всеми ими попользоваться в какой-то мере — кратко расскажу про эти инструменты. И один из них сейчас можно купить по очень выгодной цене.

Читать далее

AI для Rider в разработке под Unity

Level of difficultyEasy
Reading time9 min
Reach and readers16K

Давно не касался темы AI, хотя в этой сфере постоянно происходит много нового.

У меня успело накопиться несколько обновлений, которые могут оказаться для кого-то полезными, т.к. разработка с Rider под Unity имеет некоторую специфику, из-за чего приходится много экспериментировать и выискивать удобные инструменты.

Расскажу, что я успел попробовать, чем и как пользуюсь сейчас.

Читать далее

Заметка про собеседования #2

Level of difficultyEasy
Reading time4 min
Reach and readers14K

На прошлой неделе S0ER опубликовал пост о том, что в собеседованиях укоренилась практика проверять знание каких-то фактов, а не умение мыслить. Будто ищется условный чат-гпт с большой базой знаний, а не специалист, способный анализировать и решать задачи. Хотя ИИ как раз тестируют так, как надо наоборот бы тестировать человека.

Этот материал побудил меня порефлексировать над своим опытом в найме, вспомнить недавние кейсы и подумать о формирующихся тенденциях. Конечно, в этих рассуждениях не обошлось без AI.

Читать далее

Сериализация в Unity: известные атрибуты и их проблемы

Level of difficultyEasy
Reading time10 min
Reach and readers8.9K

Любой Unity-разработчик знаком с атрибутом [SerializeField], который позволяет сериализовывать непубличные члены класса и, соответственно, отображать их в инспекторе. Но, в силу его ограниченности, позже начали появляться и другие способы сериализации.

Попробую кратко рассказать, какие альтернативы используются, зачем все они нужны, как работают и, о чём не любят писать в кликбейтных постах, какие подводные камни могут скрывать.

Читать далее

Заметка про пользовательские соглашения в Web-играх

Level of difficultyEasy
Reading time6 min
Reach and readers3.4K

Некоторое время назад у меня была дискуссия на тему необходимости оповещать пользователей о сборе пользовательских данных в Web-играх.

Многие крупные проекты в Google Play при первом запуске требуют прочитать и принять пользовательские соглашения: обычно это Privacy Policy и Terms of Use.

Однако в Web-проектах, например на Яндекс.Игры или VK Игры, такого не встретишь. И не понятно, нужно ли это там. Я провёл небольшое «расследование» на площадках, и, кажется, понял, как это устроено.

Читать далее

Автостопом по мультиплееру. Часть 4: Авторитарность и Топологии

Level of difficultyEasy
Reading time17 min
Reach and readers5.3K

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

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

Читать далее

Заметка про реализацию системы способностей в играх

Level of difficultyEasy
Reading time11 min
Reach and readers22K

Разработчики игр нередко сталкиваются с необходимостью или желанием реализовать систему способностей в своих проектах. Не редки случаи, когда не понятно ни как подступиться в начале, ни как уже потом добавить в игру новую "гениальную" способность, о которой "ранее не договаривались", не сломав уже добавленные. Как минимум, через эти сложности я и сам успел пройти не один раз на сингловых и мультиплеерных проектах. О том, что я успел для себя понять, эта заметка.

Читать далее

Современное хранение игрового прогресса в контексте Unity

Level of difficultyMedium
Reading time30 min
Reach and readers26K

Для чего нужна система сохранений? Какие задачи решает? Что происходят внутри? Как реализовать? Какие варианты существуют? Как адаптироваться к постоянно меняющемуся контексту? Какие современные особенности нужно учитывать?

Читать далее

Автостопом по мультиплееру. Часть 3: Клиент и Сервер

Level of difficultyEasy
Reading time12 min
Reach and readers5.3K

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

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

Читать далее

Автостопом по мультиплееру. Часть 2: Синглплеер и Мультиплеер

Level of difficultyEasy
Reading time6 min
Reach and readers5.4K

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

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

Читать далее

Автостопом по мультиплееру. Часть 1: Для кого и для чего

Level of difficultyEasy
Reading time5 min
Reach and readers9.3K

Это первая статья цикла, посвящённому разработке мультиплеерных игр. Мультиплеер — это весьма объёмная область, из-за чего в ней очень легко потеряться или пойти не туда. Я хочу попробовать расставить ориентиры, которые бы помогли начать и пройти по этому направлению.

В этой вводной части я хочу поделиться наблюдениями, которые я успел сформировать, чтобы объяснить свою мотивацию к написанию этого материала, и, возможно, объяснить мотивацию для изучения этого направления, если этот процесс ещё не был запущен.

Читать далее

Information

Rating
Does not participate
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity

Specialization

Разработчик игр, Технический директор
Ведущий
Git
ООП
Docker
Linux
Английский язык
C#
.NET
Unity3d
Разработка игр