Григорий Дядиченко
2.71K subscribers
444 photos
180 videos
7 files
1.29K links
Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR.

100+ проектов за 5 лет. https://whitelabelgames.ru

По вопросам сотрудничества писать: @it_bizdev
Download Telegram
Путь одного draw call

Всю неделю мы считали, чем платим за кадр: в понедельник — командами, во вторник — байтами на шине, в среду — когерентностью варпов, в четверг — сменами состояния. Обещанная статья готова: «Путь одного draw call» — проходим дорогу команды рисования целиком, от строчки в вашем коде до пикселя на экране, со всеми четырьмя валютами на местах.

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

Читать: https://dev-math.ru/articles/drawcall/

#devmath #графика #математика #gpu #drawcall #оптимизация
100🔥16
Как меня умиляют выводы бизнеса

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

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

И вопрос возникающий у меня вполне логично. А что со спросом ребят? Типа будем честны. Рынок на котором я работал, это рынок не продуктов, а прототипов продуктов. Выставки, реклама и прочее. Там редко нужно что-то сложное и комплесное. И там и правда нейросети в не сложно технологических кейсах справятся на изи. В интерактивной презе, которая живет на выставке 3 дня главное «чтобы было красиво». Было красиво без прямых рук нейросети конечно не сделают. Но делать стало ощутимо дешевле, порог входа ниже и так далее.

Многие кейсы, довольно простые, чтобы появились локальные продакшены. Допустим я готов спокойно ща музейную систему с CMS за которую я бы не взялся раньше меньше чем за один миллион, сделать в бюджете 250-300к.

Но тут и возникает проблема спроса. Я могу делать недорого много что? А где я возьму спрос, чтобы строить на этом бизнес? По примеру первой версии вайтлеблгеймс, где идея была сделать коробки, нанять отдел продаж, и продавать коробки, я уперся в две проблемы. Сложность продажи, так как никто не понимает зачем им игры и будто бы недостаток спроса, чтобы делать на мелких чеках интересный бизнес. Поэтому продукт превратился по сути в маркетинг с апсейлом очень быстро.

А теперь представим что мы можем делать такие проекты автоматически на потоке. И можем делать 300 квизов, игр и тому подобного в месяц. Круто, только они никому не нужны. Но у всех в голове идея, что это недорого и даже племянник на нейросети может сделать. И мы строим сложную продажу, а клиент потом делает своими силами или типа того. А на продажу мы тратим деньги и это для жизнеспособной бизнес модели кладется в ценник. План надежный.

Поэтому я пока не знаю к чему прийдет рынок, когда пройдет ажиотаж и люди закончат страдает фигней вспомнив небольшую деталь, что производство это не весь бизнес. И пока все цепочки продаж нарушены из-за идеи, что «да ща всё парой кнопок сделаем». Это надо просто пережить и адаптироваться к новой конфигурации рынка. Но логически. Автоматизированные ИИ пайплайны в B2B это тупик. Особенно в сферах где клиенты не понимают зачем им это надо, где сложная продажа и тому подобное.

И поэтому и разработчики никуда не денутся. Так как ценность в сложных продуктах вырастет. А по наблюдениям как продвигается моя разработка игры — там нужны разработчики операторами ИИ. Манагеры в сложном проекте себе стрелять в ногу будут по КД.

#мысли
🔥10
Media is too big
VIEW IN TELEGRAM
Сделал учет симуляции в расчёте траектории

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

Вообще надо подумать, как визуал сделать богаче. Понятно что базово как-то оживить фон и сделать тиррейн по интереснее + чуть подровнять стиль наверное. Сейчас визуал симпатичный, но будто бы слишком статичный. Кадр надо сделать поживее.

Айдл анимацию персонажу добавить. Всякие VFX на приземления и взаимодействия с инструментами.

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

#оработе
🔥3❤‍🔥1
Media is too big
VIEW IN TELEGRAM
Видимо слишком тяжелые веревки

Начал делать веревки. С ними конечно много своеобразных приколов. Свой UX установки, физичный солвер решатель для этого дела и тому подобное. Из забавно так как веревки обладают весом и жесткостью, то воздушные шары ведут себя максимально неочевидно (в отличии от орбов и подобных предметов)

Рендер их я пока ещё даже не ковырял. Но с физикой много прикольных веток как их делать. Даже ностальгически вспомнил как делал веревки на джоинтах в Unity в 2013 году для своей головоломки про вампира. Но забавно что фича скушала примерно день работы. И как видно там ещё баги с шириной коллайдера в симуляции и так далее, но я уверен, что это я сегодня добью. Интересно что будет дальше с тем, когда веревки можно будет резать. И как там поведет себя солвер.

