Как стать автором
Обновить
260.73

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

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

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

Лаконичный макрос defer для C++17

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.5K

Ручное управление ресурсами в низкоуровневом си-подобном коде на C++ — довольно хлопотное занятие. Создание достойных RAII-врапперов для каждого используемого сишного API не всегда практично, а использование подходов с goto cleanup или множеством вложенных if (success) вредит читаемости кода.

Макрос defer как никогда кстати! Отложенная лямбда будет выполнена при выходе из области видимости, независимо от того, будет ли выполнен return, брошено исключение, или даже выполнен goto наружу. Данный макрос по-настоящему zero-cost и не зависит от рантайма C или стандартной библиотеки, поэтому его можно использовать даже в разработке под ядро ОС.

Читать далее

Новости

Недельный геймдев: #229 — 9 июня, 2025

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров569

Из новостей: игры с Summer Game Fest 2025, Unreal Engine 5.6, UE перейдёт к координатам Left-Up-Forward, онлайн Deltarune в Steam превысил 130 тысяч игроков, Bevy 0.16.

Из интересностей: технодемка Ведьмака 4, симуляция жизни частиц в браузере на WebGPU, 3d с нюансом.

Читать далее

UE Enhanced Input System: настраиваем управление в игре (до и после версии 5.3)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров405

Мы рассмотрим два базовых подхода к созданию системы переназначения ввода в Unreal Engine 5 с плагином Enhanced Input System.
Для версий UE 5.3 и выше можно использовать встроенную систему настроек, а для более ранних версий - разработать собственную реализацию.

Читать далее

Как наша студия ушла от гиперказуала и что из этого вышло

Время на прочтение2 мин
Количество просмотров2.6K

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

Пришло время выбора: продолжать штамповать одноразовые проекты или рискнуть и сделать что-то своё. Мы выбрали второе.

Читать далее

3D для каждого. Оптимизация. Часть 4. Ремейк меша

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.7K


Добрый день, дорогие хабражители и хабражительницы.


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

Что получится, если 14 команд сядут кодить с ИИ — и по вайбу

Время на прочтение5 мин
Количество просмотров5.6K

Привет, Хабр! Это Александра Павлова, деврел Friflex. В этой статье расскажу про наш недавний эксперимент — хакатон по вайб-кодингу. 

Если коротко: вместе с Институтом №8 МАИ мы собрали 14 команд студентов IT-специальностей, дали им один вечер, минимум ограничений, максимум генеративных ИИ — и предложили придумать и реализовать мини-игру для страховой компании ЭНЕРГОГАРАНТ. Мы назвали это гордым словом «Вайбатон» (ну вы поняли: вайб + хакатон), потому что вайб-кодинг и правда был, но была еще и проверка кода экспертами жюри.

Читать далее

Проектируем змейку под учебный RISC-V микроконтроллер

Уровень сложностиСложный
Время на прочтение35 мин
Количество просмотров2.1K

На третьем курсе некоторые направления в МИЭТ проходят лабораторный практикум, на котором им даётся возможность спроектировать собственную систему архитектуры RISC-V и написать под неё программу на С или C++.

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

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

Ползём дальше 🐍

Не украл, а вдохновился! Как геймдизайнеры крадут ассеты, модели, текстуры и уровни из чужих игр

Время на прочтение6 мин
Количество просмотров8.7K

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

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

3D для каждого. Оптимизация. Часть 3. Графические ремастеры

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.2K


Доброго времени суток, дорогие хабражители!


В прошлых статьях тут и тут мы разобрали основы оптимизации графония как для игр, так и для прочего визуализационного движа. Но там мы говорили в основном об оптимизации, так сказать, «в минус» — уменьшить текстуры в угоду производительности, уменьшить полигоны для облегчения обсчетов, применить хитрые трюки с созданием лодов и реюз ассетов. Но задумывались ли вы, что однажды может потребоваться оптимизация «в плюс»? 
Читать дальше →

Симуляция жизни частиц в браузере на WebGPU

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров3.7K

Я люблю физические симуляции, а в особенности симуляции частиц. Обычно я реализую что-то на основе традиционной физики, но недавно наткнулся на забавную нефизическую модель, которая может демонстрировать поведение, напоминающее жизнь.

Я написал на C++ прототип для собственного движка, а потом решил, что будет интересно попробовать запустить его в браузере при помощи WebGPU API. Он заработал на удивление хорошо, позволяя создавать подобные симуляции.

В посте я расскажу, как он устроен внутри.

Читать далее

Полностью AI-генерируемая RPG-арена в одном HTML-файле: мой опыт с бесплатным API Pollinations для MVP игры

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.9K

Всем привет! Наверняка у каждого, кто увлекается технологиями, бывают моменты, когда хочется быстро проверить какую-то идею или ‭«поиграться‭» с новым API, не погружаясь в сложную разработку. Сегодня я хочу рассказать как раз о таком эксперименте выходного дня, который начался с простого желания пощупать возможности одного сервиса, а в итоге вылился в небольшой, но забавный пет-проект – GPT Arena.

