Обновить
232.19

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

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

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

Пацифизм в играх: что, если насилие — не единственный выход?

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

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

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

Читать далее...

Нейросетевой интеллект для NPC: добыча, постройка, крафт, производство

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

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

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

Здесь мы объединяем в одно целое систему добычи, крафта, строительства и использования зданий.

Далее

Начальное ускорение математики

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

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

В этой статье хочу показать как я почти в 10 раз ускорил графику при помощи математики.

Читать далее

Работа с пространством в Silent Hill 2 (2024)

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

В этой обширной заметке о Silent Hill 2 (2024) будет уделено внимание навигации и восприятию пространств. Для хорошего уровня важна не только удачная планировка, делающая прохождение интересным, но и грамотное использование материалов, цветов, объектов окружения и освещения. Механика фонарика в данной игре играет ключевую роль в поддержании эффективности приемов, применяемых разработчиками локаций.

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

Читать далее

Нанопланета | Вёб-движок PlayCanvas

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

Хотя я немного разочаровался в web-движке PlayCanvas, после того как его апгрейды поломали мне первый диаблоид - для каких-то очень маленьких легковесных игр он остаётся достаточно хорош. Поэтому для разнообразия реанимировал аккаунт и немного погрузился в программирование на js, написав аркаду (с механикой что-то вроде специфического урезанного BattleCity, но на сфере), где инопланетный космический кораблик летает над некоей планеткой.

Читать далее

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

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

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

Читать далее

Походовая тактика на PC: игра против AI или игровой стол?

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

Два разных проекта на движке Godot. Первым был Tesserfact — попытка перенести урезанную часть механик из настольно‑ролевой тактической игры в игру компьютерную. Но в процессе, в силу принципиальной невозможности переноса всех аспектов, подумал переориентировать его в игровой стол (Монстробой: Тактика — второй проект), где игрок управляет всем мануально и может «эмулировать» любые, незакодированные, правила. Что из этого лучше — вопрос открытый, как и то, что обязательно ли компьютерные игры должны быть именно играми общераспространённого вида, где весь интерактив целиком автоматизирован.

Читать далее

Первому игроку приготовиться

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

Электронные игры (аркадными, видео и компьютерными они станут значительно позже) появились не в уютных гостиных и даже не в шумных игровых клубах. Первые игры родились совсем в других местах — в исследовательских лабораториях, университетах и на военных базах чьей-то там минобороны, где военные искали новые способы использования технологий, чтобы внести побольше рацпредложений на одну солдатиковую единицу. На авиастанции корпуса морской пехоты Канеохе, солдатикам предлагали электромеханические игры еще в 1949. Чтобы хоть ненадолго отвлечь молодцев от изнуряющей подготовки и строгой дисциплины, в гулко звучащих казармах новобранцы часами сосредоточенно вертели ручки и нажимали кнопки, стараясь на время забыть тяготы и лишения, пока начальство судорожно решало проблему нехватки брома в части.

Тем временем, в тишине университетских корпусов, среди гудящих cтоек и залежей перфокарт, заспанные и перегруженные учебой студенты, будущие светила программирования и предлагатели новых стандартов превращали огромные дорогущие мейнфреймы в примитивные игровые приставки. Вместо добивания перфокартами сложных математических расчётов или моделей для научных работ, эти люди писали код для первых игр. Не могу их в этом винить, потому что сам в конце 90х прокрадывался в зал, где стоял отцовский комп и тайком запускал SimCity или Цезаря, или пытался накропать морской бой на BASIC руководствуясь исходниками, напечатанными в каком-то журнале и молясь, чтобы скрип жесткого диска и попискивание бипера не были услышаны родителями.

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

Press start

Outsiders, аркадная космо-rpg на Godot 4

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

Прототип adventure-rpg в мире маленьких планет, где игрок управляет разумным звездолётиком, который посещает различные планетки.

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

Game++. run, thread, run…

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

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

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

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

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

Читать далее

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

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

Наверное, большинству людей, связанных с программированием игр, известен алгоритм 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.4K

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

Читать далее

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

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

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

Читать далее

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