Все потоки
Поиск
Написать публикацию
Обновить
253.76

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

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

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

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

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

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

Многие алгоритмы, включая 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 мин
Количество просмотров128K

В свободное от работы время зумеры-айтишники пилят игру в 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.4K

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

Game++. Heap? Less

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

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

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

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

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

Burn them all

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

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

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

Чтобы дать вам такой опыт, существуют онлайн фэнтезийные игровые консоли, такие как 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, можно почитать, например, тут, только надо иметь в виду, что там описана одна из версий — а их существует целая линейка и она постоянно пополняется.
Итак...
Читать дальше →

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

Инди-геймдев и A/B тесты: совместить несовместимое

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

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

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

Читать далее

Дикое прошлое и возможное будущее игр в мессенджерах

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

Путь от MSN Messenger до Hamster Kombat в Telegram .

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

Простая игра в WeChat достигла 100 миллионов ежедневных пользователей всего за несколько недель.

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

Читать далее

Исследование переработок в игровой индустрии

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

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

Меня зовут Тимур, я аспирант ВШЭ по направлению менеджмента и слушатель программы «Менеджмент игровых проектов». В этой статье делюсь результатами опроса специалистов индустрии.

Читать далее

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

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

Из новостей: Ubisoft объявила о реструктуризации, издание Game Informer возобновило работу, Ведьмак 4 выйдет не раньше 2028 года, Maya 2026.

Из интересностей: про создаине ULTRAKILL, сколько вишлистов можно получить от Steam Next Fest, как Playstack сделал ставку на Balatro, 2 эпизода про создание Dwarf Fortress.

Читать далее

Как мы разработали инди-игру со сложным геймплеем, которую практически невозможно пройти

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

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

Читать далее

Не одними Unity и Unreal Engine. Альтернативные игровые движки

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

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

Если вы увлекаетесь видеоиграми, вы, вероятно, часто слышали о Unity и Unreal Engine. А если также интересуетесь разработкой игр, то, скорее всего, слышали ещё и Godot, как об альтернативе этим двоим. В любом случае, приняв решение податься в гейм девелоперы, изучение одного из этих трёх движков даст вам наибольшую отдачу за ваше время и усилия с точки зрения трудоустройства в игровой индустрии. Но одной из проблем, возникших из-за того, что почти каждая игра использует один из этих популярных движков, стало то, что все игры теперь выглядят и ощущаются одинаково.

Однако этот факт ни в коем случае не означает, что это — единственные движки, которые вы можете изучить. Возможно, вам нужно что-то более простое или, наоборот, более узкоспециализированное. Есть много инди-игр с очень оригинальной эстетикой и механикой, которых недостаёт мейнстримным проектам, работающие на необычных и заслуживающих внимания движках. Каждый из них предлагает свои собственные инструменты, сообщества, поддержку, философию и менталитет, окружающие создание игры. Разнообразие возможностей, которые они могут дать для создания вашей игры не может не воодушевлять.
Читать дальше →

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

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

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

Тем более не так давно у меня появилась довольно странная мысль, которая уже который день не отпускает меня — а что если сделать многопользовательский игровой сервер на базе ESP32? О_о

Можно и на базе обычного вебсервера и хостинга, но это как-то уныло, как у всех, «а душа хочет гусарства» :-))) Понятно, что это наложит довольно жёсткие ограничения на максимальное количество игроков и объём передаваемых между ними данных из-за слабости аппаратной платформы, но мысль всё же занятная.

Проще говоря: игра хостится на ESP32, клиенты подключаются к ней, и ESP32 отдаёт им страницу с игрой. После этого начинается игровой процесс: клиенты обмениваются данными через ESP32, которая выступает в роли сервера, а все ресурсоёмкие задачи по максимуму обрабатываются на стороне клиентов. Теоретически, при таком подходе может что-то получиться. Попробуем…
Читать дальше →

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