Forwarded from етьетьетьетьетьеть
Эта гаубица убьет шейповую и текстовую анимацию в AE, скриньте
Forwarded from ai.dot(ufna, dev)
На собеседованиях мы годами рассказываем о том, что работаем по Git flow, накрайняк Github flow. Пора сделать каминг-аут: мы работаем в парадигме trunk-based development.
Ну, почти. Я хз как люди живут в чистых парадигмах в геймдеве (честно говоря, я примеров попросту не знаю - и хотя многие били в грудь "вот мы то да", на деле оказывалось что все как у всех и допущений - тьма. Этим геймдев и крут, ибо это и есть саморегулирование!).
Притворяться уточкой вот так:
* фичеветки имеют короткий лайфтайм и заменяют по сути прямой коммит в транк
* мейн бранч (транк/мейн/мастер/девелоп/твое-имя) всегда должен быть стабилен и рабочим
* роботы бдят (CI чеки всего и вся)
* человеки бдят (быстрый код ревью)
https://trunkbaseddevelopment.com/
Ну, почти. Я хз как люди живут в чистых парадигмах в геймдеве (честно говоря, я примеров попросту не знаю - и хотя многие били в грудь "вот мы то да", на деле оказывалось что все как у всех и допущений - тьма. Этим геймдев и крут, ибо это и есть саморегулирование!).
Притворяться уточкой вот так:
* фичеветки имеют короткий лайфтайм и заменяют по сути прямой коммит в транк
* мейн бранч (транк/мейн/мастер/девелоп/твое-имя) всегда должен быть стабилен и рабочим
* роботы бдят (CI чеки всего и вся)
* человеки бдят (быстрый код ревью)
https://trunkbaseddevelopment.com/
Trunkbaseddevelopment
Trunk Based Development
A portal on this practice
Forwarded from ai.dot(ufna, dev)
Очень емкое краткое резюме для ситуации, описанной в https://www.facebook.com/zlobnii/posts/pfbid025GfKsoZ6E5xRPS9TEi25U1AmtokABuwiV1jajpjPzcShLhFYgrQhK9tVVoVP8Z1fl
Forwarded from ai.dot(ufna, dev)
YouTube
366. Лучше С++ хуже нет
Мы поговорим про C++ с теми, кто в нем разбирается.
Гости:
- Сергей Федоров, Руководитель роботизации дарксторов, Яндекс Лавка, ex Руководитель бэкэнд разработки, Mail Ru Games
- Александр Тужик, Experienced Programmer, Gameplay & Graphics, Paradox Interactive…
Гости:
- Сергей Федоров, Руководитель роботизации дарксторов, Яндекс Лавка, ex Руководитель бэкэнд разработки, Mail Ru Games
- Александр Тужик, Experienced Programmer, Gameplay & Graphics, Paradox Interactive…
Forwarded from етьетьетьетьетьеть
Одно из приятных открытий 2022 для меня — «наивная» журналистика Коллектива
Forwarded from Шрифтовой дизайн [SCAM]
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Джимми Нейрон 🚀
Фэнтези вселенная «Короля и Шута»
Многие песни «Короля и Шута» представляют собой законченные фэнтезийные истории с мистическими сюжетами, очень атмосферные и кинематографичные, поэтому я решил нарисовать иллюстрации к некоторым из них с помощью нейросети.
За основу я взял стилистику dark fantasy (а для некоторых иллюстраций — настольной игры Pathfinder).
Midjourney выступила в качестве моего соавтора, мне пришлось перебрать десятки вариантов для каждой песни, а потом дорисовывать их (только немногие картинки получились практически сразу такими, какими я их задумал, и требовали лишь небольших доработок, а некоторые даже пришлось склеивать из трех изображений).
Тут можно посмотреть не вошедшие картинки
Многие песни «Короля и Шута» представляют собой законченные фэнтезийные истории с мистическими сюжетами, очень атмосферные и кинематографичные, поэтому я решил нарисовать иллюстрации к некоторым из них с помощью нейросети.
За основу я взял стилистику dark fantasy (а для некоторых иллюстраций — настольной игры Pathfinder).
Midjourney выступила в качестве моего соавтора, мне пришлось перебрать десятки вариантов для каждой песни, а потом дорисовывать их (только немногие картинки получились практически сразу такими, какими я их задумал, и требовали лишь небольших доработок, а некоторые даже пришлось склеивать из трех изображений).
Тут можно посмотреть не вошедшие картинки
Forwarded from ai.dot(ufna, dev)
Звук не нужен. Но знать почему он не нужен - нужно!
https://uxdesign.cc/ludic-audio-and-player-performance-part-1-comprehensive-and-indicative-sounds-5113611076dc
https://uxdesign.cc/ludic-audio-and-player-performance-part-1-comprehensive-and-indicative-sounds-5113611076dc
Medium
Ludic audio and player performance
Part 1: Comprehensive and Indicative sounds
Forwarded from ai.dot(ufna, dev)
TIL еще один способ сломать все нафиг в проекте. Неочевидное очень.
Допустим, у нас есть функция GetAbility(). Прекрасная функция, существующая на стеке класса MyActor, которая возвращает UObject привязанной абилки. И вот у тебя куча допустим анимбп эту функцию радостно используют (пусть MyActor на самом деле MyActorAnimInstance).
И вот, в порыве рефакторинга, ты этой функции делаешь ренейм или просто ее меняешь. Теперь это GetCurrentAbility().
И вроде бы все ок. Даже странно немного - бп не ругаются, все собирается, только разнесло немного в клочья все.
Казалось бы, вот что может пойти не так?
Все дело в том, что существует другая функция, UMyLibrary::GetAbility(FString AbilityKey), которая ну формально прям отлично туда вписывается по декларации. Может быть вызвана этой нодой? Может. Возвращаешь эктора? Збс.
То, что это вообще левая функция для других целей и просто так повезло - проблемы разраба анрил не волнуют.
Так что одинаковое именование функций - может подкинуть ну мягко говоря не очевидные проблемы. Когда формально с точки зрения движка все будет хорошо.
Допустим, у нас есть функция GetAbility(). Прекрасная функция, существующая на стеке класса MyActor, которая возвращает UObject привязанной абилки. И вот у тебя куча допустим анимбп эту функцию радостно используют (пусть MyActor на самом деле MyActorAnimInstance).
И вот, в порыве рефакторинга, ты этой функции делаешь ренейм или просто ее меняешь. Теперь это GetCurrentAbility().
И вроде бы все ок. Даже странно немного - бп не ругаются, все собирается, только разнесло немного в клочья все.
Казалось бы, вот что может пойти не так?
Все дело в том, что существует другая функция, UMyLibrary::GetAbility(FString AbilityKey), которая ну формально прям отлично туда вписывается по декларации. Может быть вызвана этой нодой? Может. Возвращаешь эктора? Збс.
То, что это вообще левая функция для других целей и просто так повезло - проблемы разраба анрил не волнуют.
Так что одинаковое именование функций - может подкинуть ну мягко говоря не очевидные проблемы. Когда формально с точки зрения движка все будет хорошо.