Telegram Group Search
Ну вот Google и опубликовал постмортем недавнего падения сервисов. В итоге всё свелось к человеческому фактору.

Выкатили кривое обновление сервиса проверки квот/пермишенов, раскатали на все регионы. Фиче-флага не было, на кодревью проморгали.

Как по мне, сразу куча проблем вскрылось:
- Не было фиче-флага
- Это прошло ревью
- Прошло тесты (или их вовсе не было? 🤔)
- Fail fast подход тут не подошёл. Ключевая программа по проверке квот и пермишенов уходила в постоянный рестарт, что не давало принимать другие запросы

Обещают, что разобьют на модули, будут по дефолту фиче-флаги в false ставить и т. д.
🫡17👍3
This media is not supported in your browser
VIEW IN TELEGRAM
А вот это прям прикольно выглядит. Создание музыки, по сути, через код. Сайт девушки.

Делает это всё, как я понимаю, на Штруделе или чём-то похожем.
🤯39🔥16👍8
Если кто-то интересовался, почему DeepL больше недоступен в России, то...

Онлайн-переводчик DeepL стал недоступен в РФ из-за «необходимости соблюдать законы и международные санкции». Только что ответили на мой запрос.
🫡45🌚8🤣5🔥4😢2
Forwarded from Disgusting Men
Третьесортные приезжие. Кипр: разработка, бизнес и жизнь в 2025. Подкаст «Отвратительные мужики» 254-1

«Отвратительные мужики» на полтора дня слетали на остров, посетили конференцию GDCy FEST, пригласили нескольких интересных гостей и докладывают из местной студии в двух частях. В первой части Пётр Сальников беседует с Андреем Ивашенцевым (GDCy), Андреем Апанасиком (Balancy) и Георгием Бронским (Nutaku).

— На чем зарабатывают нынешние многочисленные конференции, и зачем они нужны?
— Хайп и страх перед AI, который затмил все остальное.
— Раздутые бюджеты, перегретые разработчики и причины выхода сырых игр.
— Сколько можно держать игроков за идиотов?
— Adult-игры: последняя сфера, куда разработчики до сих пор идут по зову сердца.

YouTube | VK | Аудио | Дзен

Реклама. ООО «Яндекс Музыка». ИНН 9705121040. erid: 2Vtzqv5XnQv
🔥32🌚5❤‍🔥2🤮1
Когда играешь на консолях.
🤣92🌚14🥰8👍43
Крис Авеллон постепенно камбечится после тех недоказанных обвинений в домогательствах. Присоединился к студии Republic Games, которую основал ведущий сценарист Detroit: Become Human.

Работают над дарк-фентези RPG. Обещают глубокий сюжет, разветвления в истории и несколько концовок.

Интересный моментик: игроки смогут присоединяться к разным фракциям и выстраивать собственный путь героя или антигероя. Мне сразу Dying Light 2 вспоминается, с разработки которой его выпнули, а потом даже не извинились. Может хоть в новом проекте получится реализовать фракции нормально 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥37👍9🤔2
О как. Cloudflare прям отдельным постом написали, что РКН блочит их.

Помимо этого:
- Официальных обращений к ним вообще не было
- Hetzner, DigitalOcean и OVH столкнулись с теми же проблемами

Мы в Balancy тоже с проблемками столкнулись, т. к. CDN там. Но сегодня выкатим новую версию SDK, которая будет фолбечить к Клаудфронту в случае проблем с Клаудфларей.
🫡49😡7😢2😱1🎉1
Пошёл 3 год жизни на Кипре. И сегодня погода решила напомнить, почему мне не нравится тут жить — больше трети года днём невозможно на улице находиться.

43 градуса 🫠
😱50🫡22🔥14😢7👍2
Я тут в небольшом отпуске, наконец-то есть время попилить свою игрульку. И для моей задумки мне нужно получать инфу об активных окнах в системе. Не спрашивайте зачем это игре нужно, когда будет демка, покажу.

Не знаю как на Маке и Линуксах, но на Винде нужно WinAPI использовать. И, такое ощущение, что за все эти годы его осознанно не делают юзер-френдли.

До этого последний раз тыкал во времена универа, тогда это делал ещё на плюсах. Сейчас надо на C#. Проблем, само собой, меньше. Например, не нужно думать над дескрипторами, типами данных и т. п.
[DllImport("user32.dll")]
static extern bool GetWindowPlacement(IntPtr hWnd, ref WINDOWPLACEMENT lpwndpl);

[DllImport("user32.dll")]
private static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);

[DllImport("user32.dll")]
private static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);

