Обновить
384.66

Разработка игр *

Разработка игр

Сначала показывать
Порог рейтинга
Уровень сложности

Как сократить количество Draw Calls (вызовов отрисовки) в UI Unity

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели7.6K

В Unity UI часто тормозит не «крутая графика», а расползшееся число draw calls, которое тихо растёт вместе с канвасами, анимациями и материалами. В статье разбираемся, что именно делает каждый лишний вызов отрисовки, как с помощью Stats, Profiler и Frame Debugger найти проблемные места и какими приёмами — от грамотной структуры Canvas до атласов и батчинга — реально снизить нагрузку на мобильных устройствах.

Оптимизировать Unity UI

Параметризация xNode в префабах

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.5K

Привет, Хабр! 👋

В прошлой статье я рассказывал о том, как мы научили фреймворк xNode корректно работать внутри префабов - без потери ссылок и с сохранением целостности узловых графов при редактировании сцен. Это позволило нам использовать узловую систему для интерактивных объектов в игре: сундуков, оружия, кнопок, рычагов и всего, что требует небольшой автономной логики.

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

Читать далее

Обнаружена бета-версия Fallout: New Vegas с несколькими гигабайтами вырезанного контента

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели12K

Энтузиасты обнаружили бета-версию Fallout: New Vegas, собранную всего за месяц до релиза. И самое интересное — этот билд примерно на два гигабайта больше финальной игры и содержит огромное количество вырезанного или изменённого контента, который мы до сих пор не видели!!! 😱

Когда казалось, что про Fallout: New Vegas известно буквально всё, спустя 15 лет после релиза энтузиасты обнаружили два девкита Xbox 360 от Obsidian с несколькими ранними сборками игры — включая почти финальную бету от 21 июля 2010 года. Этот билд, созданный всего за месяц до ухода проекта «на золото», оказался примерно на 2 ГБ тяжелее релизной версии и уже выложен в открытый доступ для изучения и запуска.

Читать далее

Чтение на выходные: «Hey! Listen! Путешествие по золотому веку видеоигр» Стива Макнила

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.4K

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

Стив Макнил — один из авторов и соведущий культового комедийного шоу о видеоиграх Go 8-Bit. Человек, который брал с собой консоль в путешествия и однажды — даже в медовый месяц. Работая над текстом, он и сам открыл для себя множество ранее неизвестных ему игр.

Читать далее

Стратегии обеспечения игрового баланса

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.1K

Справедливость — ключевой элемент игр. Кто захочет играть в игру, которая явно подстроена в чью‑то пользу? Сбалансированная игра гарантирует, что у всех игроков есть равные шансы на победу, без нечестных преимуществ для отдельных участников. Однако достичь баланса в играх — задача далеко не простая.

В этой статье мы рассмотрим стратегии балансировки игр и дадим советы геймдизайнерам, как создать более сбалансированный игровой процесс. Независимо от того, разрабатываете ли вы ролевую игру, стратегию в реальном времени или соревновательный многопользовательский проект, эти советы будут полезны.

Читать далее

Поделюсь с вами всем, что успел изучить о градиентном шуме

Время на прочтение16 мин
Охват и читатели13K

Скорее всего, вам доводилось слышать о градиентном шуме, вернее, о той его версии, которая называется шум Перлина и описывает одну конкретную реализацию, сопряжённую с различными оптимизациями на уровне ЦП. Поскольку это невероятно мощный инструмент для творческой работы, он используется практически везде: при создании визуальных эффектов, видеоигр, процедурно-математического искусства и т.д. Да, как следует настроить его — порой тонкая работа, и неисправная реализация на первый взгляд всё равно может выглядеть хорошо или интересно. В конце концов, «смотрится неплохо, а я художник, я так вижу».  

Чтобы глубже и результативнее понять градиентный шум, мы сначала изучим его одномерную версию (в литературе этот случай обычно не рассматривается), а затем медленно пойдём вверх по лестнице измерений в сторону усложнения задачи. Эту тему мы будем рассматривать с точки зрения графического процессора (GPU), а не с точки зрения обычного ЦП. Все примеры кода и анимации, приведённые в этой статье, реализованы на WebGL2/GLSL (надеюсь, это будет не слишком сильно сказываться на производительности). Примеры должны работать на большинстве современных устройств.

Читать далее

Страх и ненависть вайб-кодинга: как я сделал для ребенка игру и попал в топ приложений на android-TV

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели43K

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

