Рубрика «геймдев» - 17

Unity, ECS и все-все-все - 1

Сколько уже было мануалов "Как сделать игру на Unity за 3 часа", "Делаем Counter-Strike за вечер" и т.п.? Низкий порог входа — это, несомненно, главный плюс и минус Unity. Действительно, можно накидать “ассетов”, дописать несколько простых “скриптов”, обмотать синей изолентой и это даже будет как-то работать. Но когда проект обрастает игровыми механиками, сложной логикой поведения, то проблемы при подобном подходе нарастают как снежный ком. Для внедрения новых механик требуется переписывание кода во многих местах, постоянная проверка и переделывание префабов из-за побившихся ссылок на компоненты логики, не говоря уже об оптимизации и тестировании всего этого. Разумеется, архитектуру можно продумать изначально, но на практике это всегда недостижимая цель — дизайн-документ довольно часто меняется, какие-то части выкидываются, добавляются абсолютно новые и никак не связанные со старой логикой поведения. Компоненты в Unity — это шаг в правильном направлении в виде декомпозиции кода на изолированные блоки, но особенности реализации не позволяют достичь необходимой гибкости, а самое главное, производительности. Разработчики придумывают свои фреймворки и велосипеды, но чаще всего останавливаются на ECS (Entity Component System). ECS – одно из решений, продолжающее идею компонентной модели Unity, но придающее ей ещё больше гибкости и сильно упрощающее рефакторинг и дальнейшее расширение приложения новым функционалом без кардинальных изменений в текущем коде.

Читать полностью »

Дневник техлида: вторые полгода разработки нового мобильного PvP - 1

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

Уверен, подавляющее большинство хотя бы раз запускали какую-нибудь многопользовательскую игру. На старте клиент, как правило, пишет несколько магических сообщений и через несколько секунд (хотя в случае с одним известным десктопным шутером — несколько минут) игрок попадает в главное меню, где есть заветная кнопка «В бой» или типа того. Но процесс запуска состоит из огромного количества этапов, которые происходят очень быстро и без вмешательства игрока:Читать полностью »

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

Под катом подробности про мероприятия.
Геймдев-фестиваль DevsGO 2го июня в Москве - 1
Читать полностью »

За последние три года количество инди-игр в Steam выросло в 2,5 раза, но при этом разработчики стали зарабатывать меньше. Пиратство таких игр продолжается, а сам процесс разработки занимает немало времени.

В преддверии крупного игрового события WeGame 4.0, которое пройдёт 21-22 апреля в Киеве, мы решили разобраться, какие проблемы возникают при создании инди-игр, и обратились с этим вопросом к одному из разработчиков таких игр.

Доходы. Согласно сведениям, которые предоставил автор аналитической платформы Steam Spy Сергей Галёнкин, средние доходы разработчиков инди-игр в Steam сократились за три года на 49%. В исследовании Сергей предоставил данные о продажах инди-игр на Steam и количестве проданных копий. Выручку Сергей назвал «наивной», поскольку просто умножил одну цифру на другую, не учитывая налогов и комиссий платформы.

Инди-игры: какие проблемы есть в их разработке и что главное при их создании - 1

Читать полностью »

Пишем плагин для Unity правильно. Часть 2: Android - 1

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

18 апреля в Высшей школе бизнес-информатики НИУ ВШЭ в Москве пройдет сразу несколько лекций по геймдизайну. Начало лекций с 19:00, сбор гостей с 18:30.
Будут выступать как преподаватели ВШБИ, так и приглашенные эксперты, которые будут делиться с гостями мероприятия опытом и знаниями по геймдизайну.

Место проведения: ул. Трифоновcкая, д.57, стр. 1 (ст. метро Рижская).

Вход бесплатный, но по предварительной записи. Зарегистрироваться можно на странице мероприятия. Под катом подробности про сам лекционный вечер.

Приглашаем на лекционный вечер по геймдизайну 18-го апреля в ВШБИ - 1
Читать полностью »

В марте этого года в рамках лектория Вышки прошел цикл лекций об игровой индустрии. Лекции читали преподаватели программы «Менеджмент игровых проектов» ВШБИ НИУ ВШЭ. Под катом я собрал для вас видеозаписи, ссылки на конспекты и краткое описание всех докладов.
Видеозаписи выступлений по геймдеву в Лектории Вышки - 1

Читать полностью »

Пишем плагин для Unity правильно. Часть 1: iOS - 1

Когда делаешь на Unity игры для мобильных платформ, рано или поздно придется писать часть функционала на нативном языке платформы, будь то iOS (Objective C или Swift) или Android (Java, Kotlin). Это может быть свой код или интеграция сторонней библиотеки, сама установка может заключаться в копировании файлов или распаковки unitypackage, не суть. Итог этой интеграции всегда один: добавляются библиотеки с нативным кодом (.jar, .aar, .framework, .a, .mm), скрипты на C# (для фасада к нативному коду) и Game Object со специфичным MonoBehavior для отлавливания событий движка и взаимодействия со сценой. А еще часто требуется включать библиотеки зависимостей, которые нужны для работы нативной части.

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

Реверсим «Нейроманта». Часть 1: Спрайты - 1

Так вышло, что я большой поклонник творчества Уильяма Гибсона. Моё знакомство с этим замечательным прозаиком случилось вследствие глубокого увлечения эстетикой киберпанка и последующего обращения к "корням" жанра, отцом-основателям которого считают Гибсона (пусть сам он от этого всячески открещивается). Трилогией "Киберпространство" (Sprawl trilogy, 1984-1988), а именно открывающим трилогию романом "Нейромант" (Neuromancer, 1984), Гибсон популяризовал идеи киберпространства, виртуальной реальности и всемирной компьютерной сети (непосредственно термин "киберпространство" был изобретён самим же автором и впервые ведён в рассказе "Сожжение Хром" (Burning Chrome, 1982), однако широкое распространение термин получил лишь после публикации "Нейроманта"). Помимо очевидного влияния на поп-культуру (Sonic Youth, U2, Ghost in the Shell, The Matrix, Deus Ex, Shadowrun и ещё множество тайтлов, так или иначе испытавших влияние автора), существует мнение о менее очевидном влиянии Гибсона на сферу информационных технологий. В предисловии к юбилейному изданию "Нейроманта" американский писатель-фантаст Джек Уомак задаётся вопросом:

Может ли быть так, что видение Гибсоном глобального информационного пространства в конечном счёте стало причиной, по которой Интернет сегодня выглядит так, как он выглядит, и работает так, как он работает?

Я склоняюсь к положительному ответу на этот вопрос.

Читать полностью »

В Высшей школе бизнес-информатики НИУ ВШЭ мы запустили новую дистанционную образовательную программу повышения квалификации «Основы создания игр». Это короткий интенсивный курс на полтора месяца, целью которого является формирование у слушателей базового понимания игровой индустрии и процессов разработки и продвижения игр. Детали про программу под катом, а записаться на нее можно здесь>>.

Дистанционная образовательная программа по созданию игр - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js