Обновить
360.32

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

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

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

Муршамбала. Кольцо Времени

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

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

Читать далее

Эмулятор NES в каждый проект! [0x02]

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

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

Читать далее

da~Mage, демо arpg на Godot

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

Однажды было настроение собрать проект с управлением в стиле WoW, геймплеем куда-то в направлении Skyforge, экспериментальными игромеханиками и игрой за чистых magic user'ов - получился экшен-рогалик с заклинаниями от комбинаций. Также в этом деле оказалась замешана настольно-ролевая система "Неоновый миф" и её необычные герои.

Читать далее

GameRoy: динамическая компиляция на примере высокоточной эмуляции игр для Game Boy

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

На протяжении более двух лет я много времени уделял разработке моего собственного эмулятора Game Boy, GameRoy. Я немало успел сделать. В эмуляторе был готов графический пользовательский интерфейс (с отладчиком и дизассемблером), сама программа прошла многочисленные тесты и могла сравниться с некоторыми наиболее точными эмуляторами. Я даже портировал её на Android!

Читать далее

Что такое Crafty Buildy Games?

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

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

Читать далее

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

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

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

Читать далее

Game++. run, thread, run…

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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