Как стать автором
Поиск
Написать публикацию
Обновить
287.17

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

Game++. run, thread, run…

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

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

В обычном программировании с блокировками, когда возникает необходимость пошарить данные, приходится использовать механизмы сериализации доступа к таким данным, чтобы операции, выполняющие работу с такими данными, были ограничены от одновременного вмешательства со стороны других потоков и возможности их поломать. В прямом смысле поломать. Даже такая простая операция, как ++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.2K

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Время от времени появляется игра, которая показывает что-то новое и по-настоящему революционное. Например, 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.4K

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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