Привет, Хабр! Меня зовут Леонид Калядин, я Cluster Data lead в МТС Web Services. Я отлично разбираюсь во всем, что связано с data, но вот в мобильной разработке — полный ноль. Во всяком случае был до недавнего времени. В этом материале я расскажу, как решил спасти дочь от надоедливой рекламы и навайбкодил Adventure Mazes — игру, которая вошла в топ Android TV в Google Play. Итак, кому интересны подробности — велкам под кат. 

Читать далее

Почему до сих пор не победили читеров в онлайн-играх

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели23K

Онлайн‑игры давно стали частью повседневности: миллионы людей заходят вечером «сыграть пару каток», кто‑то строит карьеру в киберспорте, а кто‑то просто ищет отдых после работы. Но вместе с этим миром выросла и его тень — читеры. Они всегда рядом: в рейтинговых матчах, в казуальных режимах, даже в мобильных проектах. И сколько бы индустрия ни тратила сил на борьбу, окончательной победы так и не случилось.

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

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

Читать далее

Музыкальный движок для Денди: FamiTone

Уровень сложностиПростой
Время на прочтение25 мин
Охват и читатели19K

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

Речь пойдёт о некогда созданной мной библиотечкe, музыкальном «драйвере» или движке под названием «FamiTone», предназначенном для озвучки любительских (homebrew) игр для 8-битной игровой приставки Famicom, она же NES, она же «Денди». По пути разберёмся, что это, как устроено, кому и зачем вообще могло понадобиться, и пригодилось ли в итоге. Спойлер: да.

Читать далее

Стилизация, часть 2: Границы стилизации. Гротеск

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели9.6K

Что называют стилем и стилизацией? Какие течения у стилизации существуют и как классифицировать визуальный стиль рендеров? Можно ли уравнять гиперреалистичный шутер Bodycam и бродилку про глиняных человечков The Midnight Walk, пиксельный выживач Rain World и стратегию Heroes of Might and Magic? Отчасти на этот вопрос мы уже ответили в первой части. Кстати, эту самую первую часть с общей историей развития стилизации в играх и биологическими предпосылками восприятия можете почитать здесь.

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

Читать далее

Мифы, суеверия и народные мудрости в разработке игр

Время на прочтение23 мин
Охват и читатели13K

Существует довольно много распространённых «мудростей» о разработке игр на C++, различных обрядах и видах магии. И как это часто бывает с подобными сакральными знаниями, при внимательном осмотре - у части действительно есть право на жизнь, часть можно отправить в Каирский музей отбирать славу у мумий, а часть вообще оказывается родом из чужой реальности, и работать как предполагалось отказывается. Но это не мешает некоторым компаниям относиться к таким советам как к скрижалям, бережно принесённым с великой горы совещаний. Новым сотрудникам их передают почти с торжественностью обряда посвящения: «Так делали наши предки, так делаем и мы».

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

Понедельнишное

Базовая процедурная генерация воксельных виртуальных миров

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.5K

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

Читать далее

Боты ищут путь: почему NPC за рулем машин в GTA такие неадекватные

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели20K

Обожаю игры серии GTA (все, кроме четвертой части). Я бы даже сказал, что многое в них прекрасно: разнообразие сюжетных миссий, выбор транспорта, классные диалоги, тонкая ирония, саркастичный юмор, высмеивание проблем общества, свобода действий, возможность устроить локальный апокалипсис. Однако все это портит поведение ботов-водителей, которые словно намеренно бросаются наперерез игроку, чтобы усложнить ему жизнь. Но так ли это? Действительно ли поведение NPC на дорогах GTA заскриптовано так, чтобы мешать геймерам? Прошу под кат — в поисках правды будем подглядывать за ботами и залезать туда, куда Рокстары не хотят нас пускать.

Посмотреть путь бота

Ближайшие события

Как мы хакатон в 30ке провели и зачем я форкнул интерпретатор Lua

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.9K

18го ноября, в ГФМЛ №30 на дне наук, я, Саша, CGSG, при поддержки Yandex Cloud провели игровой хакатон для школьников!

Задачей ребят было за 2 часа написать бота для змейки на Lua. Они писали и отправляли стратегии, а в фоне постоянно шли матчи, в которых их стратегии и принимали участие.

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

Читать далее

Недельный геймдев: #253 — 23 ноября, 2025

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.2K

Из новостей: Blender 5.0, разработчик Megabonk отказался от номинации на The Game Awards, Unity и Epic Games объявили о сотрудничестве, Microsoft выложила исходники серии Zork.

