Все разработчики попадают в Ад – Telegram
Все разработчики попадают в Ад
45 subscribers
23 photos
3 videos
2 links
блог про разработку игр
Download Telegram
Минутка арабского мата. В арабском слово хуй - это زب(читается зуб). Живите теперь с этим. И с 32 хуями во рту😀
😁7
Немясной интеллект
Пользуюсь в работе github copilot. (оплатить мне его конечно же отказались, так что плачу из своих). Классная штука, особенно для всяких типовых задач. Неплохо понимает контекст и экономит кучу времени на придумывания имен переменным. Так что тезис Фила Карлтона теперь под вопросом. Где-то год назад когда пошел весь этот хайп воеруг ИИ и все бегали с огромными глазами ааааа ИИ нас всех заменит, все останемся без работы, я ходил и успокаивал людей. Расслабтесь, ИИ в том виде что он существует сейчас и на ближайшее обозримое будущее - это просто инструмент. Навороченый, с усиками и пупырышками, но инструмент. Мясного человека он не заменит, однако значительно увеличит производительность труда. Пришлось даже дать презентацию внутри компании, чтобы объяснить людям что это такое и с чем его едят. И потом еще одну отдельно для программистов. Пол года уже пытаюсь безуспешно объяснить главе нашего айти отдела как активировать возможность использования ИИ расширения райдера от джетбрейнс для корпоративного аккаунта. Как тут не вспомнить старика Карлина - some people are realy fucking stupid. Вот есть ИИшки(хотя после китая мне нравится говорить аишки) которые могут рисовать. И все художники такие ну вот и все ну вот и приплыли, уходим в вебкам. Приходил к нам аниматор из Диснея, который рисовал Короля Льва и Лило и Стич, делился своим опытом использования midjourney и stable diffusion. Чтобы аишка выдала картинку, которая хоть отдаленно похожа на то что тебе надо, приходится прям хорошенько так выдрочить запрос, который по итогу мало похож на человеческую речь, а больше на набор перфокарт. И то, после картинку приходится всеравно допиливать руками. Это еще если вообще повезет добиться нужной композиции. Так же до сих пор в мире не решен вопрос с авторскими правами на генерированный ИИ контент. Ведь аишки тренируют на работах реальных художников, не отчисляя им авторские, так что вопрос кто же автор тут стоит очень остро. Вангую что в будущем возможно появятся сервисы с базами изображений, куда любой художник может залить свои работы для обучения аишек и иметь с этого маленькую копеечку(а возможно и уже есть). Особенно учитывая что ии генеренный контент заполоняет интернет и теперь найти картинки сделаные человеком становится сложнее. А ии инбридинг приводит к вырождению. А картинок надо много. Так для чего же можно использовать все эти сиськогенераторы? рисование типовых затайленых текстур - один хороший пример. Камушки всякие, травинушки, песочки. Для брейншторминга - быстро накидать идей и посмотреть че получится, зачастую может прийти новая идея в процессе генерацию кринжатины. Тоже работает и стекстом. Накидываешь идей в какой нить notion и играешь в “что было дальше”. Сюда же и всякие муд борды идут у дизигнеров. Утверждение художественного стиля - это когда художникам приходится делать кучу скетчей для согласования с продюссером на сколько же стилизовано мы хотим делать игру. Условно для продуктивного общения профессионала с дилетантом. Так что не надо бояться ИИ, надо его оседлать и ебашить в закат на фоне взрыва.
👍6🤔1
Диалог на работе:
Абдульрахман: I'm going to push, but Ahmed asks me to push good.
Ахмед: Don't push just yet. I'm not ready. If you going to push, make sure you don't break anything.
* я жду пока дизайнеры уже запушат конфиги, чтобы я мог проверить багфикс *
Я: PUSH HARDER ABDULRAHMAN, I CAN'T FEEL IF YOU ALREADY PUSHED OR NOT
❤‍🔥6
Что только не придумают лишь бы не платить
Потребовался целый год уговоров, аргументов, споров, постоянных подпинываний и напоминаний. И даже угроз, но мне таки удалось выбить оплату овертайма для моей команды.

