Как говорил Юрий Гагарин: "В будущем мы будем летать, много летать". В определённой мере игровой движок Dagor Engine от Gaijin Entertainment позволяет это сделать. Давайте посмотрим, как он сделан, и поговорим с его создателями!
Road Run, или как я свою первую игру делал. Часть 7
Отличительной особенностью игр жанра раннер является бесконечный уровень, на котором игрок должен продержаться как можно дольше и собрать при этом как можно больше очков. В этой части речь пойдёт о способе генерирования новых сегментов дорожного полотна для создания эффекта бесконечности пути.
Итоги Retro Game Jam '21
Рассказываем, как прошел Retro Game Jam '21 и какие команды получили призы.
В этом году объединяющей темой стало переосмысление классических ретро-игр — таких, как всем известный пакман, тетрис и танчики. 57 команд приняли вызов и трудились двое суток над браузерной онлайн-игрой. Но до финала дошли не все — фильтр отбора прошли лишь 20.
Чтобы усложнить задачу участникам, была проведена жеребьевка. По результатам каждой команде назначались референс игры, стилистика и эмоция, которую игра должна транслировать.
Wargaming проведёт митап «UX in Game Development»
UPD: Мы вынуждены сообщить вам о переносе нашей онлайн-встречи на неопределенный срок. Будем держать вас в курсе новостей и сообщим новую дату проведения ивента, как только она будет определена.
Участники получат возможность устроиться на работу и получить welcome-bonus в размере 3000$. Для того чтобы стать участником мероприятия, необходимо пройти предварительную регистрацию по ссылке.
9 марта 2022 года состоится онлайн-митап «UX in Game Development». Организаторы мероприятия - UX-команда популярной онлайн-игры World of Tanks. Во время митапа можно будет узнать о специфике работы UX-команды, познакомиться со спектром задач и различными инструментами UX-специалистов в геймдев-компаниях, а также получить ответы на все интересующие вопросы из первых уст.
Разработка высоконагруженного игрового WebSocket сервера на Kotlin, Webflux с поддержкой BattleRoyale/Matchmaking
Всем доброго времени суток. Некоторое время назад мною была написана статья, где я детально описал процесс разработки демо игрового вебсокет сервера. На этот раз, я хотел бы поделиться более усовершенствованным и оптимизированным материалом на Kotlin и реактивном стеке.
Фреймворки Gymnasium + Stable-Baselines 3, VizDoom и платформа SMAC в геймдеве
RL (Reinforcement Learning) или же обучение с подкреплением — это удивительный подход к обучению искусственного интеллекта, который позволяет игровым персонажам или ботам учиться, исходя из собственного опыта.
В основе обучения с подкреплением лежит принцип «trial and error» (проб и ошибок). RL‑агент, или бот, помещается в определенную среду, например, в игровой уровень. Задачи у RL‑агентов разные, но, если мы говорим о бота‑противниках, то здесь цель одна — усложнить игроку путь. При этом усложнить умеренно, чтобы игрок мог с ним справиться. При этом же агент не имеет никакой информации о том, как это сделать, и должен учиться. И о том, как ему это делать, сегодня пойдет речь.
В геймдеве обучение с подкреплением используется для создания умных ботов, способных принимать сложные решения и адаптироваться к действиям игрока. Например, в стратегических играх боты могут учиться эффективно использовать ресурсы, строить базы и вести войска в бой. В шутерах боты могут учиться эффективно использовать оружие, уклоняться от пуль и работать в команде.
Обучение с подкреплением также используется для автоматического тестирования игр. Боты могут учиться проходить игровые уровни и находить баги и ошибки, которые не может найти человек.
How we took part in Ludum Dare
We are the Arcane Gaming development team, developing games since 2021. As of now, we have two major projects: Fanbattle and Suetologia. The time has come for us to take part in the Ludum Dare gaming hackathon for the first time.
Road Run, или как я свою первую игру делал. Часть 6
Модели, сделанные в блендере, о которых я рассказывал в предыдущих частях, готовы и могут быть загружены в игровой движок. В этой части пойдёт речь о том, как собрать и заставить двигаться дорогу в Unity 3d.
30 лет DOOM: новый код — новые баги
Сегодня первой игре из серии DOOM исполняется ровно 30 лет! Мы не могли обойти стороной это событие и в честь этого решили посмотреть, как же выглядит код этой легендарной игры спустя годы.
Публикация UPM-пакета в Unity Asset Store
📘 Нативное решение Unity
В 2018 разработчики из Unity релизнули централизованное хранилище для итеративных обновлений движка и расширений Editor, которое получило название UPM
- Unity Package Manager.
SDL2: Основы
SDL 2.x существенно отличается от 1.x и даже, если в прошлом вам приходилось с ним работать — теперь вы рискуете ничего не понять.
Сегодня мы напишем простенькую программу выводящую на экран фон и зумируемый спрайт персонажа перемещающегося с помощью WASD и стрелок. + разберемся как в SDL работать с мышкой.
Паттерн конечные автоматы для Ash Entity System фреймворк
«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения
«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)
Всем хорошо известно, как мейнстрим подстегивает появление публикаций, связанных с тем, что популярно «на этой неделе». Последние полгода я часто натыкался на статьи «знакомство с пиксель-артом». Начинались они, как правило, с перечисления возможностей определенного софта. Однако за вычетом вопроса выбора программы и беглого перечисления известных фактов ни на йоту не приближали читателя к пониманию того, как этот пиксель-арт готовить. Именно этим досадным упущением мне хотелось бы заняться на первых же страницах 2015-года.
В данной публикации мы не рассматриваем программы, но копаем нечто большее. Сами пиксели. От истоков, начав с четырехцветной CGA-эры, вплоть до эпохи ренессанса. В публикации мы не рассматриваем игры, не поем дифирамбы художникам прошлого (разве что самую малость), занимаясь именно процессом создания простейшего пиксель-арта. Данный материал будет интересен начинающим артистам и интересующимся. Статья практически не содержит теории, нудных умозаключений и представляет сторонний взгляд на мир пиксель-арта со стороны некоего самоучки, который предпочел открыть каждую из Америк самостоятельно, не оглядываясь на официальных, общепризнанных и задокументированных Колумбов. Статья снабжена обильным количеством поясняющих иллюстраций, примеров, и советов.
Материал разделен на несколько публикаций в виду объема текста и изображений. Каждая статья имеет свою степень сложности, однако, все из них наглядны и могут быть использованы как руководство к действию.
Как выпустить игру и обрести друзей
Как продвигать мобильные приложения ДО релиза. Часть 1
Глава 1. Вступление
Благодаря моей истории «Как я создавал мобильный файтинг», я приобрел стойкую зависимость: ежедневно, разомкнув глаза, беру в руки телефон и первым делом открываю заветную иконку хабры.
Все чаще наблюдаю, как некоторые авторы под видом полезного материала стараются пропихнуть свой продукт или поднять денег с читателей. Если я могу изменить сложившуюся тенденцию, то почему бы не попробовать?
Хочется процитировать: “Когда человек занимается альтруистической деятельностью, отдача приходит в качестве сильнейшей эмоции ощущения смысла”. Меня вдохновляет и заряжает энергией размещение публикаций. Это дает мне сил на достижения другого порядка. Поэтому я стараюсь генерировать контент, который каждому читателю может дать исключительную пользу.
Продвижение инди-игры на Steam Greenlight
В этой статье хочу поделиться информацией, которую «нарыл» в процессе подготовки к Greenlight'у, а также попробовать проанализировать, какие гипотезы по продвижению сработали, а какие пути оказались тупиковыми. Надеемся, эта информация окажется полезной и кому-то попадёт в избранное.
Как создать мощную систему игровых достижений
Хотя игровые достижения не должны быть основной целью в вашей игре, это не мешает им существенно влиять на поведение игрока и его вовлеченность. Давным-давно, на одном из крупных проектов передо мной поставили масштабную задачу: создать мощную систему игровых достижений. В течении следующих 30 месяцев, я, как раб на галерах, провел за проектированием и тестированием различных систем достижений в сотнях игр. Меня поглотила бесконечная обработка данных: игровых комментариев, постов на форумах, непосредственное общение с игроками, изменения в игровых рейтингах. Я совершил и продолжаю совершать кучу ошибок, но я также усвоил несколько бесценных уроков. И эти знания нельзя держать в секрете…
Мини-обзор библиотек для Reflection в C++
Благодаря reflection можно:
— Легко создавать редакторы, в том числе интерфейсов, так как есть удобный доступ к мета-информации о всех свойствах ваших объектов;
— Добавить binding для многих скриптовых языков сразу (Lua, Python, JavaScript и т.д.);
— Использовать мета-информацию для автоматической сериализаци;
— Использовать как фабрику объектов, создавая нужные экземпляры, имея лишь строку с именем тип;
— Использовать в качестве более легковесной замены dynamic_cast;
— И прочее прочее прочее, в зависимости от фантазии и потребностей.
«Галоп пикселя — часть вторая» — перспектива, цвет, анатомия и прикладные упражнения
«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)линк)
Первая статья данного цикла была воспринята тепло, вследствие чего затягивать с продолжением не имело никакого смысла, но, увы – это произошло. Зимнее наступление захлебнулось и плавно переросло в летнюю кампанию. В конце статьи я объясню почему, не хотелось бы вас огорчать с самых первых строк. Итак. Публика выразила желание ознакомиться с предметом глубже, чем предполагалось изначально. Большое количество писем пришло на почту, наряду с регулярными тычками в социальных сетях. В этом месте мне вспоминается одна фраза – «будьте осторожны в своих желаниях».
Сегодня мы продолжаем диалог о пиксель-арте, методах его создания и приёмах в работе с ним. Сегодняшняя статья будет чуть более сложной в освоении, ведь мы уже прошли истоки и ознакомились с базовыми понятиями. Сегодня мы ударим и по теории, с примерами из мира игр, и коснемся конкретных приемов в работе с пиксель-артом. Если вы не любите теорию и не считаете её важной частью обучения – смело прыгайте в лифт и спускайтесь на нижние этажи, с выходом на уровнях анатомии и цвета. Каждый этаж маркирован авторским пиксель-артом, не пропустите.
Те же, кто остался по доброй воле, и те несчастные, кому по какой-то причине не хватило места в лифте, узнают, почему в предыдущей публикации не были затронуты – композиция, перспектива, анатомия и цвет, сущности столь важные в изобразительном искусстве.
Не будем мешкать. Возьмем наши пиксельные лопатки и двинемся на врага сплоченной группой. Быть может, нам повезет, и кто-нибудь, выжив, расскажет потомкам о ещё одной битве Теоретического войска возле местечка, вошедшего в историю сети как Хаброва падь.
Экспорт Terrain'а из WorldMachin в Unity3D
Эта статья является адаптированным под современны редактор переводом на русский язык оригинальной инструкции: «Terrain export from world machine to unity».
World Machine может служить отличным генератором местности для Unity. Unity же имеет нативную поддержку текстур и splatmaps. Вы можете создать и использовать несколько слоёв текстур местности одновременно. Здесь представлен простой рабочий код для импорта в Unity местности из World Machine. Пожалуйста, обратите внимание, что, хотя этот метод работает для основных местностей в unity, многие продвинутые пользователи могут создать собственные шейдеры местности, которые могут потребовать другую технику исполнения.