[go: up one dir, main page]

Обновить
186.4

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

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

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

Заметки на полях: Изолируем Lua окружение в C++ приложении

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

Скриптовые языки уже давно и прочно заняли свою нишу в игрострое — они существенно упрощают описание игровой логики, уровней, ресурсов, диалогов, квестов, UI и чего только не. Что позволяет отдать эти задачи целиком и полностью в творческие руки гейм-/левел-/прочих-дизайнеров и других членов команды, которым не нужно обладать знаниями в том же C++. Разделение ответственности, ускорение разработки, облегчение моддинга возможность, по завершению разработки самого движка, вышвырнуть программистов на мороз и стричь купоны на бесконечных дополнениях — в общем, одни только плюсы. Да?

Да.

А ещё дыры в безопасности и ...

... уйма путей уронить стабильность.

Новости

За что отвечают графические опции в играх — исчерпывающее руководство

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

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

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

Читать далее

Hudson Soft: как студия, создававшая игры с миллионными тиражами, потерпела крах

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

Студия, подарившая миру игру Bomberman, была основана в 70-х годах двумя братьями — Юдзи и Хироси Кудо. Они любили железную дорогу и поезда, поэтому свой проект назвали в честь составной части локомотивов Hudson C62 (в США известный под названием «Гудзон», в Европе — как «Балтика»).

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

Читать далее

Как подружить С++ и YAML: сохранение конфигов с помощью yaml-cpp

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

В этой статье речь пойдет о добавлении в С++ приложение функционала сохранения данных в формате YAML с использованием библиотеки yaml-cpp. Мы подробно рассмотрим какие возможности для этого предоставляет библиотека и на какие подводные камни можно наткнуться в процессе ее использования.

Особое внимание будет уделено вопросам форматирования(и представления) выходного YAML-текста, поскольку это влияет как на восприятие конечного YAML-документа человеком, так и на совместимость с другими программами, парсеры которых могут хуже поддерживать спецификации YAML.

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

Читать далее

Как вжарить на С++ 23 или захватываем больницу и переписываем рантайм под Windows 95 и точка

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

Приветствую, Хабравчане!

Предлагаю вам окунуться в чарующий мир С++ 23 на Windows 95. Напишем минимальную стандартную библиотеку. Будем использовать современные фичи в коде.

Расскажу как это все работает и для чего это нужно. Старичок SDL 1.2 ещё многое может. Будем использовать его для написания тонкого слоя для графики.

vector::_M_range_check: __n (which is 10)

Управление рисками в GameDev. Геймдизайн (Game Design). Риск того, что игра не даст увлекательный и запоминающийся опыт

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

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

Читать далее

Почему свой игровой движок — это проще, чем кажется

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

Команда JavaScript for Devs подготовила перевод большой практической статьи о создании игрового движка с нуля — без шейдеров, GPU-магии и «взрослых» фреймворков. Автор шаг за шагом показывает, как из простых веб-примитивов вырастает полноценная игра, а затем — универсальный движок, и почему такой подход даёт больше свободы и выразительности, чем готовые решения.

Читать далее

12 популярных мифов про геймдев и игровую графику

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

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

Подавляющая часть специалистов в IT никогда не работала в геймдеве напрямую и сталкивалась с чем-то подобным разве что в детстве, когда делала первые попытки собрать игру в конструкторе. Либо занимались в свободное время 3D-сценами. И когда непрофильные разработчики переносят опыт корпоративного программирования или моделирования статичных сцен на игровую разработку или создание графики реального времени возникает огромное количество заблуждений.

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

Читать далее

Недельный геймдев: #261 — 18 января, 2026

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

Из новостей: Meta сокращает VR-направление, Eidos занимается АААА-игрой, Soviet Games анонсировала ии-слоп Бесконечное лето 2, Valve уточнила правила по использованию ИИ, симулятор бога от Молиньё выйдет 22 апреля.

Из интересностей: импланты и киберпсихоз, делать игру с нулевым опытом, кратко (нет) про Higurashi no Naku Koro ni, 5000 вишлистов за месяц на шортсах, новая часть документалки про Disco Elysium.

Читать далее

Интервью: «Мария Пушкова — концепт-художник о профессии»

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

Записали интервью с Марией Пушковой, опытным концепт-художником по окружению и саб-лидом. Ниже представлена его текстовая расшифровка в немного сокращенном варианте.

Видеоверсия доступна для просмотра на YouTube.

Читать далее

The Sims: история игры, которую «отменяли» снова и снова

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

The Sims – это игра, о которой слышали даже те, кто никогда не считал себя геймером. В начале 2000-х она наделала много шума и каким-то образом попадала на компьютеры даже самых «мужественных» игроков. Да и кто бы мог подумать, что симулятор обычной жизни сможет увлечь миллионы людей по всему миру: эта концепция оказалась настолько прорывной и живучей, что серия, с определёнными условностями, продолжает успешно существовать уже почти 26 лет!

Но знали ли вы, что The Sims изначально задумывалась вовсе не как «игра про симов»? Или что проект планировали выпустить ещё в 1994 году, однако разработку не раз откладывали и фактически забрасывали? В компании в него почти никто не верил, и то, что игра в итоге всё-таки увидела свет, — во многом результат цепочки удачных совпадений и большого везения.

