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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Моё исследование посвящено мини-игре 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 мин
Количество просмотров4K

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

Время на прочтение18 мин
Количество просмотров6.5K
Привет, Хаброжители!

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

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

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

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

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

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

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

Мало какая компания пользуется среди поклонников компьютера 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 мин
Количество просмотров2.1K

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

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

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

Читать далее

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

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


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


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

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

Разбирая бэклог. Часть 15. История дилогии Stormlord. 1989-1993

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

Оригинальный материал был опубликован в 2019 году. Перевод выкладывается с разрешения dillydylan.

Проекты, ориентированные на взрослую аудиторию, были своеобразной странностью в эпоху 1980-х. Считалось, что видеоигры предназначены исключительно для маленьких детей. Следующий период, 1990-ые, изменил подобное восприятие, а проекты вроде Night Trap (1992) и Doom (1993) породили целую череду споров. Распространённому ранее восприятию пришёл конец, впрочем стоит отметить, что совсем уж без других проектов ранее не обходилось, достаточно вспомнить во многом своеобразную серию Leisure Suit Larry (1987) и подобные проекты. Где-то рядом затерялся и Stormlord (1989).

Читать далее

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