Лента новостей

21:29
Россельхознадзор запретил ввоз кормов и кормовых добавок из Чехии
21:28
В России планируют создать национальную систему мониторинга цен
21:21
Линейка учебников по российской и всеобщей истории под редакцией Владимира Мединского представлена на фестивале «Красная площадь»
21:14
Канцлер Австрии призвал ЕС пойти по пути диалога с Россией
21:13
«Отталкивать, сдерживать и взаимодействовать»: в ЕС опубликовали новую стратегию отношений с Россией
21:11
Ndjoni Sango: дочерняя компания французской фирмы Orange наносит ущерб экономике ЦАР
21:10
Президент ЦАР Туадера назвал девять основных тем предстоящего национального диалога
21:09
Алжир и Россия обсудили расширение военного сотрудничества
21:07
Политолог Абзалов сообщил об интересном феномене после закрытия неба Белоруссии
21:05
Китайцы высмеяли попытку Байдена столкнуть Россию и Китай на саммите в Женеве
21:04
Грязный шлейф: востоковед оценил шансы Нетаньяху свергнуть правительство Беннета
21:03
Самое страшное — не потоп: жители Керчи рассказали о попытках таксистов нажиться на беде
21:01
Забытые солдаты: Литву накажут за уничтожение памяти о воинах Красной армии
21:00
«Пилите, Вова, пилите»: украинские Карпаты стремительно «лысеют»
20:59
КПРФ отправляет на парламентские выборы коррупционеров и бандитов из 90-х
20:53
Зеленский всерьёз примеряет на Украину путь фашистских стран XX века
20:50
Решили пострелять из 122-мм САУ в упор по ДОТу, валуну и чему попало. ШОК от увиденного (2021)
20:44
Бизнес хранит средства в долларах: в ТПП РФ рассказали о планах на валюту США
20:43
Открытие границ повысило спрос на аренду жилья: Airbnb и Vrbo начали борьбу за клиентов
20:38
В России резко усилился рост цен на картофель, капусту и морковь
20:37
Губернатор Ярославской области Миронов запустил цех по производству медицинских масок
20:35
Байден и Эрдоган договорились, что с уходом США Турция обеспечит безопасность аэропорта Кабула
20:34
Экс-президент Украины Леонид Кравчук рассказал свою версию передачи Крыма в состав УССР
20:33
Байден и Эрдоган не достигли договоренности по вопросу ракетных комплексов С-400 Триумф
20:32
Белый дом подвел итоги первого зарубежного турне Байдена
20:28
Почему «золотой рубль» попросту невозможен в России
20:24
«Рост доходов» и «предательство Байдена»
20:23
Цирк «незалежности»
20:22
Зрители канала Serialdla высоко оценили фильм «Турист»
20:18
Экономика должна быть креативной: что общего у балерины и айтишника
20:16
Пираты XXI века: кто атакует киберпространство России и США
20:15
Госдума "ушла на дембель"
20:13
Время первых. Атомные подводные лодки СССР
20:06
The Week: Байден попытался использовать встречу с Путиным для пиар-трюка
20:05
Политолог Сатановский объяснил, что общего у Владимира Зеленовского и Джокера
20:04
Погребинский объяснил, чем для Киева обернется «потепление» между РФ и США
19:49
"Вектор" проверил эффективность "ЭпиВакКороны" против разных штаммов коронавируса
19:46
Отрицание, гнев, торг и депрессия Вашингтона
19:39
Политолог Марков оценил итоги саммита Россия – США
19:35
В Госдуме оценили заявление Трампа о встрече Путина и Байдена
19:34
Германия принимает с энтузиазмом встречу Байден – Путин в Женеве
19:31
В Бельгии месяц не могут найти сбежавшего с оружием военного-радикала: потратили 650 тысяч евро
19:28
Найденный в Ботсване алмаз оказался третьим по величине из всех известных (фото)
19:27
Для Саркози потребовали полугода тюрьмы по связанному с выборами 2012 года делу
19:26
В Абхазии утонул 48-летний россиянин
Все новости

Архив публикаций



Мировое обозрение»Технологии»Как создать собственную игру

Как создать собственную игру


Создать собственную игру — голубая мечта многих геймеров. Мы поговорили с Ольгой Максименковой, кандидатом технических наук, научным сотрудником международной лаборатории интеллектуальных систем и структурного анализа ФКН НИУ ВШЭ, руководителем лаборатории геймдев ITHub College о процессе создания игр и о том как не потеряться, отправившись в это путешествие в одиночестве.

Как создать собственную игру

Йеспер Йуль, датский гейм-дизайнер, педагог и теоретик в области изучения видеоигр:

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

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

Придется начать с банальности: очень важно придерживаться плана, который поможет сделать процесс, как минимум, конечным, с конкретным результатом. Также стоит учитывать, что коммерческий успех с первой игрой может и не прийти, но это не означает, что за неё не стоит браться — через опыт мы учимся удивительно эффективно.

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