На выходные наверное поставлю себе задачей всё же усложнить генератор 2д тиррейнов. По выбранной технике получилось удобно, но топорненько. Это кстати ещё одна забавная тема с продакшеном нейросетями. Что тут сразу начинается в уровнях кампании (если не делать разные уровни для UGC и для кампании), можно было бы делать проще без конструктора уровней (а точнее без генератора тиррейнов). Каждый уровень это отдельно сгенеренный арт с защитым в него уже тиррейном, что дает визуал симпатичнее, нет проблем тайловости и так далее. Но я же не дам в руки пользователей конструктор, который будет генерить иллюстрации нано бананой, чтобы получить фон уровня. Поэтому прийдется поковыряться в генераторе тиррейнов.

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

#оработе
🤷‍♂3🔥3
Мои методы разработки весьма специфичны

Так как проект сложный и комплесный. То конечно я читаю много диаграмм. Иногда я спускаюсь до чтения реализации классов, когда вижу какой-то бред, и как же хорошо что в 2021 году мне ударило в голову изучить стек веба. Pixi, React и так далее. Весь код понятен. А проект я делаю специально без Unity.

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

Я доделал веревки и ракетницу, что радует. Решив двигаться в спокойном темпе по 2-3 инструмента в день. Начал переделывать генератор тиррейнов. Самая долгая битва конечно была с веревками. И он ещё не окончена.

Меня ещё радуют мелкие отсылки которые удается вшивать в геймплей. Так как ну какая ракетница без рокет джампа? Ну и сетка пока ассеты рисует довольно таки неплохо. Посмотрим какой визуал будет в финале. Но как пока всё получается мне нравится.

Можно конечно переехать на MVVM, но пока не придумал для чего. Я правда сильно увлекся удобством редактора, надо хоть уровни первого мира целиком собрать, а то все инструменты для этого есть давно :)

Самое ключевое решение, которое я пока не принял. Что делать с нарративом. по сути есть две ветки. Анимированная комикс панель, другая полноценные мультики. Вторая дольше и дороже, и меня не отпускает факт что необходимость сюжета в игре (если изначально не детроид бекам хьюман или хеви рейн) примерно такая же, как необходимость сюжета в порно. Забавно когда он есть, но не сказать что это прям обязательно :)

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

#оработе
🔥3❤‍🔥1
Где на экране этот треугольник
https://dev-math.ru/articles/spaces/

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

Плюс разбор, почему отметка Static и статик-батчинг в Unity вообще не спорят с «мир едет навстречу камере».

Да, если серия нравится, и статья интересна. Делимся ей с друзями и ставим 🔥. А то я что, не блогер, это не сказать.

#devmath #графика #математика #3d #mvp #проекция
🔥9
Мы должны купить бар!

Мне кажется у многих была идея плюнуть на всю эту разработку. Открыть где-то бар на островах. И под пальмой продавать коктейли. Я вот решил завести себе бар, но всё же виртуальный.

Так сказать продолжаю развивать вселенную и теперь у меня появился Межпространственный Бар "Чекпоинт" (не Загадка). Для чего он нужен вероятно станет ясно завтра (в первом приближении). Так как в игре (по крайней мере в первой) его не будет. Но больше локаций богам локаций.

А ещё гугл мне с утра устроил приключения. Я как-то не заморачивался, что у меня аккаунт платежный настроен на рф. Деньги то проводятся с зарубежных карт и тому подобное. Но тут гугол с сегодня видимо решил, что важен платежный регион акка. А мне без стека гемини работать неудобно. Можно конечно немного переплачивая пользоваться прокси вроде опен роутера или ранвей и аналогичных. (тот же хагсфилд, который ща агрессивно пиарится).

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


#оработе
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Симпатично конечно генерит чертяка. Но артефакты бывают забавные. Хотя их можно победить. Чтобы генерить правильно моделью нужно мыслить как модель.
❤‍🔥2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Так как у меня пайплайн на клоде я догадался, что он генерит персонажей, так как в промте есть описание "три персонажа" появившееся из финального кадра видео. И говоришь ему просто чтобы он не считывал контекст финального кадра, а относился к нему, как к статичной картинке, к которой нужно сделать зум с моушен блюром и результат получается примерно такой, какой я хотел. Вероятно если сгенерировать правильный финальный кадр, чтобы сетке по бокам не нужно было ничего дорисовывать, то можно избавится от силуэтов. Но они на мой вкус не мешают и выглядят атмосферно.
🔥4❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Оживляя комикс

