Как стать автором
Обновить
42
0
Юрий Лебедев @yuriki

CG Supervisor

Отправить сообщение

Что почитать игровому программисту?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров24K

Объём специфичных знаний, которые требуются рядовому программисту игр, даже если он только начал свою карьеру, вызывает у меня «лёгкую» тоску. Это одна из причин, почему большая часть людей, которые «горят делать игры», отсеивается на этапе технических собеседований (обычно их больше одного). Это нормально и грустно. Добавьте сюда, что нефундаментальные знания, вроде инструментов, библиотек и движков, приходится обновлять где‑то раз в 5–7 лет. Не вижу тут, что игрострой сильно отличается от других областей разработки. Если бы лет 15 назад «добрый я» скинул на почту список книг, которые придется прочитать и осмыслить, армия собранных граблей не была бы столь большой и разнообразной, и без ручек половинной длины. Осторожно, в конце статьи будет супердлинная картинка (взята с github отсюда, с разрешения автора).

У программиста нет цели, только путь.
Всего голосов 60: ↑60 и ↓0+60
Комментарии36

Раскрывая секреты LLM: руководство по основным понятиям больших языковых моделей без хайпа

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров30K

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

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

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии6

Архитектура unity проектов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров13K

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

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

Не волнуйтесь, никаких SOLID и других изотерических практик. Коротко, по делу, подкрепленное использованием на нескольких проектах.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии18

Как сделать билд минимального размера в Unity?

Время на прочтение7 мин
Количество просмотров11K

Всех с Новым Годом! Меня зовут Григорий Дядиченко, и я технический продюсер. Размер билда. Сегодня хотелось бы поговорить о нём и составить некий чек-лист, который полезно проходить перед выкладкой проекта. Если вам интересно, как можно инструментами Unity уменьшить вес сборки — добро пожаловать под кат!

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии14

Автоматизируем iOS-сборку c помощью Jenkins

Время на прочтение4 мин
Количество просмотров4.2K

Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной машине. Поможет в этом Jenkins – это простой в использовании CI/CD-инструмент. Я рассмотрю локальное применение Jenkins.

 Подробности – под катом.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Оптимизация игр на Unity: проверенный в деле план

Время на прочтение10 мин
Количество просмотров31K

Оптимизация игр — отдельная головная боль разработчиков, процесс, который может идти бесконечно. Нужно учесть загрузку процессора, видеокарты и не потерять FPS. Нашли статью, автор которой 13 лет разрабатывает на Unity и делится советами по оптимизации. Под катом есть пошаговый план, как сделать проект на Unity более производительным.

Читать далее
Всего голосов 33: ↑32 и ↓1+31
Комментарии2

Разработка Unity плагинов для iOS и Android

Время на прочтение23 мин
Количество просмотров4K
Есть куча ситуаций когда одной Unity недостаточно и нужно использовать возможности платформы. Банально, но до сих пор, в Unity нет работы с галерей и камерой из коробки. Понятно, что Unity не ограничивается мобильными платформами, но 60-70% всех мобильных игр, как бы говорят:

image
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии5

Компьютеры, какими я их любил

Время на прочтение7 мин
Количество просмотров33K
image

Я много лет боролся с проблемой синхронизации файлов. В самом начале Dropbox был отличным сервисом, но в последние несколько лет они начали разрастаться. Я перешел на iCloud, но это было еще хуже. Наконец, несколько дней назад, после того, как iCloud снова загадочно сломался, я решил, что пора попробовать что-то другое.

Я попробовал Syncthing, бесплатную альтернативу с открытым исходным кодом. И знаете, что? Это стало освобождением. Разумность, простота, надежность, различные функции. Это приносит радость от использования и заставляет поверить в то, что распад цивилизации можно немного замедлить.

Синхронизация — это все, что я любил в компьютерах.

Удивительно, насколько замечательными могут быть продукты, созданные для компьютеров, когда их производителям не нужно заниматься корпоративной ерундой, не нужно продвигать бренд или продавать его пользователям. Честно говоря, я почти перестал верить, что это все еще возможно. Но это возможно.
Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии81

Архитектурные паттерны в iOS: страх и ненависть в диаграммах. MV(X)

Время на прочтение15 мин
Количество просмотров26K

Каждый iOS разработчик в своей жизни уходил с собеседования в расстроенных чувствах и мыслью “это что еще за новая аббревиатура?” Архитектурами пугают и джунов, и миддлов, и синьоров (и наверное даже синьорит). Важно не просто знать что стоит за названием, но ещё и в каком случае какую использовать. Литературы по этому вопросу преступно мало, редкие обсуждения в интернете ограничиваются собственным опытом и какими-то поделками на гитхабе.

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

Первая часть посвящена MV(X) паттернам: самым известным и распространенным практикам в индустрии.

Читать далее
Всего голосов 39: ↑39 и ↓0+39
Комментарии12

Хакаем CAN шину авто. Мобильное приложение вместо панели приборов

Время на прочтение7 мин
Количество просмотров111K

Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.

По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.

Как телефон взаимодействует с автомобилем
Всего голосов 109: ↑109 и ↓0+109
Комментарии123

Вещи, которые я бы хотел знать до начала разработки собственной игры

Время на прочтение6 мин
Количество просмотров27K