После появления идеи можно говорить о ее реализации — по сути, мы будем решать инженерную задачу, дополненную творческой составляющей. Скажем, мы добрались до чекпойнта, когда в процессе обязательно должен появиться геймдизайнер и его инструменты.

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

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

И идея, и принятые при работе с ней решения повлияют на технологии реализации. Видеоигры — это очень сложные системы, и слаженная работа их подсистем очень важна. Эту слаженность помогает поддержать специальное программное обеспечение — игровой движок. Начинающий разработчик может выбрать как «раскидистый» промышленный движок, такой как Unreal Engine или Unity, так и считающийся более простым и безумно популярный среди начинающих и соло-разработчиков Game Maker. Конечно, это не исчерпывающий список — даже на странице движков в Википедии их несколько десятков, а сделать хорошо или плохо можно на любом движке. Здесь успех скорее определяется усилиями и желанием развиваться, но, в любом случае, игроделу-одиночке учиться программировать придется.

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

Теоретически, можно сделать игру вообще без движка (нет, пожалуйста, не делайте так с первой игрой!), но тогда многие задачи интеграции и синхронизации подсистем придётся проектировать и реализовывать самостоятельно. Рассинхрон в играх раздражает, чаще всего из-за него нарушается иммерсивность, или погружение в игровой мир, а за ней — аддиктивность, или «залипание», и многое другое.

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

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

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

И, конечно, управление «врагами» — это тоже математика. Если мы хотим, чтобы в игре были «умные враги» (или не слишком умные), то понадобится хоть и очень простой, но все-таки искусственный интеллект. Об этом любят рассуждать на сайтах, форумах и конференциях, но лично мне очень нравится хоть и старенькая, но переведённая на русский язык книга Алекса Шампандара «Искусственный интеллект в компьютерных играх. Как обучить виртуальные персонажи реагировать на внешние воздействия». Она, к слову, будет интересна и будущим специалистам по программной инженерии.

Что же касается игр, то некоторые движки позволяют сделать ИИ «из коробки». С одной стороны это удобно: можно, к примеру, применить дерево поведения без глубокого понимания его работы, но есть и обратная сторона — без знаний алгоритмов и навыков программирования при использовании готового решения есть шанс допустить ошибку и никогда ее не найти. В любом случае искусственный интеллект в играх тема интересная, обсуждаемая и перспективная.

Раз уж в нашей маленькой истории появились враги, то они могут напасть на нашего персонажа. Здесь мы подходим к вопросу взаимодействия объектов в игровых мирах, а от математики плавно переходим к физике (точнее к некоторым разделам математической физики и вычислительной геометрии), потому что взаимодействия предметов друг с другом — это физические взаимодействия, которые подчиняются некоторым гео- (или стерео-) метрическим правилам. Если мы делаем игру на движке, то частично за физическим взаимодействием следят его подсистемы, а мы настраиваем все так, чтобы взаимодействие происходило корректно и реалистично — или, наоборот, нереалистично, если это требуется по сценарию игры.

В завершении добавлю: не бойтесь экспериментировать и отказаться от проекта или неудачных проектных решений — как говорится, better done than perfect. И, конечно, социализируйтесь: ходите на игровые конференции, шоукейсы и геймджемы (уверена, что вы успеете подготовиться к Global Game Jam 2022 в январе следующего года), смотрите на работы других и показывайте свои результаты — все мы когда-то начинали. 

Советы

  • Научитесь программировать и разбираться в коде, иначе не получится исправить свои же ошибки.
  • Хочешь что-то добавить — ответь себе на вопрос, зачем и какую функцию будет нести это добавление, что это даст истории и игровому процессу. 
  • Не надо бояться отказаться от неудачных решений и даже проектов.
  • В проектировании игровых миров очень важен широкий кругозор: он поможет объяснить разные явления в лоре (не все же объяснять).
  • Полезно ходить на отраслевые конференции и знакомиться с единомышленниками. Зачастую командная работа помогает откинуть неудачные идеи еще до их реализации. Доступные кoнференции — devgamm, whitenights (WN).
  • Английский язык. На русском языке, конечно, появляются учебные материалы, но пока с серьёзным отставанием.
  • Геймджемы — это полезно. Это ограниченное во времени соревнование, где желающие пробуют свои силы в создании игр. Сделать качественную игру за несколько суток вряд ли получится, но пройти через все стадии ее разработки и понять их — вполне. Примеры: Global Game Jam, Ludum Dare.

Материал подготовлен совместно с факультетом компьютерных наук НИУ ВШЭ 

ФКН НИУ ВШЭ


Опубликовано: Мировое обозрение     Источник

Подпишись:





Напишите ваш комментарий к статье:

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Новости партнеров

Наверх