Обновить
236.32

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

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

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

Игра, обучающая программированию для детей: почему геймификация важна в обучении + школы

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

Привет! Я Ксения – автор в блоге «IT для детей». Рассказываю современным школьникам и их родителям о дополнительном айти-образовании на онлайн-курсах, реже – на очных, стараюсь делать это максимально просто и доступно.

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

Начать хочу с классического варианта определения.

Читать далее

Необычный интерфейс

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

Собрал для вас подборку редких, необычных и малоизвестных UI-библиотек — для построения интерфейсов в играх, на устройствах и десктопном ПО.

Читать далее

Создание игры с помощью LLM более полугода назад и этой же игры теперь. Что изменилось?

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

И вот прошло 9 месяцев, модели стали значительно совершеннее, и качество написания кода улучшилось в разы, если не на порядок.

Тогда в своей статье «Кажется, LLM программирует лучше меня» я с изрядной долей самоиронии описал в подробностях пошагово написание кода игры «Шарики», Lenes (Color Lines).

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

Поэтому проведем такой же эксперимент с новейшей моделью такого же размера и попробуем на экспертном уровне оценить степень прогресса в данной области.

Что изменилось за это время?

Для тех, кто хочет сразу получить конечный ответ: в прошлый раз эта игра была создана за 15 шагов, теперь за 2 шага.

Читать далее

Звуки музыки Sega Mega Drive

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

Сегодня в центре нашего внимания Sega Mega Drive, она же Genesis — называйте как хотите, всё равно все понимают, что речь идёт о некогда популярнейшей в наших краях 16-битной консоли. Comix Zone, Sonic the Hedgehog, Ultimate Mortal Kombat 3 — вот это вот всё. Но речь пойдёт не о платформе в целом, а об одной специфической её части: звуковой системе и звуках, которые она издавала. Изучим железную и программную части, вспомним холивары, послушаем кое-какую музыку.

Как обычно, я занимаюсь не простым пересказом сомнительных источников, а сложным: пропускаю их через личный опыт. Когда-то давно я разработал несколько homebrew-игр для этой платформы, а также пару музыкальных редакторов — ныне забытых, но в определённый исторический период сыгравших свою роль. Этот бэкграунд даёт мне возможность сорвать покровы и рассказать всю правду о некоторых не самых очевидных моментах. Приступим!
Читать дальше →

Школа программирования игр для детей: геймдев с 6 лет и почему это реализуемо

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

Привет, я Ксюша – автор в блоге «IT для детей». Пишу о дополнительном обучении школьников в айти, обозреваю и анализирую школы, курсы, преимущественно дистанционные. Делаю это исключительно для современных ребят и родителей, стремящихся разобраться в не всегда простых и понятных вещах и сделать досуг своих детей полезным.

Сегодня хочу поговорить о том, почему разработка игр в 6 лет – это реально, а также затронуть смежные вопросы.

Начну с самого спорного момента и попытаюсь объяснить, почему эта статья вообще имеет место.

Читать далее

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

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

Из новостей: Blender 4.4, Balatro стала триумфатором GDC Awards 2025, PC-игроки проводят 92% времени в играх старше 2-х лет, хакеры создали эксплойт для взлома Xbox 360 через USB, GIMP 3.0.

Из интересностей: как менеджеры Disco Elysium разрушили разработку, 100к вишлистов на игре для ботаников, стоит ли ваша игра того, чтобы быть сделанной.

Читать далее

Про демоверсии на Steam фестивале «Играм быть»

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

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

Читать далее

Auction Souls — почему он?

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

Экономика без трейда, боевка без классов, ремесло как часть персонажа – как мы меняем привычные механики MMORPG

Читать далее

Архитектура диалоговой системы в Unity

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

Когда я начинал разработку своей игры, то не смог найти каких‑то внятных гайдов с описанием архитектуры диалоговой системы. Зачастую авторы упоминали верстку да логику UI, но не отвечали на вопросы «как менять сюжетные стейджи», «как работать с разными типами диалогов», «как менять статус персонажам на сцене» и т. п. Мне не хватало найденной информации и я потратил какое‑то время на написание диалоговой системы самостоятельно. Для опыта конечно же… но и, будем честными, денег я зажал на готовые плагины. Надеюсь, что эта статья поможет таким же новичкам в Unity как и я, кто решил учиться разработке через практику и прототипирование. Небольшая оговор очка: я занимаюсь автоматизацией тестирования и мой основной язык python. Так что заранее прошу извинить за не самые лучшие конструкции C#. Также хочу упомянуть, что статья эта не про код, а про архитектуру, так что первого в принципе будет не так уж и много. А что за игру я делаю? Сюжетное 2д приключение, где я решил брать не механиками, а историей.

Часть 1. Планирование архитектуры

Без четкого ТЗ результат ХЗ. Для начала планируем и фиксируем, что хочется вообще сделать. На моем примере:

1) Система линейная, диалоги без вариантов ответа;

2) Каждая сцена — это грубо говоря отдельная игра, которая не связана с другими сценами, их все можно запускать независимо. Сохранения реализованы в момент перехода между сценами;

3) На каждой сцене есть n стейджей. На каждом стейдже m диалогов. Заканчиваются стейджи — на этой сцене заканчивается сюжет, можно переходить на новую сцену;

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

В 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 мин
Количество просмотров4.2K

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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