Но концептуальные проблемы остались те же:
- Куча разных методов на каждый чих.
- Нету удобных методов для получения полной инфы по объектам.
- Документация не всегда чёткая. Что очень удивительно для MSDN!

Одна из задач: получить текущие активные окна с их z-индексом.

И тут уже куча проблем:
1. В WinAPI нет в принципе такого понятия как "порядок окон".
2. Можно получить верхнее окно с GW_HWNDNEXT, а потом итерировать, пока не закончим. Но если в этот момент будут появляться/исчезать окна, то можно в бесконечный цикл уйти.
3. Можно прям готовый энумератор использовать. Но там нет z-индекса. Везде вижу, как люди пишут, что оно прогоняет от верхнего окна к нижнему. Но в доке про это ничего не сказано.
4. Если окно свёрнуто, то его позиция будет с координатами -32000. Чтоб получить предполагаемый размер и позицию, нужно использовать GetWindowPlacement, который тоже не всегда даёт гарантию.

В общем, довольно много приключений. А это я ещё АПИшку того же Мака не курил, для которого придётся нативный плагин на Свифте писать!
🤯21🤣7🔥3🫡2🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
Приключения продолжаются. Следующая задача была в том, чтоб обновлять объекты в игре на основании ивентов системы об изменениях окон. Для этого есть удобный хук SetWinEventHook, хотел бы я сказать, но...

1. Там может прилететь множество событий различных. Есть частично схожие события (EVENT_OBJECT_HIDE, EVENT_SYSTEM_DIALOGEND, EVENT_OBJECT_DESTROY, EVENT_SYSTEM_FOREGROUND). Часть из которых прокает одновременно порой.
2. Прилетает это всё в другом потоке. Но эт ладно, синхроним через очередь.
3. Не все окна уничтожаются при закрытии. Например, всеми используемый File explorer не вызывает событие EVENT_OBJECT_DESTROY. Чтоб не тратить ресурсы на пересоздания, шелл это окно скрывает, а не убивает, вызывая событие EVENT_OBJECT_CLOAKED.
4. Когда происходят действия с окном, то там прилетает указатель. И это может быть как корневое окно, так и дочернее. Окно состоит из нескольких мини-окон под капотом, у каждой свой дескриптор. Поле для поиска, например, это подокно (лол). Приходится GetAncestor'ом брать родителя.
5. Но и это с нюансами. Например, когда тот же File explorer закрывается, то вызывается событие EVENT_SYSTEM_FOREGROUND. При этом там id всегда не тот, который был для события появления окна. Приходится запоминать локально id из последнего такого события. И с ним сравнивать. Если отличается (значит, что новое окно всплыло), тогда старый объект можно уничтожить в мире, т. к. предполагается, что старое окно скрылось.

В итоге, почти всё победил. Остался только баг с меню Пуск. По ивентам не могу отловить его закрытие, поэтому объект в мире игры продолжает висеть. Возможно просто отфильтрую его, чтоб вообще не появлялся.
3🔥17😱4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
И к хорошим новостям: на моей 5080 наконец-то нормально завёлся pytorch и aseprite c Retro Diffusion.
- Генерит быстро. Быстрее того же ChatGPT или Джемини.
- Генерить может много сразу, с различными промптами.

Буду на выходных играться. Интересно, сможет ли он нормально спрайтшиты генерить, хотя бы совсем простенькие 🤔

В том виде, в котором оно генерит, много мусора, конечно. Для релиза такое не годится, но для прототипа и первых скринов для Стора вполне может подойти.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25💩3👍2
Штош. Не получилось засесть. Вместо этого сам пытался нарисовать свою последнюю кошку. Часы только на 1 спрайты. А их нужно десятки для анимации...
- На глаза слишком мало пикселей.
- Тяжело передать порой окраску. К примеру, лапки у кошки белые. Но если так делать, то плохо смотреться будет. Приходится, всё же, носочки дорисовывать.
- Что с носом и ртом делать...вообще не пойму.

Ну и отдельная тема, что приходится идти на допущения в угоду арт-вижена. Обратите внимание на глаза и уши, когда кошка стоит боком.

Я посмотрел рефы по другим играм, там часто глаза и уши нарисованы так, что это не бьётся с реальностью.

В общем, интересно, но сложно. Буду набивать руку 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥36🔥7👍4
Что это за клоун в альманахе индустрии? 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
78🤡16👍8😱4🗿4
Рисую UI'ку сам для разнообразия. И тыканье в Aseprite занимательный, я бы сказал, медитативный процесс. А вот настройка префабов интерфейса в Unity всё также отторжение вызывает =/

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

Есть поле для манёвра. Давненько такого не испытывал 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥31🌭84👍1
2025/07/13 16:44:10
Back to Top
HTML Embed Code: