Обновить
360.32

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

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

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

Книга: «Blueprints. Визуальный скриптинг игр в Unreal Engine 5. 3-е изд.»

Время на прочтение5 мин
Охват и читатели4K
Привет, Хаброжители!

Мы хотим поделиться с вами постом о новинке, но решили, что лучше всего может рассказать о ней Константин Ламбрианидис (сеньор-ментор левел артист), который не просто в теме, но и имеет реальный опыт в игровой индустрии.

Меня зовут Константин, в геймдеве я уже около 5 лет, из которых 3,5 года работаю левел-артистом в ААА-проектах. Разработка игр интересовала меня с детства, но определиться с конкретной специальностью было непросто — хотелось попробовать себя во всем понемногу. В итоге я выбрал направление 3D, по которому сейчас и работаю. Тем не менее спустя годы меня не отпускает желание углубиться в геймдизайн и позаниматься личными проектами. Так как опыта реального программирования у меня немного, взгляд, естественно, падает в сторону разработки на блупринтах в Unreal Engine.

Собственно, с ними нас и знакомит книга «Blueprints. Визуальный скриптинг игр в Unreal Engine 5», поэтапно объясняя всю необходимую базу для комплексного понимания их возможностей.
Читать дальше →

Процедурная генерация двухмерной полигональной карты

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

Привет Хабр ! Это моя первая статья на тему процедурной генерации. Здесь я рассмотрю конкретную задачу по генерации, её решение и опишу ключевые использованные принципы. Пишу эту статью для того, чтобы поделиться идеями и опытом, которых мне не хватало, когда я взялся за дело две недели назад. Я не буду делать полный разбор проекта, а лишь опишу и визуализирую принцип.

Читать далее

Почему инди MMORPG — приговор

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

Привет, Хабр! Меня зовут TrashPony и я делаю свою MMORPG. Увидел статью, решил тоже поделиться.

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

Читать далее

Чтение на выходные: подборка книг о компьютерных играх, их создателях и философии

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

Вы любите игры — мы находим книги о них и приносим в рубрику. За год-другой у нас уже собралось больше десятка материалов о создании видеоигр и конкретных франшиз. Сегодня предлагаем к чтению литературу по отдельным вселенным: одна книга — одна игра.

Читать далее

Основы Ren'Py: система репутации

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

В 2024-м я начал разработку приключенческой игры "Азраил, вестник смерти". Будучи инди, я писал сценарий, геймдизайн и код сам. Теперь я хочу поделиться своими наработками, чтобы вам не пришлось писать это заново. В этой заметке выкладываю код системы репутации и гайд по его использованию.

Читать далее

Генератор случайных чисел, застрявший на одном значении

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

Моё исследование посвящено мини-игре Green Toad House в New Super Mario Bros (NSMB). В этой мини-игре используется случайность, поэтому в процессе я изучил генератор случайных чисел (RNG) NSMB.

Чтобы пост не был слишком длинным, будем считать, что вы знаете, что такое RNG, а также о концепции порождающих значений (seed). Если нет, то вот хорошие ресурсы для изучения: pannenkoek2012 в YouTube (SM64)Retro Game Mechanics Explained в YouTube (SMW)Википедия.

Читать далее

Game++. Unpacking containers

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

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

В большинстве случаев студии начинают реализовывать свои решения, заточенные под игру, это со временем приводит к появлению библиотеки решений, а частенько и полной замене всего STL стека. Основная причина - это добиться непрерывного размещения элементов в памяти, чтобы максимизировать локальность кэша при их обходе. Надеюсь, понятно для чего это делают: часто быстрее обойти 1000 элементов, которые лежат друг за другом, чем дюжину, которая раскидана по разным частям оперативки.

Если вы не готовы писать и поддерживать свою STL, старайтесь, использовать vector, он хотя бы предсказуем по времени на всех платформах. Так вам скажет большинство разработчиков игр на C++, но проблема в том, что vector перераспределяет хранимые объекты в памяти при вставке новых элементов, а также при удалении любого элемента, кроме последнего. Это означает, что указатели на элементы вектора становятся недействительными, и тогда все зависимости и взаимодействия между элементами перестают работать.

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

Читать далее

Оптимизация игры на UE. Часть 2. Анализ статистики и первые улучшения

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

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

В этой части мы займемся анализом данных, которые удалось собрать при помощи инструментов FPSChart и Unreal Insights. Разберем, как выявить узкие места, влияющие на производительность, определим приоритеты для оптимизации, рассмотрим и проведем действия для оптимизации Render Thread. После этого проанализируем новые данные по производительности после всех изменений.

Читать далее

Гейм-дизайн каннибалы: кто съедает AAA игры и зачем?

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

Мысль об этой статье началась давно с простой, на первый взгляд, фразы. Я услышал её на одной из конференций несколько лет назад от разработчика мобильных игр — человека, который явно знал своё дело. Он говорил о процессе создания новых проектов, когда уже на секции Q&A кто-то из зала спросил:

— «Как придумать идею для мобильной игры?»

Ответ прозвучал так просто, что я даже не сразу понял его глубину:

— «Возьми AAA-проект, уберите всё лишнее и оставьте только самое сладкое — то, что заставляет людей играть снова и снова.»

Эти слова тогда застряли у меня в голове. Они казались одновременно гениальными и пугающими. Гениальными потому, что в них была логика, которую невозможно отрицать: Успешные мобильные игры действительно часто строятся вокруг упрощённых версий механик из крупных проектов, так работает добрая половина мобильного рынка. Пугающими же потому, что они открывали мне некую тёмную сторону индустрии — ту, где творчество не имеет такого сильного значения и вовсе растворяется в процессе деконструкции. Где вместо создания чего‑то нового, уникального, мы занимаемся своего рода «каннибализмом», вырывая самые аппетитные кусочки из уже существующих игр и подавая их под соусом мобильной «доступности».

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