Из интересностей: устная история Shadow of the Colossus, как в Quake.exe появился стек TCP/IP, интерактивное руководство по Tweens в Godot.

Читать далее

Direct2D #4 Графика. Введение

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели7.7K

Данная статья является вводной по графике в Direct2D, после неё вы узнаете что такое ресурсы зависимые от устройства и не зависимые. Научитесь выводить на экран любую сложную(2D) геометрию. Узнать теоретическую часть по выводу графики, что такое ID2D1Factory и остальные вводные вещи.

Читать далее

Текстовые игры возвращаются? Новые сферы применения, а также некоторые руководства и ресурсы для разработки

Время на прочтение6 мин
Охват и читатели9.6K

Недавно мы в Beeline Cloud поднимали тему забытых RFC из 90-х, а сегодня решили обсудить феномен текстовых игр. Кроме того, собрали руководства и веб-ресурсы, которые помогут запустить подобный проект или протестировать кастомные игры.

Читать далее

Зоопарк строк в вашем C++ коде?

Время на прочтение26 мин
Охват и читатели26K

CryEngine2 использовал класс собственный CString для реализации работы со строками и немного использовал строки из стандартной строковой библиотеки Windows. Насколько я помню, последняя версия CryEngine всё ещё использует те же самые CString, она кардинально поменялась внутри, но как дань истории название класса менять не стали, зато сильно расширили функционал. Я не на 100% уверен, применялся ли CString только в редакторе или в рантайме игры тоже, вы можете сами это посмотреть в исходниках, которые все еще доступны на гитхабе. Это один подход к работе со строками, довольно распространенный в мире игростроя - когда мы все нужное пишем сами, не оглядываясь... хотя, тут больше уместно слово поглядывая, на существующие реализации и утаскивая в проект все самое лучшее.

Есть и другой подход... Я работал в команде над некоторым проектом, который должен был выйти на консолях, и в какой‑то момент на проект пришел эффективный тимлид, который хорошо умел в красивые презентации, и продавил использование std::string из sdk. Все очень опытные программисты, синьоры и руководство важно кивали на совещании и согласились всё перевести на std::string… не такие уж они оказались опытные, как выяснилось. В итоге мы заменили большую часть CString на std::string. Не сказал бы, что это сильно повлияло на время компиляции — плюс‑минус минута к проекту, который собирается двадцать минут, особой погоды не делают, но это также превратило наш довольно понятный базовый код в запутанный кошмар. Возможно, для переносимости это было лучше, но ни наш проект, ни CryEngine2 Editor так и не были портированы ни на Linux, ни на какую‑либо другую платформу.

Прошло десять лет, я вижу ровно туже ситуацию на текущем проекте — новый тимлид решил перевести местный MySuperPupeString на std::string, уже предчувствуя «нижней чуйкой» последствия — запасаюсь попкорном и беру отпуск на следующий месяц после принятия решения. Но не это интересно, а то — какие вообще строки могут быть в вашем с++ коде.

Строка, на строке и строкой погоняет

Как в Quake.exe появился стек TCP/IP

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели10K

Quake, выпущенный в июне 1996 года, за срок своей жизни был вынужден оседлать три технологические волны. Наряду с появлением карт аппаратного 3D-ускорения и развитием Интернета, сложности у разработчиков игры вызвала и смена поколений операционных систем.

Стремясь к распространению Windows 95 и Windows NT, Microsoft начала процесс замены своей старой операционной системы MS-DOS. С 1996 по 1997 год доля DOS на рынке упала на 50%. Некоторые разработчики, например, Blizzard North, делали рискованный шаг и создавали игры наподобие Diablo только для Windows 95. Компания id Software же пошла на подвиг по созданию единого двоичного файла quake.exe, способного работать и в DOS, и в Windows.

Ещё более впечатляет то, что разработчикам удалось реализовать стек TCP/IP Quake лучше, чем у Windows 95. Давайте разберёмся, как им это удалось.

Читать далее

1 ИИ, 100 чашек кофе и 365 дней: как превратить онбординг инженеров техподдержки в квест

Время на прочтение10 мин
Охват и читатели6.7K

Дисклеймер: Это не пошаговый гайд «сделай сам», а честный рассказ о годовом пути, ошибках и находках. Возможно, он вдохновит кого-то из вас на свои проекты — будем рады обратной связи!

Читать далее

Вклад авторов