Долго думал, как сделать картинку в общем по выразительнее и пришел к тому, что пойду в концепцию ожившего комикса. Ёмко, выразительно, может выглядеть прикольно. Пока добавил "Комиксный VFX" и упростил детали ряда объектов. Основное что сбиваеть ощущение комикса пока тиррейн, но с ним я думаю, как его сделать визуально интересным и по правилам комиксности. Выразительные контуры, меньше деталей, без светотеней и так далее.

#оработе
🔥5
Вся суть в пайплайнах

Я как не верил в ИИ, так и не верю. Может я скажу позже, как я был не прав. Посмотрим. Я говорил когда-то что ИИ не заменит разрабов, и я в этом пока всё еще убежден.

Мне что-то когда-то говорили что я не принимал ИИ. Может так оно и было, я не буду отрицать. Но в моей памяти я говорил, что ИИ не заменит разрабов. А в этом я все еще убежден. От того, что инженерам вместо карандаша с линейкой дали автокад инженеры не перестали быть нужны. А тот же клод, это автокад. Просто работой разработчиков никогда не было писать код. Суть разработчика манипулировать абстракциями, уметь декомпозировать и структурировать бизнес требования в систему. Делать чистый поддерживаемый код это техничка.

Когда я пытался учиться рисовать, то первое что я рисовал — это светотень, а точнее кучу шариков. И не поверите, в фотошопе шар со светотенью сильно проще нарисовать чем карандашом, когда понимаешь суть. Но к чему всё это предисловие?

Вот я начал делать свою игру, она относительно большая. Задачки делаются быстро конечно, но мог бы я делать быстрее имея команду из 4 меня условно. Думаю да, и ощутимо. Каждый делал бы модуль свой и так далее. А мог бы я делать что-то качественнее будь у меня бюджет на художников? Да мог, это бы дало мне больше контроля для реализации моих творческих идей. Но вот вопрос. А как построить процесс так, чтобы он обладал бы хотя бы похожей скоростью с работой разных отделов. Это интересный вопрос.

То есть как организовать во-первых контроль версий и базу данных общего контекста для разных отделах, которые сидят в ИИ + ручных инструментах и выдают артефакты. И на самом деле ответ на этот вопрос не так прост. Я честно его не знаю.

Сейчас вот новый инструмент производства появился и новый формат производства. А как его организовать в команде прям хз. А ведь нейросеть можно считать ну средней руки экспертизой с ошибками. То есть ставишь дизайну задачу, но дизайн ничего не знает про маркетинг. ИИ может «прикрыть» эту дыру. Не идеально, но хоть как-то. А как условно фичу провести через все экспертизы и выдать результат это интересный вопрос. И в ответе на этот вопрос кроется, как будет выглядеть команда разработки продукта через 5 лет.

Плюс из забавных баек. У моего друга однажды была забавная ситуация на работе. Они отключили впн (так как айти отдел не знал зачем он нужен). И у компании встала работа на складах, так как инициативные менеджеры на бейсике в экселе сделали себе автоматизацию, которая зачем-то пользовалась этим впн. А теперь представьте, что все «умеют» писать код. И сколько таких историй начнет плодится. Где менеджеры сделали сервис себе с дыренью в безопасности и так далее, если это всё будет работать не по процессам и бесконтрольно. В общем интересно это всё.

А староверы пишущие код на бересте действительно вымрут. Ни один сеньор который будет писать код руками не сможет конкурировать скажем со мной в связке с клодом. Где экспертиза мне позволит писать код качественно и контролировать клод, а фичи выкатывать я буду в 100 раз быстрее. Это из того, что мне пока на 100% ясно.

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

#мысли
🔥8
Media is too big
VIEW IN TELEGRAM
Улучшил графику и добавил ещё предметы

Добавил VFX для разрушения, процедурные тени, улучшил генерацию тиррейна в 2д и визуал самого тиррейна (как самое заметное изменение) + сгенерил персонажу пак анимаций и научил его перелазать через препятствия высотой в одну клетку.

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

За всего-ничего 70 🔥 я выложу отдельную статью про это на своём сайте. А если никому не интересно, то и мне тратить время ни к чему :)

UPD: Или можно “закидать меня деньгами”, как предложили в комментах. Если статья очень интересна 1 🔥 = 50 ⭐️ и можно голосовать рублем получается :) Ну точнее звездами тг :) И заодно поддержать автора :)

#оработе
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16