Читать далее

Зачем разработчики ПО прячут пасхалки в коде

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

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

Геймдев в Unity 3D с 10 лет: возможности и курсы для детей, польза обучения

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

Всем привет! Я Ксения – пишущий редактор в блоге «IT для детей». Сегодня хочу рассказать об игровом движке «Юнити» и его возможностях, а также коснуться темы обучения ребят 10 лет и старше работе с инструментами данной среды.

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

Читать далее

Недельный геймдев: #217 — 16 марта, 2025

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

Из новостей: Николай Дыбовский покинул Ice-Pick Lodge, Бобби Котик подал в суд на Kotaku и Gizmodo, Ubisoft планирует создать новую компанию, авторы The Day Before подали в суд на издания за клевету, в Niantic объявили о продаже игровых активов.

Из интересностей: как Тони Хоук взломал 3 поколения игровых консолей, Уоррен Спектор и Ларри Куперман обсуждают игровую индустрию, что надо сделать перед запуском страницы в Steam.

Читать далее

Автоматизируй всё! Настройка CI-CD в Unity Часть вторая. Сборка Unity Cloud build

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

Привет, Хабр!

Собираешь билды вручную и теряешь кучу времени? Эта статья позволит тебе автоматизировать процесс сборок в с помощью Unity Cloud Build. Одна кнопка — и билд готов!

В этой статье мы по шагами пройдемся и настроим сборку на Unity Cloud build.

Читать далее

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

Разбор рендера фейковых теней (и не только) в Танки Онлайн

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

Привет! Меня зовут Артур, я работаю разработчиком в команде Unity компании Альтернатива Гейм. В этой статье я расскажу, как мы реализовали технику фейковых blob-теней в нашей игре Танки Онлайн на Nintendo Switch, используя проекционные меши, а также о том, какие еще применения мы нашли для этой техники.

Читать далее

PVS-Studio в разработке на Unity: новые специализированные диагностики

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

По сей день Unity остаётся популярен у тысяч разработчиков. На этом движке созданы многие популярные игры, такие как V Rising, Beat Saber, Hearthstone, Genshin Impact и прочие. Насколько полезен был бы анализатор PVS-Studio разработчикам таких проектов? Какие ошибки и возможности для оптимизации кода он мог бы помочь найти? Давайте узнаем!

Читать далее

О книге «Разработка игр на Unity, 4-е изд.»

Время на прочтение18 мин
Охват и читатели5.2K
Привет, Хаброжители!

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

Готовы вывести свои навыки работы на Unity на новый уровень? Представляем вашему вниманию долгожданное четвертое издание книги «Разработка игр на Unity». Это полноценное руководство, которое поможет раскрыть весь потенциал Unity.
Читать дальше →

Need for Speed: Most Wanted. Как легендарная игра уничтожила всю серию

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

15 ноября исполнится 20 лет с момента выхода самой успешной для Electronic Arts игры из серии Need for Speed. Most Wanted впечатлила и игроков, и прессу, и критиков. По всему миру на сегодняшний день продано около 17 млн копий. И ни одна из последующих игр серии не смогла побить этот рекорд, хотя геймдев в целом за это время прошел огромный путь. Более того, NFS MW стала настолько популярной и любимой игроками, что фактически похоронила все последующие части Need for Speed еще до их релиза. Как вышло, что Electronic Arts создали монстра, который их погубил? Давайте посмотрим.
Читать дальше →

История Ultimate Play the Game — легендарного разработчика игр для ZX Spectrum

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

Мало какая компания пользуется среди поклонников компьютера ZX Spectrum такой любовью и уважением, как Ultimate Play the Game. За свою недолгую историю она выпустила два с лишним десятка игр, бóльшая часть которых моментально становились бестселлерами. Многие из них мы ставим на «Спектрумы» в Яндекс Музеях. Особенной любовью публики пользуются Jetpac и Knight Lore, причём последняя зачастую заставляет посетителей удивлённо переспрашивать: «А этой игре точно недавно стукнуло 40 лет?»

В шедевры Ultimate Play the Game я начал играть с того момента, как у меня появился ZX Spectrum — то есть с 1991 года. Тогда мало кто знал, откуда появилась эта компания и как она умудрилась наделать такое количество прекрасных игр за столь короткое время.

И вот, спустя много‑много лет, я решил найти ответы на эти вопросы. Для этого я достал с полки все фирменные игры Ultimate, купленные в Великобритании, для удобства скачал их образы из интернета и потратил несколько дней, чтобы как следует в них наиграться. А затем обложился журналами Crash, Your Sinclair и Sinclair User, нашёл в интернете несколько десятков статей про Ultimate Play the Game и её создателей… И погрузился в расследование.

Кто же эти гении, буквально за полтора года прошедшие путь от Jetpac до Knight Lore? И почему информации о создании всех игр Ultimate так мало? Давайте разбираться вместе.

Читать далее

[Hello, Habr!] Змейка в консоли. Разбираемся с с make и gcc

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

Всем привет! Это моя первая публикация на хабре и я решил посвятить её тому, как я писал змейку в консоли (да коряво, но всё же).

Итак, зачем я её вообще затеял? Я просто хотел разобраться как работать с make и gcc и для примера решил написать змейку в консоли ¯\_(ツ)_/¯

Я написал самый обыкновенный makefile, в подробности его устройства вникать не будем. Просто покажу код.

Читать далее

3D для каждого. Оптимизация модели. Часть 2, практическая

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


Доброго времени суток, господа и господарочки!


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

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

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