Помню когда получил оффер и контракт на руки в финской компании к нему шло в нагрузку соглашение с профсоюзом на 96 страниц, в котором регламентировалось буквально все. Так же тамошний эйчар показал их внутреннюю систему где надо заколачивать отработанные часы. Соответственно если отработал больше 7.5 часов - это оплачивается дополнительно. Если ты постоянно перерабатываешь - к тебе будут вопросики. А действительно ли нужно тебе так рвать жопу чтобы уложиться в план? или может ты просто свои задачи недооцениваешь? или недостаточно эффективно тратишь рабочее время? Вот я считаю это самый правильный подход. Он вот абсолютно честный как для работника так и для работодателя. Работник сам контролирует и оптимизирует свое рабочее время. А если работодателя не устраивает сколько времени работник тратит на решение задач - у него всегда есть возможность дообучить или уволить сотрудника, если он считает что тоже самое можно делать за меньшее время и деньги.

А теперь поговорим о том, как по моему мнению не надо делать.

Менеджер решает, что является овертаймом, а что - нет. Вот это самый частый подход, который встречал. Надо поработать чуть подольше, чтобы успеть в срок? Иди на поклон к начальнику и проси. Стыдливо опуская глаза - это ведь твой косяк! ТЫ недооценил, ТЫ плохо работал. При таком подходе большинство забивает на бюрократию и все равно овертаймит без компенсации. А потом человек забивает на семью, саморазвитие, хобби, выгорает, и его выкидывают как использованный гондон. Ну а что ты хотел? Ты отстал от индустрии, потому что читать статьи и следить за трендами времени у тебя не было. Софт-скилы не прокачивал, в итоге когнитивные способности атрофировались. Как этого избежать? Так как тут компания ставит бюрократический барьер - пусть сама через этот барьер и прыгает. Надо, чтобы ты поработал сверхурочно? Пусть просят. Чем больше ты будешь прогибаться, тем глубже тебя будут…

“У нас нет овертайма, потому что у нас гибкие рабочие часы, приходи когда хочешь, уходи когда хочешь, и вообще мы тут все семья и все такое, кстати, вот у нас тут печеньки на кухне есть”. Большинство молодняка ведется на красивый офис и бесплатную кормежку. И в итоге получается, что работают тупо за еду и возможность посидеть на удобном стуле, возможно, даже без пик точеных по 12+ часов в день.