Последние два года я в свободное от основной работы время разрабатывал личный проект — игру, которую выпустил в Steam пару месяцев назад. На протяжении всего процесса я делал много ошибок, и вел записи для своего «прошлого я». Этот список может не относиться ни к вашей игре в частности, ни к вашему движку или языку (я использовал Unity и C#). Но я верю, что кому-то эти советы могут помочь. Поехали.
Читать дальше →
Всего голосов 45: ↑34 и ↓11+23
Комментарии24

Математика в Gamedev по-простому. Матрицы и аффинные преобразования

Время на прочтение7 мин
Количество просмотров30K
Всем привет! Меня зовут Гриша, и я основатель CGDevs. Сегодня хочется продолжить тему математики в геймдеве. В предыдущей статье были показаны базовые примеры использования векторов и интегралов в Unity проектах, а сейчас поговорим о матрицах и аффинных преобразованиях. Если вы хорошо разбираетесь в матричной арифметике; знаете, что такое TRS и как с ним работать; что такое преобразование Хаусхолдера – то вы возможно не найдёте для себя ничего нового. Говорить мы будем в контексте 3D графики. Если же вам интересна эта тема – добро пожаловать под кат.


Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии24

Игровые фичи с помощью ECS: добавляем в шутер аптечки

Время на прочтение8 мин
Количество просмотров14K


От ковров перейдем к серьезным вещам. Мы уже рассказали про ECS, какие есть фреймворки для Unity и почему написали свой (со списком можно ознакомиться в конце статьи). А сейчас остановимся на конкретных примерах, как используем ECS в нашем новом мобильном PvP-шутере и как реализуем игровые фичи. Отмечу, что применяем эту архитектуру мы только для симуляции мира на сервере и системы предсказания на клиенте. Визуализация и рендер объектов реализованы с помощью MVP-паттерна — но сегодня не об этом.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии9

Расширение редактора Unity через Editor Window, Scriptable Object и Custom Editor

Время на прочтение8 мин
Количество просмотров24K
Всем привет! Меня зовут Гриша, и я основатель CGDevs. Сегодня хочется поговорить про расширения редактора и рассказать про один из моих проектов, который я решил выложить в OpenSource.

Юнити — прекрасный инструмент, но в нём есть небольшая проблема. Новичку, чтобы сделать простую комнату (коробку с окнами), необходимо либо осваивать 3д моделирование, либо пытаться что-то собрать из квадов. Недавно стал полностью бесплатным ProBuilder, но это так же упрощённый пакет 3д моделирования. Хотелось простой инструмент, который позволит быстро создавать окружения вроде комнат со окнами и правильными UV при этом. Достаточно давно я разработал один плагин для Unity, который позволяет быстро прототипировать окружения вроде квартир и комнат с помощью 2д чертежа, и сейчас решил выложить его в OpenSource. На его примере мы разберём, каким образом можно расширять редактор и какие инструменты для этого существуют. Если вам интересно – добро пожаловать под кат. Ссылка на проект в конце, как всегда, прилагается.


Всего голосов 20: ↑20 и ↓0+20
Комментарии2

Как ECS, C# Job System и SRP меняют подход к архитектуре

Время на прочтение10 мин
Количество просмотров16K
Мы в компании давно работаем с Unity и не могли не пригласить их ребят на Pixonic DevGAMM Talks, который был в сентябре. Field Engineer Валентин Симонов рассказал, как планировать архитектуру игр с учетом преимуществ новых технологий. Unity работает над ними уже несколько лет, чтобы добиться недостижимого ранее уровня производительности. Послушать выступление можно на YouTube, а почитать расшифровку со слайдами — сразу под катом.

Всего голосов 34: ↑33 и ↓1+32
Комментарии11

Быть успешным в сфере IT или что убивает IT'шников?

Время на прочтение5 мин
Количество просмотров64K
Данную статью я написал, основываясь на своем личном опыте, поэтому все что упомянуто в ней, я опробовал сам!

Почему я вообще решил написать об этом? Боль в спине!

Важно рассмотреть этот вопрос достаточно глубоко потому, что это касается не только физического здоровья, но и радости, благополучия в семье, успеха в делах, внутренней энергии, а значит и работоспособности, и даже долголетия! (а ведь хочется на пенсии подольше наслаждаться хорошим самочувствием, а значит и здоровьем)
Здоровье до того перевешивает все остальные блага жизни, что поистине здоровый нищий счастливее больного короля — Артур Шопенгауэр
А чем вообще мы занимаемся на работе, в физическом плане?

Водим мышкой и «тычем кнопки»


В общем, прости нас, запястье. Вы спросите почему? Да потому, что со временем оно начинает жутко болеть, доставлять кучу неудобств, и даже ронять предметы. (У моей бабушки именно так, водила она не мышку, а кисть.)

Молчу уже про туннельный синдром.

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

image
Читать дальше →
Всего голосов 79: ↑51 и ↓28+23
Комментарии189

Принцип KISS в разработке

Время на прочтение7 мин
Количество просмотров17K
Следующий доклад с Pixonic DevGAMM Talks, который мы расшифровали, немного философский — это выступление Константина Гладышева. Он Lead Game Programmer в 1C Game Studios и рассказывал о принципе управления сложностью разработки в контексте всего продукта, а не отдельных фичей. И на примерах показал, почему главное в разработке — это определить, чего делать не надо. Про другие доклады можно почитать по ссылкам в конце статьи.

Всего голосов 30: ↑30 и ↓0+30
Комментарии3

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность