По данным сайта gamedatacrunch.com, в 2021 году 49,48% всех платных игр, вышедших в Steam, были сделаны на Unity. А в сфере мобильных игр этот показатель уже давно превысил 50%. В этом материале мы расскажем, почему движок стал настолько популярным, и объясним, почему начинающие разработчики и небольшие инди-команды предпочитают использовать Unity.
Разработка игр *
Разработка игр
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Прокачка статического анализа проектов на Unreal Engine 4 и проверка автосимулятора Carla
Одним из механизмов статического анализа является аннотирование методов популярных библиотек. Аннотации позволяют обладать большей информацией при диагностировании ошибок в коде. Впечатляющий свободный проект на С++ CARLA помог нам внедрить этот механизм. Впоследствии симулятор стал целью для проверки улучшенным статанализатором PVS-Studio.
Как стать самураем планирования, строить процессы удаленно и внедрять геймификацию в продукт
В сегодняшнем выпуске по мотивам конференции ЮMoneyDay три доклада от менеджеров проектов.
В первом разбираем, зачем мы запустили игру ЮVillage. С какими вызовами столкнулись при разработке, и за счёт чего получилось круто. Во втором — как за два года мы научились по-новому ставить задачи, вести дела на удалёнке, адаптировать новичков и вообще не забывать, что мы есть друг у друга. Из третьего доклада узнаете, как планировать при большом количестве команд, продуктов, проектов.
Скорее заглядывайте под кат.
Простое объяснение симуляции жидкости в реальном времени
Эта статья представляет собой простой и интуитивно понятный разбор симуляции жидкостей для программистов и технических художников. Вместо сложных математических выражений я постараюсь дать вам простое геометрическое понимание физики жидкостей. Реализация выполнена на вычислительных шейдерах Unity 3D, однако общие идеи не привязаны к конкретным технологиям.
Код проекта можно найти на моём Github.
Ресурсы, посвящённые симуляции жидкостей, могут быть очень пугающими. Помню, что когда я впервые прочитал статью о ней и увидел уравнения Навье-Стокса, то был в ужасе. Со временем я понял, что сама тема совершенно не сложна. На самом деле, если бы вам дали задачу написать собственный симулятор жидкостей, то вы, вероятно, написали бы что-то подобное на основании интуитивного понимания работы жидкостей. Если, посмотрев на уравнения Навье-Стокса, вы подумали «ага, понятно», то вы, возможно, быстрее бы реализовали симуляцию жидкости, прочитав работы, перечисленные в конце этой статьи. Я же попытаюсь не использовать сжатое выражение и объяснять всё как можно медленнее.
Говорим о фронтенде: видео докладов с конференции ЮMoneyDay
У нас подоспели кейсы по фронтенду с большой IT-конференции ЮMoneyDay. 13 ноября спикеры рассказали о процессах в компании и тонкостях разработки.
Из первого доклада о современном тестировании фронтенда: «Релизы катятся часто, в день у нас может быть до 100 релизов, каждый мы тестируем и собираем статистику. Сейчас 85% критических тестов проходят автоматически».
Во втором докладе инструментарий для создания геймификации и опыт работы над игрой ЮVillage.
Все подробности — в докладах под катом.
Защита от читеров на примерах для Unity
Всем привет! С вами снова Илья и мы продолжаем серию статей по разработке игр на Unity. Сегодня мы разберем процесс защиты ваших игр на примерах. Объяснять я буду исходя из нашей открытой библиотеки, созданной для Pixel Incubator - сообщества, в котором мы учим делать игры и не только.
Как Discord стал нашим основным инструментом для сбора фидбека и позволил наладить систему саппорта почти без вложений
Сейчас наш Discord-сервер — это самый эффективный способ сбора фидбека у социально активной кор-аудитории PvP-шутера. Сервер начинался как простой эксперимент, мы не понимали, насколько он будет полезен, но результаты превзошли ожидания. Настолько, что мы сделали еще и отдельный сервер, куда полностью перевели весь саппорт.
В обоих случаях нам помогают сами игроки (которых на сервере уже почти 150 тысяч), это особенно актуально, когда комьюнити занимаются не очень много сотрудников.
Ниже расскажу про внутреннюю организацию Discord-сервера Pixel Gun 3D — в первую очередь материал будет полезен КМ и саппортам, которые не работали с этим инструментом (или работали, но не получали максимум профита), а также геймдизайнерам. Затронем роли участников, каналы, ботов и способы защиты, активности и конкурсы, повышающие вовлеченность, а также решение тикетов, когда игроки сами помогают друг другу.
Простая система ветровой эрозии на основе частиц
Полный исходный код этого проекта, а также объяснение того, как его использовать и читать, можно найти на Github [здесь]. Проект рендерится при помощи моего собственного [TinyEngine].
В прошлом году я много экспериментировал со способами реализации эрозии на основе частиц для генерации рельефов.
Я считаю, что эрозия на основе частиц обеспечивает хороший баланс между реализмом и простотой, давая интуитивные описания переноса массы и энергии при их движении. Следовательно, они могут воспроизводить геомофологическое явление при низкой сложности концепций/кода как хорошие приблизительные модели. Благодаря этому они более доступны для большинства пользователей, чем исследовательские модели.
Один из самых хорошо известных и производительных алгоритмов улучшения генерации рельефов на основе шума — это гидравлическая эрозия на основе частиц [перевод на Хабре]. Этот алгоритм чрезвычайно прост и обеспечивает отличные результаты относительно малыми усилиями.
Его результаты убедили меня дополнить эту систему потоками воды и водоёмами, что привело к созданию процедурной гидрологической системы [перевод на Хабре]. Используя упрощённую модель, система успешно передаёт многие эффекты реального мира, поэтому я заинтересовался в дальнейшем исследовании симуляции геоморфологии на основе частиц.
Вскоре я осознал, что внеся только незначительные изменения, эти системы можно дополнить ветровой эрозией и основными эоловыми процессами. Так как в ненаучной литературе мне не удалось найти хороших ресурсов о реализации ветровой эрозии на карте высот, я решил спроектировать и реализовать собственную модель ветровой эрозии на основе частиц для процедурного рельефа.
Получившаяся система хорошо работает, позволяя моделировать движущиеся осадочные породы, а также сплошные неподвижные препятствия. Она воссоздаёт многие эффекты, наблюдаемые при реальной ветровой эрозии, например, серповидные дюны!
Как устроена система игровых событий в проектах Playrix
В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents.
711 тысяч строк кода, 20 лет, один разработчик: как создавалась Dwarf Fortress
Dwarf Fortress — один из тех странных проектов, ставших любимыми в Интернете. Это бесплатная игра, в которой можно быть или авантюристом, или управлять крепостью дворфов в случайно сгенерированном фэнтези-мире. Симуляция очень подробна, каждая новая игра создает множество цивилизаций со своей историей, мифологиями и артефактами.
Она стала знаменитой, и вполне справедливо. Каждый дворф уникален, он имеет эмоциональное состояние, предпочтения в драгоценных камнях и причины для недовольства. И всё это происходит в ASCII-интерфейсе, кажущемся новичкам каким-то обманом, но опытные игроки способны ориентироваться в нём как в бегущем тексте из фильма «Матрица»: они видят в этих символах дворфов, реки, легендарных огромных чудовищ.
Вся игра стала творением одного разработчика — Тарна Адамса с ником Toady One, который работал над Dwarf Fortress с 2002 года. Первые четыре года это был хобби-проект, но с 2006 года он стал его основной работой. Адамс пишет весь код сам, а его брат помогает с дизайном и создаёт истории на основе игры. До недавнего времени он собирал пожертвования, чтобы продолжать работу, но сейчас создаёт версию с пиксельной графикой и переработанным UI, которую можно будет купить в Steam.
Я связался с Тарном Адамсом, чтобы узнать у него о том, как ему удавалось в течение пятнадцати с лишним лет справляться с единой увеличивающейся кодовой базой, сложностями поиска путей и отладкой мёртвых кошек.
Недельный геймдев: #44 — 14 ноября, 2021
Из новостей на этой неделе: Unity купит Weta Digital Питера Джексона более чем за 1,6 миллиардов долларов, META Publishing открыла приём заявок на 2-й фестиваль Масленицы в Steam, бесплатный генератор плюща для Blender.
Из интересностей: интервью с Алексеем (Flazm) Давыдовым, Ghost of Tsushima: у самурая есть только путь, подробная статья про ограничения на джоинты анимаций, постмортем Star Wars Galaxies.
Гайдлайны и бритвы компании Bungie по кодингу на C++
Для создания игры наподобие Destiny требуется много командной работы и мастерства. У нас есть талантливые люди во всех областях знаний, однако было непросто достичь уровня координации, необходимого для создания игры масштаба Destiny.
Это похоже на то, как если бы группе людей выдали кисть и один холст, надеясь получить в результате качественный портрет. Чтобы создать нечто, отличное от хаоса, необходимо договориться о правилах. Например, выбрать палитру, размеры кистей, используемые в разных ситуациях, да и само содержимое картины. Достичь такой согласованности в команде невероятно важно.
В сфере разработки одним из способов достижения согласованности являются инструкции (гайдлайны) по кодингу: правила, которые соблюдают наши инженеры, чтобы обеспечивать возможность поддержки кодовой базы. Сегодня я расскажу о том, как мы определились с тем, какие гайдлайны нам нужны и как они помогают в решении проблем, с которыми сталкивается крупная студия.
В этой статье мы делаем упор на разработке игр и языке программирования C++, но даже если вы не знаете C++ и не работаете инженером, она всё равно будет для вас интересной.
Уже более суток не работают GTA 5 и RDR 2 на PC, а также все онлайн-сервисы Rockstar Games Launcher
И все это на фоне релиза переиздания трилогии классических игр GTA (Grand Theft Auto III, Grand Theft Auto: Vice City и Grand Theft Auto: San Andreas). В час релиза они стали доступны для покупки на всех поддерживаемых площадках, однако на данный момент версии для PC к покупке недоступны (во всех странах появляется уведомление "игра недоступна к покупке в вашем регионе").
Игра в Кальмара штурмует рекламную базу данных SocialPeta! Netflix официально запускает Netflix Games?
Телешоу предотвратило потерю подписчиков Netflix? Согласно результатам третьего квартала Netflix, благодаря прорывному хиту "Игра в кальмара", глобальная стриминговая платная платформа Netflix удвоила прибыль по сравнению с прошлым годом, которая составила 4,38 миллиона в третьем квартале, что значительно превысило ожидаемые 3,72 миллиона. Что же такого волшебного в этом сериале? Почему люди так без ума от него?
Как собрать махолёт, или Jam, Godot и Blender
Доброго времени суток.
В сегодняшней статье речь пойдёт о разработке проекта для 72-х часового конкурса игр.
Ренессанс Quake: в какой ситуации находится сейчас франшиза?
О Quake слышали все. В 1996 году он популяризировал дизайн уровней в «истинном 3D», командный мультиплеер, рокет-джамп и даже mouse look. Саундтрек Nine Inch Nails до сих пор считается одной из вершин видеоигровой музыки. Игры на движке Source, например, Apex Legends, используют усовершенствованный код движения из Quake, а весь Интернет недавно потрясло то, что даже в Half-Life: Alyx используются паттерны мерцающего света Quake.
Quake повсюду. Все слышали о Quake. Но важен ли он сегодня кому-нибудь?
Шейдеры в Unity — это не сложно. Часть 2 — диффузный шейдинг
Всем привет! Благодарен всем за замечания и комментарии к предыдущей статье. Благодаря всем нам мы наполняем интернет доступными знаниями и это действительно круто.
Сегодня продолжаем разбираться с шейдерами, а именно с работой с освещением. Рассмотрим тип освещения Ламберта, познакомимся с диффузным шейдингом, и, как обычно, напишем и разберём AD шейдер (Ambient Diffuse).
Генерация TeleportArea с помощью NavMesh
Улучшение системы телепортации на разные поверхности SteamVR 2.x.
Данный гайд поможет легко настроить систему телепортации в Вашей VR игре.
Руководство по визуальному языку субтитров
Эти рекомендации применимы к видимым субтитрам для телевидения или кино, к переводным субтитрам, субтитрам на YouTube, встроенным субтитрам для видео в социальных сетях и субтитрам в видеоиграх.
Максимальное количество символов на строку и время показа субтитра ограничены, поэтому иногда чувства и контекст описываются не словами, а выражаются с помощью знаков препинания и символов, чтобы сберечь лимит символов на строку для подачи основной информации.
Следует отметить, что основы оформления обычных субтитров и субтитров для слабослышащих, как правило, совпадают. У этих субтитров немного разные цели, но одна задача — письменное оформление устной речи. Описанные в статье приемы оформления субтитров преследуют одну цель — помочь всем пользователям в полной мере насладиться контентом.
Алгоритм генерации тайловых карт Model Synthesis
Я много писал об алгоритме коллапса волновой функции (Wave Function Collapse). Этот алгоритм, разработанный Максимом Гуминым в 2016 году, генерирует тайловые карты и пиксельные текстуры на основании удовлетворения ограничениям с дополнительной рандомизацией [перевод на Хабре]. Но знали ли вы, что большинство основных идей для него взято из статьи, написанной больше десятка лет назад? Сегодня мы рассмотрим диссертацию 2007 года на степень PhD Пола Меррела Model Synthesis и некоторые из разработанных им расширений алгоритма, в частности, Modifying in Blocks.
Model Synthesis
Идея Model Synthesis очень похожа на WFC, по которому я написал целый туториал. Но в этой статье мы опишем идею с нуля.
Model Synthesis начинает с передачи примера тайловой карты, которая используется алгоритмом для того, чтобы учиться, какие тайлы могут располагаться друг рядом с другом при построении модели. Затем для выходного результата инициализируется пустая сетка ячеек. Каждая ячейка имеет список «потенциальных» тайлов, которые могут её заполнить.
Изначально допустим любой тайл. Основной цикл выбирает ячейку и выбирает для неё заданный тайл, помечая все остальные как недопустимые. Затем он распространяет последствия этого выбора при помощи алгоритма AC4, то есть помечает тайл как недопустимый для текущей ячейки, если все его валидные смежные ячейки уже недопустимы. После распространения цикл сбрасывается и мы выбираем другую ячейку, для которой нужно выбрать тайл.
Вклад авторов
-
alizar 5330.2 -
Milfgard 3716.0 -
Weilard 2229.0 -
HotWaterMusic 1802.8 -
haqreu 1682.0 -
BasmanovDaniil 1367.2 -
GlukKazan 1211.8 -
ilya42 1109.0 -
soulburner 1014.0 -
ForhaxeD 918.0