Все потоки
Поиск
Написать публикацию
Обновить
270.23

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

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

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

Shattered Grimoire, разработка карточной настолки

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

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

Читать далее

Game++. run, thread, run…

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

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

В обычном программировании с блокировками, когда возникает необходимость пошарить данные, приходится использовать механизмы сериализации доступа к таким данным, чтобы операции, выполняющие работу с такими данными, были ограничены от одновременного вмешательства со стороны других потоков и возможности их поломать. В прямом смысле поломать. Даже такая простая операция, как ++count, где count имеет тип integer, требует блокировки, поскольку операция инкремента в общем случае представляет собой трехшаговую операцию (чтение, модификация, запись), которая не является атомарной. Про что-то более сложное и длительное я уже и не говорю.

За кажущейся простотой скрывается множество граблей и ловушек: взаимные блокировки (deadlock), «голодание» потоков, асинхронные ошибки. Это похоже на попытку дирижировать оркестром, где музыканты игнорируют ритм. Проще говоря, любые действия над данными могут привести к проблемам, и чтобы этого не происходило, операции над данными должны быть атомарными, это решается вводом в код примитивов синхронизации, вроде мьютексов, семафоров, спинлоков.

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

Читать далее

AStar Pathfinding для агентов различного размера с использованием пространственного хэширования

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

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

В интернете можно найти много примеров объяснения того, как он работает, и реализации для различных языков, когда размер (далее радиус) агента, которого необходимо перемещать по импровизированной карте, известен заранее и не меняется.

Но когда речь заходит о поддержке агентов, обладающих разным радиусом, увы, информации не так много.

Данный пробел я постараюсь восполнить в рамках этой статьи.

Читать далее

Недельный геймдев: #213 — 16 февраля, 2025

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

Из новостей: в Unity прошла ещё одна волна сокращений, умер Виктор Антонов, Crytek объявила о сокращении 15% штата, Dark Messiah с коопом, продажи A Game About Digging A Hole превысили 250к копий за неделю.

Из интересностей: Библия Реддита, стилизация в видеоиграх, про опыт размещения рекламы на Реддите, я в домике.

Читать далее

Униванг 3/9, демо vangers-like игры на Godot

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

Что если вместо Невангеров делать аналог Вангеров, подумал я и сделал прототип торгово-гоночной игры на движке Godot. Собрав в нём некоторое комбо из различных наработок за все годы и заложив в игру классический вангерский процесс - развоз грузов. Естественно, с какими-то своими особенностями тоже.

Читать далее

Как я придумал геймификацию прокачки для мальчиков-геймеров в реальной жизни. Книга и настольная карточная игра

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

Привет! Меня зовут Владимир. Я арт-директор, художник, дизайнер мобильных и компьютерных игр и креативный директор в рекламе. И я почти случайно написал геймифицированную книгу для мальчиков. Вот тут можно ознакомиться с фрагментом книги. Вернее сказать, я написал эту книгу для себя, но для себя десятилетнего. Эх, если бы у меня тогда были эти знания, которые содержатся в этой книге. В книге обыграны советы по прокачке основных характеристик, которые обычно прокачивают игроки в РПГ. Но советы касаются реальной жизни, например, такие:

Читать далее

Простой односвязный список на С

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

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

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

Читать далее

Уникальные редкие игровые механики в забытых играх

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

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

Время от времени появляется игра, которая показывает что-то новое и по-настоящему революционное. Например, Metal Gear Solid (1998), разработанная Konami, представила игровой процесс, основанный на скрытности, в жанре приключенческого боевика. Игрокам предлагалось избегать конфронтации и придумывать хитрые тактики для прохождения, пробираясь мимо врагов, прячась в картонных коробках и используя гаджеты для отвлечения охранников. Этот акцент на механике скрытности выделил Metal Gear Solid среди других экшн-игр того времени и породил целый поджанр стелс-игр, включая серии Hitman, Splinter Cell и Dishonored.

Но хорошая игровая механика — это лишь часть самой игры. Если повествование и геймплей хромают, то механика, какой бы крутой она ни была, не спасёт. Мы полюбили Super Mario Bros. (1985) не потому что, там впервые появилась механика скольжения персонажа, а из-за того что, это игра подарила нам множество часов весёлых приключений в удивительном мире.

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

Three.js с нуля на практике: как за несколько часов создать аркадную 3D-игру. Часть 1

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

Привет! На связи Кристина, фронтенд-разработчик в отделе рекламных спецпроектов KTS.

