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

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

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

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

Рынок видеоигр в графиках

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

За 50 лет своего существования индустрия видеоигр стала самым высокодоходным сегментом медиа и развлекательного пространства. По прогнозам PwC, в 2026-2027 году продажи видеоигр могут превысить 300 млрд долл.

Читать далее

Чтение на выходные: «Археолог цифрового века» Джимми Мехера

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

Полное название этой книги «Археолог цифрового века — Том 1. 1966–1979», тем не менее по формату она скорее напоминает томик, ведь читателю предстоит осилить чуть менее двухсот страниц. Однако пусть это вас не разочаровывает: статей у Джимми Мехера наберется аж на девятнадцать таких частей. Пока материалы не оформились в отдельные книги и не обзавелись обложкой с указанием хронологического диапазона, на них можно взглянуть на его сайте. Благодаря поддержке подписчиков блога и донатам автор надеется выпустить столько томов, сколько понадобится, чтобы пересказать всю хронику интерактивных развлечений, цифровой культуры и других смежных вопросов, а пока что мы можем насладиться стартом серии в переводе талантливого Михаила Молчанова.

Читать далее

Успеть за 48 часа: мой опыт участия в гейм-джемах

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

В этой статье я хочу поделиться своим опытом создания визуальных новелл за ограниченное время, а также полезными ресурсами. Что у нас имеется: соло-разработчик, 48 часа, движок ren’py и сомнительные знания питона. Что вы узнаете: как это было, полезные плагины для ren’py, полезные ресурсы, как распределять время и другое.

Читать далее

Делаем свою Blueprint K2 Node в Unreal Engine

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

Иногда надо создать функцию, которая должна быть и доступна в blueprints, и адаптироваться под входные данные. Особенно это касается wildcard.

Можно прибегнуть к ручной прописке рефлексии UFUNCTION. Однако, у этого есть свои ограничения. Для таких случаев в движке есть довольно старый класс – UK2Node.

Читать далее

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

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

В финальной части нашей трилогии, посвящённой Nau Engine, мы уделим внимание ошибкам, возникающим при разработке классов. Приведённые в статье примеры наглядно демонстрируют, как даже небольшие недоработки могут обернуться серьёзными проблемами в работе приложения.

Читать далее

Геймеры и сообщества, повлиявшие на геймдев

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

Когда речь заходит о выдающихся геймерах, все вспоминают известных киберспортсменов или блогеров, ведущих трансляции. Но часто мы забываем о целых сообществах, участники которых играют ради удовольствия, внося огромный вклад в культуру геймеров. Эта статья — своеобразная дань уважения гикам и энтузиастам, которые просто играли, но при этом оказали большое влияние на свои сообщества, стали легендами и вдохновили многих других. Под катом истории о спидранере, который запустил Doom внутри Doom внутри Mario Super World; о 14 геймерах, которые играли в Halo 2 три недели подряд, чтобы не допустить отключения серверов Xbox Live на консолях первого поколения; о разгадке структуры фермента, связанного с вирусом СПИДа, благодаря игре и многое другое.
Читать дальше →

Ursina: Твой билет в мир 3D-игр на Python без сложностей

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

Ursina — это не просто фреймворк, а настоящий конструктор мечты для разработчиков. Представь: ты пишешь код на Python, а через пару часов уже управляешь 3D-персонажем в собственной игре. Звучит как магия? С Ursina это реальность. Давай разберемся, почему этот движок завоевывает сердца новичков и профессионалов.

Читать далее

Radiance Cascades — Новый взгляд на глобальное освещение

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

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

Многие алгоритмы, включая path tracing, radiosity и voxel cone tracing, пытаются справиться с этой задачей десятилетиями. Некоторые дают красивую картинку, но требуют больших вычислительных ресурсов. Другие - быстрые, но страдают от шума, артефактов и утечек света.

Что если можно приблизиться к качеству трассировки бесконечного количества лучей, потратив ограниченное количество ресурсов? Именно такую цель преследует метод Каскадов яркости (Radiance Cascades), впервые предложенный Александром Санниковым из Grinding Gear Games. (заготовку его статьи можно посмотреть вот в этом репозитории).

Читать далее

Недельный геймдев: #220 — 6 апреля, 2025

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

Из новостей: Eidos Montreal уволит 75 сотрудников, продажи Monster Hunter Wilds достигли 10 миллионов копий, ИИ сгенерировал технодемку Quake II, Eidos Montreal стремится возродить серию Deus Ex.

Из интересностей: современный SSAO в современном рантайме, 3 эпизод про разработку Dwarf Fortress, разрабатываем игру для Wii в 2025.

Читать далее

Как проводит свободное время среднестатистическая семья зумеров-айтишников

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

В свободное от работы время зумеры-айтишники пилят игру в Telegram Mini App, и нет, это не тапалка!

Про игру
 
Может быть вы помните, а может и не знали, но в 80-е была популярна элегантная стратегическая игра Trax. 

Ее придумал Дэвид Смит – дипломированный бухгалтер, семьянин, бизнесмен и даже автор песен. Он опубликовал более 20 игр, но считает Trax своей лучшей придумкой. 
Вокруг неё формировались клубы в разных странах, организовывались турниры по электронной почте и даже чемпионаты мира. Из года в год Trax стабильно входил в топы лучших игр на протяжении 80-х и получал многочисленные награды.

