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

04:07
Российский боевой ледокол «Иван Папанин» выходит на испытания
04:04
ПП-2000. Лучше «Стечкина», хуже «Ксюхи»
03:56
Главная тайна аварии на ЧАЭС: персонал не успел заглушить реактор вовремя
01:33
Москва не собирается голосовать в СБ ООН за навязываемые Западом деструктивные резолюции США и Японии
00:27
Трёхголовых хряков на Полтавщине нет, пока нет…
22:17
На заморозку активов ВТБ в США Россия ответила своим арбитражем
22:11
The Economist: Украина потеряет очередные территории, несмотря на новую помощь США
22:09
Комментарии западных читателей к статье «Россия прорывает линию фронта после того, как свежеприбывшая бригада ВСУ оставила позиции»
20:27
Украинские войска ведут обстрелы ДНР, Белгородской, Херсонской, Запорожской и Брянской области. Обзор ситуации в прифронтовых регионах России на вечер 25 апреля
20:26
Некоторым жителям Новороссии позволили покупать старое жильё в кредит под 2% годовых
20:25
Депутат Хамзаев призвал запретить продажу алкоголя на майские праздники
20:20
Конфликт в школе Батайска: мигрант бил детей, срывал уроки и угрожал русским, в школу пришла «Русская община» (ФОТО, ВИДЕО)
19:49
Путин: мы все обязаны поблагодарить население Донбасса и Новороссии за их долготерпение, мужество и героизм
19:14
Депутаты Европарламента потребовали от стран Евросоюза не признавать итоги выборов президента России
19:13
Экс-замминистра культуры России приговорили к семи годам заключения
18:33
Турция на Ближнем Востоке: «Дорога развития» и геополитический выбор
18:29
Путин собрался посетить Китай
18:28
Патрушев заявил о связи нелегальной миграции с террористической угрозой
18:01
Михаил Ефремов с огромной вероятностью получит УДО либо смягчение наказания
17:54
Украинская бригада исчезла, а российская чуть не прорвалась: как битва за Очеретино перевернула ход конфликта в минувшие выходные
17:25
Жители Харькова массово выезжают из города, а Украина вывозит предприятия
17:20
Суд вынес приговор экс-замминистра культуры
17:16
В Польше россиянина приговорили к тюрьме за шпионаж
16:55
Китай выступил против «военного сговора» США
16:53
Руководство США открыто признало, что финансирует тиранию
16:49
Космический зонд «Вояджер-1» впервые за пять месяцев отправил на Землю читаемые данные
16:48
«Гравитон» начал производство российских твердотельных накопителей
16:44
The Times: хуситы снизили объём перевозок по Суэцкому каналу на две трети
16:43
Байден тайно передал Украине более 100 дальнобойных ракет ATACMS
16:42
Гладков назвал количество жертв ВСУ в Белгородской области с начала СВО
16:33
Рябков допустил понижение статуса дипотношений России и США
16:06
Суд арестовал всё имущество Иванова и его родственников
16:05
Дуда пригласил Туска, чтобы доказать ему необходимость размещения ядерного оружия в Польше
16:00
«Терпи, братец!»: офицер «Отважных» вынес раненого сослуживца из-под огня (ВИДЕО)
15:58
Правительство Латвии нанесло удар по конкурентоспособности латышей на рынке труда
15:54
Путин опроверг пересмотр итогов приватизации в России
15:28
Лукашенко считает, что настало время Западу согласиться на переговоры по Украине с РФ
15:27
В Москве взяли под арест взяткодателя и подельника замминистра обороны Иванова
15:26
Боеприпасы с Яворивского полигона рванули на пункте приема металлолома
15:18
Самыми пьющими в Европе оказались дети в Англии
15:17
Литва вслед за Польшей пообещала вернуть военнообязанных украинцев на родину
15:05
Калашников запустит новый участок по производству высокоточного оружия
14:54
Британия начинает готовиться к войне
14:43
ХАМАС назвал условие отказа от вооружённой борьбы с Израилем
14:41
Индия – Россия – ЕАЭС: значимость внешнеторговых льгот – не только экономическая
Все новости

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



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

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



Создать собственную игру — голубая мечта многих геймеров. Мы поговорили с Ольгой Максименковой, кандидатом технических наук, научным сотрудником международной лаборатории интеллектуальных систем и структурного анализа ФКН НИУ ВШЭ, руководителем лаборатории геймдев 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.


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



ФКН НИУ ВШЭ


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

Подпишись:





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

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

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

Наверх