Юбисофт. Ты что, черт, какой овертайм? Будешь хорошо работать - переведем в Монреаль, точно-точно. Ты главное работай, будь покладистым и не подавай голоса. А еще мы будем пока платить тебе меньше, чем в среднем по региону на твою должность, но когда ты докажешь, какой ты классный, точно повысим! Да и вообще работать в такой крупной компании для тебя должно быть наградой само по себе! Вот, мы тебе даже футболочку дадим брендированную. Хули тебе еще надо? Как этого избежать? Не ведитесь на громкие названия компаний(особенно если название компании начинается на Ю и заканчивается на бисофт). Договаривайтесь на берегу о зарплате и внимательно читайте контракт.
❤‍🔥5👍2🤣1
Media is too big
VIEW IN TELEGRAM
Cкучали? а я тут поразвлекался немного с ComputeShader. Написал на нем расталкивание юнитов и нахождение ближайшего противника. По сравнению с класическими структурами типа KD-дерева или регулярной сетки, работает раз в 10 быстрее. Надо только паркинсона залечить, сглаживанием скоростей двух соседних кадров. На видео эпическая битва двух армий 2000 на 2000.
🔥5❤‍🔥2
Несколько дней разбирался с рандомным хардкрашем воспроизводимым только в билде с вероятностью воспроизведения около 10% только у игроков высокого уровня. На что только не грешил. Выяснилась в итоге интересная особенность Unity Entities. Оказывается EntityCommandBuffer.SetComponent не выдает ошибку если попытаться через него записать данные в компонент, которого нет на ентити(аналогичный метод EntityManager бросает ошибку). Вместо этого он просто перепишет какие то чужие данные по смещению в памяти. И в момент World.Dispose словим SIGSEGV ошибочку, так как перетерся поинтер на начало чанка и проверок на нул поинтер при удалении чанка там тоже нет(что в целом не так плохо, так как иначе у нас бы просто валялся в памяти кусок мусора).
❤‍🔥2
Подождите, идет загрузка...
Экран загрузки — это убийца ретеншена и самое простое решение проблемы загрузки контента. Конечно, он чуть лучше, чем просто черный экран без какой-либо индикации происходящего. В мобильных играх это основное место, когда отваливаются пользователи. Среднее время удержания внимания человека, согласно статистике, — 8 секунд (меньше, чем у золотой рыбки). Так что, если загрузка занимает дольше, человек просто переключится на любой другой источник дофамина: проверить лайки в Инстаграме, ответить на сообщение, глянуть мемасики. На практике время удержания внимания даже меньше, ведь 8 сек — это в среднем… Поэтому разработчики игр заморачиваются с тем, чтобы сделать загрузку более интерактивной. Веселенькие индикаторы загрузки, советы, смена картинок или попытки убрать экран загрузки совсем. Один из подходов избавления от экрана загрузки — это прогрессивная загрузка уровня. Загружаем не всю локацию, а только ее часть, текстурки грузим потоком (это вот когда мыльные рожи превращаются в нормальные в процессе игры). Недостаток такого подхода — уменьшение впечатления от игры. Тот самый присловутый wow-factor, что точно так же уменьшает ретеншен и создает у пользователей ощущение некачественного продукта. Кроме того, фоновая загрузка повлияет и на производительность, и тормоза и лаги во время игры только разозлят игроков, особенно в играх с высокой динамикой. Есть и еще один подход — интеграция «экрана загрузки» в игровой процесс. В No Man’s Sky гиперпрыжок — это элемент игрового процесса, и экран загрузки отлично встроен во вселенную игры. Пролезания через узкие пещеры в различных Tomb Raider, закрытые двери, которые открываются через кат-сцену, выполняют ту же роль. По сути, это такой перенос из реальной жизни в игровую среду идеи искусственного увеличения времени в пути для уменьшения времени ожидания. Все вот эти всевозможные змейки в аэропортах, с одной стороны, конечно же, позволяют чуть плотнее организовать очереди из людей, с другой — создают иллюзию меньшего времени ожидания. Пока ты идешь — ты не ждешь. То же самое и в играх — если загрузка уровня интерактивная, то и не воспринимается как ожидание.
Давно ничего не писал, пора это исправить

Одна из проблем мобильной разработки — это время, которое занимает выпуск обновления для игры в Google Play и App Store. Процесс ревью занимает значительное время. Бывает, что программисты и тестеры пропускают баги, и релиз выходит с критической ошибкой, которую нужно исправить срочно. На помощь пришли китайцы и сделали InjectFix https://github.com/Tencent/InjectFix/tree/master

Инструмент не идеальный, но позволяет выпускать патчи кода без обновления в аппсторе! Просто магия. Есть множество ограничений: нельзя в патче создавать новые классы, нельзя использовать классы, которые до этого не использовались, нельзя добавлять импорты в файлы. Зато можно подменить практически любой метод любого класса, исправив неработающий функционал. Можно быстро залатать дыру, пока полноценный фикс проходит ревью. Утилита создает бинарный файл, который нужно загрузить пользователю. Принцип работы: в процессе билда приложения все помеченные методы всех помеченных классов подменяются на методы вида

if (patch) patchedCall(); else normalCall();

Да, дополнительный иф в каждом методе снижает производительность, поэтому не стоит помечать классы, критичные к производительности. Но для интерфейсных компонентов вполне подойдет
4👍2
человек, который умеет все, но никогда не спрашивайте про результаты его работы...
😁4
есть тема для обсуждения.
KPI на количество багов. В моей практике каждый раз когда дефективные менеджеры пытаются ввести некий стандарт/норму багов на задачу, каждый раз это заканчивалось катастрофой. Баги кидаются как горячая картошка между членами команды, кто последний - тот и сифа. Отдел тестирования превращается в воплощение зла. Все срутся друг с другом, оценки по времени на выполнение задач вырастают в 2-3-4 раза, чтобы заложиться и перезаложиться на все возможнве косяки. В итоге проект тормозит, команда демотивирована, люди увольняются. А у вас бывали такие метрики в работе?😀
Мотивируй меня полностью