И вот спустя годы давно запылившаяся, но когда-то популярная игра Тракс вдруг попалась моему мужу Кириллу, точнее его другу ака одногруппнику из ИТМО, при очень интересных обстоятельствах. Как-то раз он попал на комиссию по отчислению в ИТМО, где случайным образом попадался один из двух билетов:
первый - сделать бесконечные крестики нолики, где нужно сложить диагональ в 10 крестиков (по крайней мере так запомнил мой муж), а другой бесконечный Тракс в консольном варианте. Посмеялись, поиграли и затянуло. Тогда игра была доступна только в двух вариантах: настольная и ПО на Винду. Возможности поиграть онлайн не было, за исключением изощренных способов, например транслировать экран и под диктовку выставлять ходы оппонента или через TeamViewer. И тогда в голове Кирилла появилась мысль – а почему бы не запилить веб-версию Тракса.

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

Читать далее

Atomic Derby: мы сделали крутой PvP-экшен на мобилки — осталось дожать до релиза. Ищем Unity-разработчика

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

https://www.youtube.com/watch?v=ZqW-WUt11vE

Создаём изометрический автомобильный PvP для мобилок — рассказываю, что готово и что нужно чтобы довести до MVP.

Читать далее

Пара вещей, которые должен знать игровой программист

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

В std::move никто никуда не двигается

В undefined behavior поведение вполне себе определено, просто крашит игру

В GameObject нет ни игры ни объекта, а только баги и куча антипаттернов

Memory leak detector сам протекает

В PhysicsEngine физики столько же, сколько в сказке про Колобка

Из 8 часов работы 6 уходят на попытку собрать билд после мержа со стейблом.

В ProfileMode тормозит всё кроме профайлера

В retrospective meeting обсуждают, почему всё плохо, но оставляют как есть.

В debug билде багов меньше чем в релизном и выше фпс

По мотивам шипнутых проектов...

Пишем игру на LUA для часов Xiaomi Redmi Watch 4.Часть 1. Знакомство с экосистемой Xiaomi

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

Всем привет, меня зовут Алексей Ляховский, я на протяжение последних 10 лет занимаюсь изучением, разработкой и развитием экосистемы часов Xiaomi для глобального сообщества.

Я разобрал формат циферблатов Xiaomi последних поколений, сделал распаковщик циферблатов, и компилятор их для оригинального старого редактора циферблатов Xiaomi, сделал мод MiFitness, где активные пользователи сообщества создают и публикуют кастом циферблаты для часов, собрал из китайского IDE отдельный автономный эмулятор часов, для проверки циферблатов и приложений, модифицирую и дорабатываю оригинальные прошивки часов, а так же создаю приложения для данных моделей на JerryScript и LUA, о чем мы познакомимся подробнее чуть позже на примере данной игры.

Читать далее

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

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

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

Давно хотел сделать мобильную игру, но руки никак не доходили. А неделю назад решил, что время пришло, поэтому решено - начинаем делать.

Читать далее

Чтение на выходные: «Сага Yakuza: подобная дракону. Как преступный мир Японии превратили в видеоигру» Виктора Муазана

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

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

Читать далее

Пишем игру для игровой ретро-консоли Anbernic на C++

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

Не так давно ко мне в руки попала игровая ретро-консоль и у меня возникло желание написать для неё свою игру. А возникало ли у вас желание написать свою игру под игровую консоль?

Да, у меня возникало!

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

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

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

Читать далее

Game++. Heap? Less

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

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

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

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

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

Burn them all

Разрабатываем игру для Wii в 2025

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

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

Чтобы дать вам такой опыт, существуют онлайн фэнтезийные игровые консоли, такие как PICO-8 (небесплатная) и TIC80, которые делают очень доступным создание прототипов и получение минимальных навыков. Также есть аппаратные системы, такие как Playdate (пропиетарная), которые работают с методами ввода и форм-факторами еще больше ограничивая вашу площадку для игр. Наконец, есть процветающие сообщества энтузиастов-любителей вокруг таких консолей как SNES и N64 (посмотрите на этот потрясающий демейк Portal!).

Лично я всегда питал слабость к Wii. Отчасти потому, что я вырос на ее невероятных играх, таких как Super Mario Galaxy 2, но также потому, что моддинг игр для Wii дал мне возможность заглянуть в то, что позже станет моей карьерой: разработку игр. Хотя я и занимался разработкой для Wii в прошлом, я никогда не чувствовал что действительно понимаю что делаю. Пару месяцев назад я решил это исправить. Имея законченное задание по DirectX для университетского курса программирования графики и открытые возможности «вы можете добавлять дополнительные функции, чтобы повысить свои оценки, но они не являются обязательными», я подумал: что, если я приду на экзамены со своим Wii и сделаю презентацию на нем?

Читать далее

Пилим игровой мультиплеерный сервер на базе esp32: завершение. Портируем игру на esp32

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров5.4K
Картинка Freepik

Итак, в прошлой части статьи мы начали довольно интересное дело — написание своей собственной мультиплеерной игры, которая бы запускалась на esp32, используя её как сервер.

Сегодня мы продолжим это дело и закончим наш проект!

Сразу небольшой спойлер: мы сделаем минимально необходимое, набросав основу игры и добившись её устойчивой работы, в то время как дополнительные «плюшки» — игровой счёт, компьютерные противники (кстати, было бы любопытно прикрутить в этом качестве к esp32 нейросеть!) и прочие улучшающие элементы — вы можете сделать самостоятельно, взяв за основу тот код, который будет в конце статьи. Для тех, кто не в курсе, что такое esp32, можно почитать, например, тут, только надо иметь в виду, что там описана одна из версий — а их существует целая линейка и она постоянно пополняется.
Итак...
Читать дальше →

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