Наша команда создает визуально эффектные проекты, цель которых — привлечь внимание пользователей. Мы постоянно экспериментируем с разными технологиями и подходами, и вот, наконец, добрались до 3D-анимаций. Недавно я начала изучать Three.js и хочу поделиться своим опытом.

В сети есть множество статей и уроков по Three.js для начинающих, но большинство из них — это теоретический материал. Я же хочу показать, как создавать 3D-анимации на практике. Эта статья будет первой в цикле о разработке простой игры, в которой нужно строить башню из блоков.

Для успешного прохождения туториала достаточно владеть JavaScript и ООП. Каждый этап сопровождается ссылкой на codepen с комментариями в коде. А в конце вас ждет играбельный codepen-блок: вы можете сразу посмотреть на промежуточный результат, в котором уже реализована базовая игровая механика. В статье же я пошагово разберу, как к этому результату прийти.

Читать далее

5 способов нарисовать обводку

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

Рендеринг обводки (контуров) — это техника, часто используемая в играх или из эстетических, или из геймплейных соображений. Например, в игре Sable контуры применяются для создания стиля, напоминающего комиксы, а в The Last of Us контуры используются для выделения врагов, когда игрок переходит в режим скрытности.

В этом посте мы расскажем о пяти способах рендеринга контура вокруг объекта.

Читать далее

Продакт-менеджер в геймдеве: как сделать игру, в которую захотят играть

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

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

В статье мы разберём, чем отличается продуктовая работа в геймдеве от других сфер, какие ключевые вызовы стоят перед продактами и как применять концепцию Emotions-To-Be-Evoked (E2BE) для создания по-настоящему захватывающих игр.

Читать далее

Несудьба, интегрально-ролевая система

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

Правила универсальной нарративно-вычислительной ролевой системы, предназначенной как для соло игр, так и вождения партии. Использует калькулятор, теги с идентификаторами и строится на интерпретации ассоциаций.

Читать далее

Первая часть исследования Nau Engine

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

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

Читать далее

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

Распределённая сборка Unreal Engine проектов с помощью Horde и UBA

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

Распараллелить сборку большого проекта на несколько компьютеров? Легко! Разбираемся, как использовать Unreal Horde — новый инструмент внутри Unreal Engine 5.5. В том числе посмотрим, как с его помощью запустить анализ PVS-Studio.

Читать далее

«Я в домике»: самые безопасные и уютные места в играх

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

Привет! Замечали, что несмотря на колоссальное разнообразие игр, разработчики зачастую придерживаются в них определенных паттернов? Постепенное повышение сложности, открытие новых мест по мере продвижения по сюжету, добавление побочных квестов. И, конечно, игроку обычно дают несколько безопасных локаций, в которых можно перевести дух, поесть, поспать, починить снаряжение и так далее. В некоторые такие места попасть легко — они находятся на пути игрока или даже включены в сюжетную линию. Как например, комната сохранения из серии Resident Evil. Но некоторые убежища находятся вдали от основной истории и троп игры, поэтому следует постараться, чтобы туда попасть. Вот обо всех таких локациях мы в этот раз и поговорим. Только будьте осторожны: как только вы войдете в эти особенные места, возможно, никогда не захотите уходить.
Читать дальше →

Все Невангеры

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

О том как серия игровых прототипов по мотивам (и не по мотивам) небезызвестных сюрреалистических "гоночек" из 98-го пробовала различные концепции, механики и игровые движки.

Читать далее

Пять ИИ-сервисов, которые пригодятся в разработке игр

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

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

Читать далее

3D-для каждого. Путеводитель для вольного копейщика

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


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

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

Разработка трёхмерного движка для Dendy/NES. Часть 1

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

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

Читать далее

Книга: «Dungeons & Dragons: Тактика боя для Мастеров подземелий (Монстры)»

Время на прочтение12 мин
Количество просмотров9K
image Привет, Хаброжители!

«Dungeons & Dragons: Тактика боя для Мастеров подземелий (Монстры)» — книга, обязательная к прочтению для каждого Мастера начинающего, среднего и продвинутого уровня, который хочет сделать игру ярче и сложнее для игроков.

Руководство Кита Амманна — Мастера с тридцатилетним опытом ведения игры и создателя популярного блога The Monsters Know What They're Doing — поможет оценить способности монстров и разработать грандиозные планы сражения. Вы научитесь принимать как можно больше тактических решений до начала сессии, выстраивать плавный и логичный ход битв, эффективно использовать умения монстров, чтобы не только генерировать острый сюжет, но и многопланово обогащать игру кровопролитными поединками.
Читать дальше →

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