Меня зовут Илья, я основатель онлайн-нейросети для создания изображений ArtGeneration.me, техноблогер и нейро-евангелист. Идея GPT Arena зародилась у меня давно, еще во времена появления кастомных GPTs от OpenAI. Тогда я даже сделал небольшой прототип: игра предлагала создать героя, генерировала его изображение и весело описывала его бой с другим таким же созданным героем, учитывая их абилки и способности. С учетом того, что в ChatGPT была озвучка сообщений – получалось прикольно. Однако тот прототип был сыроват и я надолго его забросил.

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

Читать далее

Недельный геймдев: #228 — 1 июня, 2025

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

Из новостей: Apple приобрела свою первую игровую студию, продажи Elden Ring Nightreign превысили 2 миллиона копий, Кипрская студия Mundfish начнёт помогать авторам с разработкой и продвижением игр.

Из интересностей: рендеринг Assassin’s Creed Shadows, рогалики становятся всё более странными, технология динамического освещения для 2D-игр.

Читать далее

Патенты на шахматы: как компании используют популярную игру в своих разработках

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров238

Одна из старейших игр в истории человечества (ее прообразы возникли еще в Индии в VI веке нашей эры) — и одна из самых запатентованных. Сотни инноваторов юридически оформили свои изобретения и полезные модели по мотивам шахмат. Некоторые из проектов — сугубо коммерческие, приносящие миллионы своим создателям. О патентах на такие разработки мы и расскажем в этом материале.

Читать далее

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

Blackbox gameplay

Время на прочтение10 мин
Количество просмотров1.2K

В конце 90-х, в эпоху таких игр, как Caesar III, Pharaoh, Stronghold и Zeus: Master of Olympus, если вы не знали, то отцом всех этих игр был Simon Bradbury (хотя в Фараоне и Zeus скорее только крестным), начала набирать популярность идея упрощения пользовательского интерфейса. Во многом это было ответом на критику, что перегруженные UI отпугивают широкую аудиторию (и это действительно так, адепты Евы не в счет), надо было как-то привлечь людей помоложе, которые ни тогда, ни сейчас не отличались желанием глубоко вникать в механики. На этом фоне начали сознательно скрывать сложные внутренние механики (black box gameplay) от игрока — в том числе в градостроительных стратегиях.

Уже в Caesar III (1998), хоть та и имела отличную визуализацию потребностей домов и цепочек производства, всё же оставляла за кадром множество числовых значений: точное количество работников, занятых в зданиях, внутреннюю очередь обработки запросов, приоритеты в распределении ресурсов. Игроку приходилось догадываться о многом опытным путём и считать на бумаге параметры райнов и рисовать цепочку распределения товаров. Сравните это с мануалами Age of Empires II, где на сотнях страниц подробно разбирались все коэффициенты.

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

Читать далее

Почему S.T.A.L.K.E.R.: Тень Чернобыля — навсегда величайший проект постсоветского пространства

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

Привет, Хабр! Это снова я, твоя читательница и профессор кислой ностальгии. Как же всё удачно совпало на прошлой неделе: опять дежурила на кафедре, купила "ремастер" S.T.A.L.K.E.R.: Legends of the Zone Trilogy и давно хотела написать о самой любимой игре своего папы. Моя цель — с популярно академической точностью доступно донести тебе, почему именно проект 2007 года навсегда останется культурным феноменом и величайшим игровым достижением постсоветского пространства, и вряд ли кто его превзойдет. Постараюсь не быть занудой.

Почему S.T.A.L.K.E.R.: Тень Чернобыля — навсегда величайший проект постсоветского пространства

Читать далее

Как я учил жёлтый ИИ торговать и обманывать друг друга

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров901

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

Читать

Пятничная Игра Линуса

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров2K

Как мы сделали веселую викторину про Линуса с токсичным AI-агентом и зачем такое вообще нужно в образовании.

Читать далее

Game++. Performance traps

Время на прочтение27 мин
Количество просмотров7.9K

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

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

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

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

Читать далее

История Flash-игр. Часть 3: Аукцион

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров650

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

Читать далее

Великие игры: Blizzard и Warcraft (1994)

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

Франшиза Warcraft — это обширная экосистема интерактивных развлечений, охватывающая видеоигры, книги и разнообразные медийные проекты, созданные компанией Blizzard Entertainment.

Предлагаю сегодня вспомнить историю создания легендарной серии, начиная с далекого 1994 года. В помощь привлечем воспоминания Патрика Уайатта (Patrick Wyatt), который руководил командами разработчиков первых двух частей Warcraft и первого Starcraft, Джона Стаатса (John Staats) – дизайнера WoW, а также многих ярких представителей команды создателей этой замечательной игры!

Orcs? Humans?
1
23 ...