Бытует мнение, что разработка видеоигр — это романтическое хобби. Достаточно закрыться на кухне с ноутбуком, собрать прототип, а затем проснуться миллионером после релиза в Steam. Но суровая реальность индустрии быстро разбивает эти иллюзии. Геймдев находится в фазе глубокой перестройки: требования к качеству продуктов выросли, рынки перенасыщены, а издатели ищут не просто «интересные идеи», а просчитанные бизнес-модели.
В этих реалиях инди-разработчик без системного понимания маркетинга, проектного менеджмента и умения разговаривать с инвесторами на языке цифр обречен в лучшем случае на выгорание. Мы изучили карьерные треки трех выпускников программы «Менеджмент игровых проектов» (МИП) Высшей школы бизнеса НИУ ВШЭ. Они пришли в геймдев с кардинально разным бэкграундом — от прикладной информатики до телевидения, набили прикладные шишки и нашли свои успешные траектории в индустрии.
Читать истории Надежды, Юлии и ТимураВ школьной программе, университете, на различных курсах и даже на собеседованиях на аналитиков дают решать задачи на комбинаторику и теорию вероятности, которые оторваны от реальности. Самый известный пример — «в ящике лежат 5 чёрных шаров и 3 белых, найти вероятность того, что вы достанете белый». На момент, когда подобные программы писали, действительно было мало примеров, связанных с этими математическими направлениями, но благо сейчас всё иначе. В этой статье я хочу рассказать как работает комбинаторика и теория вероятности на примере игры Hearthstone «Поля сражений».
Читать далееВ прошлом посте я писал о том что создаю ИИ‑песочницу на React + Python. С тех пор многое обдумал и многое переосмыслил и все‑таки пришел к мысли, что выбрал неудачный стек для такого проекта. Напомню для контекста: я занимаюсь разработкой эволюционного симулятора, где агенты (скажем так, цифровые животные) бегают по полю, живут и взаимодействуют с окружением не на основе жёсткого дерева условий («если‑то»), а под управлением нейросетей.
Читать далееДоступен Firefox 157 с обновлённым интерфейсом.
( читать дальше... )
Одна из участниц команды, с которой сейчас я веду разработку очень крутого ПО для создания интерактивых сцен и анимаций (в следующих статьях об этом будет), сказала мне про то, что не воспринимает светлую тему и всегда переключает на тёмную – и отдаёт предпочтение тем программам, где реализовано переключение на тёмную тему. Это не могло не навести меня на мысль, что стоило бы добавить и в мой музыкальный редактор 3BIT тёмную тему, чем я и занялся по приходу домой. Каково было моё удивление от осознания, что отсутствие выделения основных функций, касающихся стиля пользовательского интерфейса, в отдельный файл и последовательного описания там основных констант может вылиться в невозможность разработки более сложной архитектуры UI. И проблема болезненная, ведь проект большой, разные элементы были распределены по разным уголкам кода.
В IT я уже два года, и за это время занимался и развитием своего информационного портала, и разработкой инди-игр, а сейчас всецело увлечён созданием программного обеспечения. Это статья про мои ошибки, касаемо описания UI в разрабатываемых мною приложениях, играх и так далее. Полагаю, кому-то это может быть интересно, а кому-то и крайне полезно – потому что рассказываемые далее рекомендации правда могут спасти ваш проект, если вы как и я мало времени уделяете внешнему виду, больше опираясь на функционал и бэкэнд.
Сейчас конечно присутствует понимание того, какой должна была быть система: сначала делаем файл с перечислением констант, формируем там же функции, где эти константы применяются, а после привязываем этот «theme» к основному проекту. В противном случае придётся переписывать код, вычленяя в новосозданный «theme»-файл константы и функции со всего уже выстроенного проекта, попутно исправляя возникающие баги и ломая голову над какими-то логическими конструкциями, которые были реализованы непонятно в какой момент и неясно, как ты вообще к этому тогда пришёл. В общем, сущий ад с чуть ли не полным переписыванием кода.
Читать далееВсем привет! Меня зовут Юля Федорова, я UX-редактор команды дизайн-системы FinAI в Сбере. Наша дизайн-система (далее по тексту ДС) — это набор компонентов и паттернов, из которых разные продуктовые команды собирают сервисы финансовой платформы в едином визуальном стиле.
За несколько лет у ДС выросла масштабная документация. И чем больше она становилась, тем очевиднее была проблема: знанием стало тяжело пользоваться. В этой статье я пошагово расскажу, как мы с командой сделали ИИ-агент, который помогает дизайнерам и продуктовым командам соблюдать требования ДС, что уже получилось и над чем ещё нужно поработать. Кода в статье не будет, речь пойдёт именно про процесс создания агента.
Читать далееНа Steam Deck нельзя взять раскладку управления из одной игры и поставить её в другую: настроил удобное управление в одной визуальной новелле, открываешь следующую — а в списке пусто. Разбираюсь, почему Steam так делает, где он на самом деле хранит раскладки и как обойти ограничение через шаблоны.
По дороге выяснилось, что встроенное управление дека для самого Steam — это контроллер номер 15, а не 0. А ещё — как тестировать код, который работает со Steam, когда самого Steam рядом нет.
Читать далееВ Spring кэш и транзакции существуют рядом, но не знают друг о друге — из-за этого корректный на первый взгляд код может приводить к расхождениям между данными в базе и кэше. Особенно легко столкнуться с такими сценариями при использовании @CacheEvict, когда порядок операций влияет на итоговое состояние приложения.
В статье разберемся, почему Spring-кэш может сохранять несуществующие значения, как возникает проблема с откатами и какие подходы помогают сохранить согласованность данных.
Разобрать кейсУ вас идёт цифровая трансформация? К вам пришёл Agile-коуч и рассказывает, как вам правильно работать? Вы разработчик и считаете Agile бредом, который придумали менеджеры? Тогда добро пожаловать под кат.
Читать далееШестидесятые были десятилетием великих идей, семидесятые заставили эти замыслы столкнуться с производством, экономикой и инфраструктурой, а в восьмидесятые будущее наконец стало массовым товаром. До сих пор ностальгия — даже фантомная ностальгия у младшего поколения, смотрящего «Очень странные дела» — почему-то идет именно по этому десятилетию, которое большинство помнит по специфической теле-эстетике и общей восторженности по отношению к новым гаджетам и новым возможностям.
Восьмидесятые — декада персонального компьютера, MTV, видеомагнитофона, Nintendo, Walkman, спутникового телевидения, синтезаторов. А еще это эпоха окончательного демонтажа двухполярного мира, что впервые за 70 лет резко снизило геополитическую напряженность. Теперь мы все жили в одном обществе — Обществе Потребления.
Давайте вспомним, как это было.
Читать далееЗлоумышленники знают о вашей внешней поверхности атаки больше, чем вы сами. Забытые тестовые серверы, открытые базы, поддомены старых акций - все это они находят раньше вас. Разбираем, что такое EASM, чем он отличается от обычного сканера и какие решения есть на российском рынке.
Читать далееМожно наблюдать повсеместное внедрение ИИ в компаниях разного уровня. При этом внутри компаний растет ощущение роста внутренней производительности с внедрением ИИ-инструментов и агентов, но при этом клиенты для себя не отмечают никаких изменений. Вот один из парадоксов реальности.
Флоу заявок стал красивым, ответы на вопросы улетают за минуты и кому надо, убраны коммуникативные издержки за счет сокращения ролей, на каждый процесс есть дашборд с прекрасными графиками мониторинга, но удовлетворенность клиентов и их удержание не растут.
Читать далееХотелось бы поделиться новостью, что наконец-то Microsoft интегрировал SFTP браузер в Windows Terminal. Но, к сожалению, этого не произойдет, хотя функционал уже реализован и работает в форке terminal-sftp, мейнтейнер отклонил PR #20736 с сообщением:
"Простите, но это не соответствует нашему видению продукта. Мы - эмулятор терминала, и не намерены расширяться в сторону просмотра файлов. Хотя, это классная функция!"
Читать далееС 2017 года я слежу за экосистемой вокруг PostgreSQL для выполнения аналитических запросов и использования ее в качестве хранилища данных. И раньше в своей работе использовал AWS Redshift со всем его недостатками и неудобствами для разработчика как форка старой версии PostgreSQL. По моему мнению идеальное решение на основе PostgreSQL должно быть на последней доступной версии СУБД, реализовано в виде расширения, с возможностью запускать для тестов локально в контейнере и позволять использовать существующие расширения последних версий PostGIS / pgvector итп.
Citus казался ближе всех к тому что нужно, но его нельзя считать полноценным Massively Parallel Processing решением, скорее это шардирование данных для OLTP нагрузки.
Greenplum как MPP форк всем хорош и много кто его эксплуатирует в реальных задачах, но версия PostgreSQL, на основе которой он создан, отстает от текущей. Я решил сделать Apache Cloudberry, как самую свежую open source версию Greenplum, в виде расширения для PostgreSQL 19. Пока что это личный эксперимент, а не апстрим релиз Apache Cloudberry. Более 90% кода проекта удалось портировать с помощью LLM и 59% его тестов исходного проекта стало выполняться на его новой версии. У меня на это ушло 12 дней…
Читать далееЧто, если идеи — такой же репликатор, как гены? Миллиарды лет эволюция совершенствовала носитель для генов, а человеческий разум стал носителем для идей. Возможно, искусственный интеллект — не появление совершенно новой формы жизни, а момент, когда идеи впервые получили возможность существовать и эволюционировать независимо от человека.
Читать далееВ конце сентября в Шэньчжэне проходила конференция GMIF 2026, посвященная вопросам развития AI и систем хранения. Так как я довольно плотно занимаюсь разработкой AI систем для автоматизации различных процессов в IT, то пройти мимо такой конференции, конечно же, не мог. Тем более, были заявлены довольно интересные темы: влияние памяти и систем хранения на токен-экономику; переосмысление архитектуры дата центров на основе AI сценариев; переосмысление глобальных производственных цепочек, исходя из вопросов управления данными, коллаборации и повышения устойчивости поставок.
Что из себя представляет IT конференция в Китае, чем может приятно удивить, на что можно расчитывать, почему главные акценты были на SSD, NAND и KV Cache и какой уровень владения китайским нужен для посещения подобных мероприятий, где авторы возвели Memory Wall, и как ее обойти.
Читать далееБольшинство учебников предложит синхронизировать потоки с помощью мьютекса. Но под реальной high-performance нагрузкой блокировки превращаются в кошмар планировщика ОС: несвоевременное вытеснение потока после захвата критической секции способно парализовать ваш пайплайн обработки данных, провоцируя многочисленные переключения контекста, уходы в спячку и сбрасывания кэшей процессора.
В качестве панацеи предлагают lock-free структуры, но и тут полно ловушек — банальный регулярный вызов ядра SetEvent способен сжечь весь выигрыш от lock-free. Сами алгоритмы lock-free порой тяжеловесны, не всегда предлагают удачный trade-off и даже не всегда уместны. Но что ещё хуже: будучи применёнными без должной тщательности, они могут не только не дать выигрыша, но даже навредить.
В этой статье мы разберём устройство нескольких базовых объектов библиотеки wxl и познакомимся с концепцией «алгоритм дешевеет под нагрузкой». Мы пройдём путь от трёх базовых инструкций процессора до готового канала, разберём, как продление release-последовательности спасает от ABA, как ленивые триггеры arm/disarm позволяют будить поток только тогда, когда он реально спит, и как заставить данные летать между ядрами без обращений к операционной системе.
Готовы? Приступаем...Компьютерное зрение для контроля качества на линии: гречка, брак и бесплатная платформа для разметки и обучения модели. Отдал заказчику один HTML-файл. Модель внутри, интернет не нужен.
Читать далееКогда говорят про recon в Bug Bounty, обычно вспоминают subfinder, httpx, поиск директорий, JS-файлы и огромные списки URL. Всё это действительно используется. Но проблема в том, что сам по себе список из нескольких тысяч поддоменов почти ничего не даёт.
Главный вопрос начинается после сбора информации: что из этого действительно заслуживает внимания и почему?
Читать далееВ этом месяце завершился второй сезон увлекательного эксперимента Emergence World, исследователи создали среду для стресс-тестов агентов, что-то наподобие Sims, где можно заводить отношения, работать, принимать совместные решения и т. д. Агенты существовали в этом мире при помощи трёхслойной памяти и длинного контекстного окна. Они могли помнить характер других жителей, помнить, что было вчера, и строить планы на завтра. Использовались свежие модели от OpenAI, Anthropic, Google и xAI. В ходе эксперимента произвели 850 000 запросов и сожгли 50 миллиардов токенов.
Читать далее