«Если бы я мог тебя убедить, я убедил бы тебя удавиться» (с) Диоген

Как мотивировать команду на свершения? Это чертовски интересный вопрос, на который нет простого ответа. Нет и универсального решения, подходящего всем, но полезно хотя бы понимать, какие есть варианты.

Начну издалека. Во времена учебы в университете завел я себе котенка. И тот ни в какую не хотел ходить в лоток. Вместо этого он гадил везде, где только можно и нельзя: на провода компьютера, на кровать, на стол — спасибо, что не на потолок. Я пытался ставить лоток в разные места, класть туда его «подарки», чтобы по запаху находил, куда ходить. Тыкал носом и наказывал регулярно. Ничего не работало. Кот продолжал игнорировать все мои попытки. Всё закончилось совершенно неожиданно, когда я завел второго котенка, который в первый же день сходил в лоток и, видимо, так впечатлил тем, что не получил наказания, что первый котенок с того момента стал ходить исключительно в лоток. Мораль этой истории — то, что является мотивацией для вас, зачастую не является мотивацией для других.

Много всего написано про мотивацию, её как правило принято делить на внутреннюю и внешнюю. Мне такое разделение кажется не слишком практичным и даже вредным. При таком разделении бизнес-тренеры, брызжа слюной, будут вам рассказывать, что надо развивать внутреннюю мотивацию у работников, ведь она круче, а если её нет — не надо такого человека вообще брать! Такой подход полностью снимает ответственность с менеджмента (потому он так и нравится начальникам) за эффективность работы команды. «Просто у них нет внутренней мотивации». Более практичным, мне кажется, разделять мотивацию на негативную и позитивную — те самые кнут и пряник. Интересно, что для каждого человека есть свой рецепт соотношения кнутов и пряников для максимальной эффективности. Большинство людей умеют пользоваться негативной мотивацией — ведь она нам дана матушкой-эволюцией. Не справишься — помрешь. И это прекрасно работает, когда ты с голой задницей бегаешь с палкой по джунглям. Но попивая ванильный раф и закусывая круассаном с хамоном, негативная мотивация может сыграть в обратную сторону. Когда начальник истерично орёт, что мы все умрем, если задача не будет сделана, а ты смотришь на него и очень сильно хочешь ему поверить, поверить в смертельную угрозу и скорее бежать всё исправлять — тут возникает тот самый когнитивный диссонанс. Знаете это ощущение, когда стоишь на краю, и внутри какое-то чувство будто толкает тебя прыгнуть, и приходится сознанием это контролировать? Вот это оно. Ты вроде не в опасности, а тело работает, как будто сейчас помрешь: адреналин, кортизол, сердечко бьется, давление повышается. Но мозг-то хитрый! Через какое-то время он адаптируется и перестает реагировать, и требуются все большие ощущения угрозы для поддержания работоспособности. Отсюда и всеми любимая прокрастинация — надо довести до состояния неминуемого провала, чтобы взяться за работу. И то самое выгорание: мозг просто блокирует все эмоции, так как они перестают выполнять свою функцию — информировать об опасности. Умирает всякое желание творчества: если любая ошибка жестоко наказывается, то лучше либо вообще ничего не делать, либо симулировать рабочий процесс. Не ошибается тот, кто ничего не делает. Сильное влияние негативной мотивации на уровне культуры можно увидеть на примере Индии и Китая. Китайские матери-тигрицы с самого рождения практически дрессируют своих детей прыгать по команде. Ребенок должен учиться только на отлично, поступить в лучший университет, купить собственную квартиру, работать 996 или 007, стать большим начальником, содержать родителей и многочисленных родственников. На выходе получаем людей, не способных принимать решения вне знакомых паттернов. Каждый, кто хоть раз сталкивался с китайской бюрократией, знает, как быстро они работают со стандартными случаями, но как только возникает нестандартная ситуация, человек впадает в ступор и стоит как тот ослик с двумя морковками, не способный выбрать (это еще хорошо, когда эти морковки на виду, а если её еще сначала найти надо…).
👍6
Индийские работники очень мотивированные и настроенные работать быстро и много в силу огромной конкуренции. Или, по крайней мере, так выглядит. Пока ты на него смотришь — он супермотивированный, суперэффективный. Отвернулся на минутку — и его уже нет. Такой вот работник Шрёдингера — работает только в присутствии внешнего наблюдателя. Поэтому индийские начальники не приемлют удаленку. Да и та работа, которая сделана быстро и эффективно, на проверку оказывается либо где-то украденной, либо только формально выполняющей необходимые требования. Ведь создать видимость работы проще, чем создать рабочий продукт (и быстрее). Отсюда и все шутки про индийских программистов.

Уф, много получилось. Ставьте лайки, и отдельным постом напишу про позитивную мотивацию! ;)
👍14
С месяц назад я без спроса на работе пересел на соседнее освободившееся место в опен спейсе(так как оно было у окна). Вчера разъяренная офис менеджер пришла и начала меня отчитывать что так нельзя! все должны сидеть где сидят и запрос на пересадку необходимо обязательно согласовывать с Вице президентом по продакшену. Или как я его называю - "Коричневый Кардинал". Я спросил не следует ли мне так же уведомить Его Высочество Принца Фейсала бин бэндера аль Сауда об изменении моего положения в пространстве в рабочее время, на что получил отрицательный ответ. Тогда я сказал что если пересадка со стула на стул требует согласования топ менеджмента студии - процесс сломан и я напишу письмо главе отдела эйчар управляющей компании. Раз в рамках студии этот вопрос решить невозможно. В итоге офис менеджер убежала и сказала что ниче не надо ей, но потом все же попросила поговорить с другим ВП. Сегодня я с ним поговорил и он меня уверил что никакой проблемы нет, можно пересаживаться, надо лишь написать письмо проджект менеджеру. что я и сделал. Но решил раз такая гулянка, подойду ка я творчески к этому вопросу и попросил ИИшку написать мне письмо в средневековом стиле...
😁9
Что продает реклама?
Посмотрел с год назад рекламу бритвы для головы с супербола. Пример отлично сделанной рекламы от людей которые прекрасно знают свою целевую аудиторию.
https://youtu.be/wXa_TGV_YKM?si=fl4tKpfc4Jk3dLeF

Был такой человек - Эдвард Бернейс. Читал его книжку Пропаганда и всем ее дичайше рекомендую! 1928 год, а все еще актуальна. Отлично описывает принципы работы массового сознания и дает гениальные рекомендации как с ним можно взаимодействовать.
Так вот, один из основных принципов создания рекламы - вы продаете не товар. Вы продаете идею. Как в фильме Начало вы внедряетесь в сознание человека и закладываете туда идею, которую человек потом воспринимает как свою. Люди покупают мерседес не потому что это надежная машина или потому что там много лошадиновых силов. Его покупают - потому что это статус. Поэтому часто можно увидеть офигенно дорогую тачку припаркованную у какой то халупы. Дезодарант Акс Эффект продает идею секса со множеством красивых женщин одновременно, поэтому он так популярен среди подростков😀 И вот данная реклама тоже не продает бритву. Она продает Уверенность. Общеизвестный факт, что множество лысых мужчин страдают от недостатка уверенности в себе. И реклама бьет в самую точку. Посмотрите ее - это реально шедевр😂
1
Media is too big
VIEW IN TELEGRAM
Записали с Полиной видео: "Вопросы от программиста к юристу"
В программе
NDA, non compete
Виды лицензий ПО и авторское право
Как могут уволить удаленщика

Если понравилось, пишите вопросы в комментарии, соберем их для следующего видео
👍6👏2
Как меня заблокировали а потом разблокировали по 115ФЗ.

Прилетело вчера письмо счастья от т банка. Счет сразу же заблокировали.
Каждый месяц вывожу на него с крипты ~200 тыщ рублей. Уже года два как.
Отправил им в ответном письме справку с работы и выписку с саудовского банка за 2025 год где видно поступление зпшки. Пояснил что покупаю USDT за реалы на бинансе и продаю за рубли на бестчендж. Приложил скрины операций с криптокошельком за последние 3 месяца. Сегодня пришла смска что все проверили и разблокировали счет. Проверил - работает. Собственно вся история. На все про все ушло меньше суток. Ситуация, конечно, неприятная, но не то чтобы прям ужас ужас как все говорят.
🔥1