Как вообще появился на свет этот уникальный симулятор жизни? С какими трудностями столкнулись разработчики и за счёт чего The Sims смогла покорить сердца миллионов игроков? Сегодня мы заглянем за кулисы её создания, услышим интересные истории из первых уст и разберёмся, как шёл процесс разработки!

Читать далее

Minecraft: история длиной в 16 (уже 17) лет

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

Будучи достаточно древним поклонником серии Minecraft (именно серии, потому что версии 1.5, 1.7 и 1.9 — совершенно разные поколения игр), я давненько загорелся желанием рассказать, что же такого интересного хранит это незамысловатое название. Как сложилась судьба ее разработчика, Маркуса Перссона, какими идеями он пренебрег, когда наступил его успех, и как он к нему шёл, как развивался этот самобытный мир, и что заставило создателя отказаться от своего творения?

История будет разбита на три (или более) статьи, в каждой из которых будет разобран огромный кусок информации. Будьте готовы к лонгридам.

Также в статье будет инструкция, как сделать своей сервер.

Читать далее

Нескучное программирование. Иерархия концептов

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

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

Как компилятор выбирает лучшую перегрузку, если подходящих вариантов несколько? Интуитивно мы ожидаем, что более «точная» функция должна иметь приоритет над более общей и часто это ожидание мы переносим в правила для компилятора при написании шаблонов и ограничений. Общая идея здесь следующая: перегрузки можно не просто перечислять, а выстраивать в иерархию по степени специфичности, тогда одни функции будут описывать широкий класс типов, другие его подмножество, и, когда тип аргумента известен, компилятор должен выбрать ту функцию, чьи требования наиболее точно соответствуют этому типу. Эта логика заложена прямо в стандарте C++ и называется partial ordering, то есть частичный порядок, потому что не все перегрузки обязательно сравнимы между собой.

Немножко сложности...

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

Стоит ли использовать готовые движки для создания 2D-игр

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

2D‑разработка давно прошла путь от нишевого ремесла до полноценного сегмента индустрии. Инструменты вроде Unity, GameMaker и Godot сделали создание игр доступным, но параллельно многие студии продолжают писать свои движки ради большего контроля, лучшей производительности или уникального стиля. Многие проекты могут быть реализованы на готовых движках без серьезных компромиссов, но есть и такие, где собственное решение дает ощутимое преимущество.

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

Читать далее

БОЛЬШАЯ история Гейм-Дизайн Документации (1/2)

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

Задумывались ли вы когда-нибудь, с чего на самом деле начинается великая игра? Не с первой строчки кода. Не с первого полигона модели. И даже не с концепт-арта. Она начинается с мысли, которая была поймана и пригвождена к бумаге.

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

Сегодня мы называем этот инструмент просто и почти до зевоты скучно — Гейм-Дизайн Документы.

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

Самые красивые и технологичные игры 2025 года

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

Графика в видеоиграх не главное. Однако именно она олицетворяет технологический прогресс индустрии. Сложные системы освещения, фотореалистичные материалы, физика, которая ощущается в каждом движении, и лицевые анимации, от которых трудно отвести взгляд — это именно то, для чего энтузиасты сегодня покупают флагманские видеокарты и OLED-панели.

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

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

Читать далее

Minecraft на Unity. Логика разрушения блоков

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

Продолжаю разрабатывать Minecraft на движке Unity. В этой статье я покажу мою реализацию разрушения блоков - перестройки чанков. Это будет моя вторая реализация.

Перед прочтением этой статьи, советую ознакомиться с моей предыдущей статьей.

Моя первая логика основывалась на полной перестройке чанка после удаления блока. Это работало без багов и не сильно влияло на производительность. Но я решил поэкспериментировать со своей игрой, поставил высокую скорость разрушения и блоки разрушались 1 блок за кадр или около 100 - 300 блоков в секунду. При таком раскладе игра начинала тормозить, не сильно, но заметно. Конечно я не планировал оставлять такую скорость разрушения, но, если я могу увеличить производительность, то нужно реализовывать.

Как же на меня ругался ИИ, когда я скидывал ему свой код. Он мне советовал остановиться на полной перестройке чанков (моя первая логика), но я все же ее переделал, и остался доволен результатом.

Далее расскажу о всех деталях:

Первым делом я вынес Mesh и его параметры (Vertices, Triangles и т.д.)

Читать далее

Игра во время загрузки игры

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

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

Чем же занять себя находящемуся в нетерпении игроку всё это время до того, как игра будет загружена и можно будет начинать в неё играть? Было время, когда человечество почти нащупало интересный ответ на этот вопрос: «загрузочные игры».

«Мы сделали игру на экране загрузки игры, чтобы вы могли играть в игру, пока загружается игра»

Читать далее

Как выбрать идею для инди-игры и не потратить годы впустую

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

Когда я решил сделать свою первую игру для Steam, я был максимально наивен. Мне приходили «крутые идеи», я загорался, начинал их продумывать… и довольно быстро упирался в тупик.

Со временем я понял, что в момент выбора идеи очень легко:

Читать далее

Анонс «Бесконечного лета 2», релиз Pathologic 3 и новые подробности «русского Mass Effect»: новости игропрома

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

Рассказываем, как прошла вторая половина декабря 2025 года и начало 2026-го в русскоговорящей игровой индустрии. В нашем дайджесте вас, как всегда, ждут свежие анонсы, подробности о новых проектах, а также важная информация из пресс-релизов ожидаемых игр.

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

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