Конвейер игры с нуля

XXI Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Конвейер игры с нуля

Погосова Е.В. 1
1Средняя школа № 1 им. А.С. Пушкина
Боровикова Н.В. 1
1МБОУ «Средняя школа №1»
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

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

По данным «Лаборатории Касперского», которые были проведены в мае-июне 2022 года большинство мальчиков и девочек — более 74 % — используют ресурсы глобальной сети для игр, 71 % — для просмотра фото и видео, 68 % — для коммуникаций и общения с друзьями.

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

С детства одним из моих любимых занятий были компьютерные игры, и свою будущую профессию я хочу связать с миром IT, поэтому я решила попробовать себя в данном направлении.

Говорят, что тем, кто далек от мира IT, может показаться, что данное направление подходит для изучения только опытным программистам, а новичкам в нем делать нечего.

 
   

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

1 Геймер-человек, играющий в видеоигры.

 

Unity.

Цель: создать свою игру в жанре Платформер.

Объект исследования: среда разработки компьютерных игр –

Предмет исследования: возможности игрового движка Unityдля создания компьютерной игры в жанре Платформер.

Гипотеза исследования: данная работа поможет мне научиться отдельным методам сбора, обработки и анализа полученной информации - я получу новые знания, а процесс создания игры будет увлекательным и укрепит мое предположение о правильном выборе будущей профессиональной деятельности.

В ходе моей работы будут решаться следующие задачи:

1. Сбор информации об истории возникновения компьютерных игр и их классификации.

2. Сбор информации о жанрах компьютерных игр и отбор нужного жанра.

3. Сбор информации о движках (платформ) по созданию компьютерных игр.

4. Выбор движка на основе собранной информации.

5. Изучение выбранной платформы.

6. Непосредственный процесс создания игры.

7. Тестирование игры, доработка программы.

8. Выступление с защитой проекта на школьном уровне.

9. Разработка алгоритма — памятки для создания игры.

10. Проведение мастер-класса.

Конвейер разработки игры - это процесс создания видеоигры от концепции до завершения. Поэтому прежде, чем приступитьнепосредственно к работе по созданию компьютерной игры я перешла к поиску советов состоявшихся гейм-разработчиков и набросала ряд ключевых для меня вопросов:

1. Есть ли у меня энтузиазм?

2. С кем буду воплощать идею?

3. Для чего мне это?

4. Что мне нравиться смотреть, чем я увлекаюсь?

5. Жанр? Для какой аудитории?

6. Какой движок подойдет?

7. Длительность процесса.

8. Концепция игры.

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

Ответы на вопросы:

1. Да, я хочу попробовать свои силы. Создание игры даст мне возможность отдохнуть от другой деятельности.

2. В команде какие-то идеи воплощаются в жизнь легче, но для этого нужно совместное время. Но твои решения не всегда будут приняты командой. Значит я буду создавать игру одна - так проще.

3. Приоритет - новые знания. Я получу готовый продукт — опытный образец.

4. Мне нравятся мультяшные герои. Мой любимый герой – Ори, из игры Ori and the Blind Forest.

5. Аудитория массовая — дети, пенсионеры, скучающие продавцы — не геймеры, которые тратят на игру 5-7 минут. Учитывая и то кто мой любимый игрок, я остановилась на жанре Платформер.

6. Движок - Unity.

 

7. От 1 до 4 месяцев

8. Мой планируемый продукт – это компьютерная игра в стиле 2D. Её создание займет около 2-х месяцев. Игра подойдет для людей разного возраста, будет проста в управлении, в игре будет

3 уровня от простого к сложному. На пути у героя будут препятствия. Для того, чтобы преодолеть некоторые из них, нужно будет в определенный момент бежать быстрее, иначе придется начать игру заново.

Ответив на все вопросы, я приступила к работе. Но все по порядку.

Результатами работы должна быть рабочая программа - игра и выводы, которые помогут подтвердить или опровергнуть гипотезу.

1. Теоретическая часть.

1.1. История возникновения компьютерных игр.

1.1.1 Первые компьютерные игры.

Идея использовать вычислительные машины не только для работы (вычисления), но и для развлечения впервые пришла в голову программистам еще в конце 40-х годов.

Так в 1948 году физикам Томасу Голдсмиту и Эстл Рэй Манн был выдан первый в мире патент на изобретение электронной интерактивной игры. Патент описывает игру, в рамках которой игрок сидит или стоит перед ЭЛТ-монитором, вмонтированным в шкаф.

В 1950 году Джозеф Кейт разработал игру в «Крестики-нолики» Уже в 1952 году игра «Крестики-Нолики» стала первой компьютерной игрой с графическим интерфейсом. Александр Дуглас представил игру на кандидатской диссертации на тему взаимодействия человека и компьютера.

Спустя 6 лет создание игры «Теннис на двоих».

В 1962 подобие игры «SpaceWar»(Космические войны).

1972 года была представлена Magnavox Odissey — первая игровая приставка для телевизора.

В Советском Союзе эти консоли стали прототипом продукции фирмы «Электроника» — игр «Тайны океана» и «Ну, погоди!», которыми были увлечены буквально все.

1989 году - игра «Тетрис». По мере развития технологий, виртуальный мир наполнялся звуком, совершенствовались графика, добавлялось видео. Сегодня каждый желающий может скачать игры на компьютер на любой вкус.

1.1.2 Понятие компьютерной игры

Компьютерная игра — компьютерная программа, служащая дляорганизации игрового процесса (геймплея), связи с партнёрами по игре, или сама выступающая в качестве партнёра.

Ее определяющие характеристики включают в себя: более разнообразное и определяемое пользователем игровое оборудование и программное обеспечение; и, как правило, большую пропускную способность при вводе, обработке, выводе видео и аудио.

С 2011 года компьютерные игры официально признаны в США отдельным видом искусства.

1.2. Классификация и жанры компьютерных игр.

1.2.1. Классификация компьютерных игр.

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

Данная тема является обширной и рассматривается в ряде исследовательских работ: «Мир поправимых ошибок»2, «Искусство проектирования компьютерных игр» 3 и др.

1.2.2. Жанры компьютерных игр.

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

Наиболее популярные жанры современности и прошлых лет представлены в Таблице 2.

2 Автор Шмелев А - российский психолог, специалист в области экспериментальной психосемантики

3 Автор Кроуфорд К - геймдизайнер

 

Таблица 2

Жанры компьютерных игр

Жанр

Визуальное представление жанра

Экшен

 

Приключения

 

Бои

 

Платформер

 

 

 

Головоломка

 

Гонки

 

Ролевые игы

 

Шутер

 

Симуляция

 

 

 

Спорт

 

Стратегии

 

Что же касается меня, то я с детства любила жанр Платформер, хотя, конечно, тогда не знала что это такое.

Платформер (англ. platformer, platform game) — жанр компьютерных игр, в которых основу игрового процесса составляют прыжки по платформам, лазанье по лестницам, сбор предметов, необходимых для победы над врагами или завершения уровня.

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

1.3. Движки создания компьютерных игр.

Итак, мне необходимо было выбрать движок, в котором я смогу реализовать создание своей игры в жанре Платформер. В сети Интернет я просмотрела некоторые предлагаемые движки и сравнила их по ряду критериев (см. Таблицу 3)

Таблица 3

Сравнительная таблица движков

 

Движок

Критерии

Unity

Unreal

Defold

Godot

Цена

Бесплатно

С 2015 года бесплатный для использования. Если игра приносит более 3000$ за квартал, производители

берут 5% прибыли.

Бесплатно

Бесплатно

Установка

Достаточно

На установку

Установить

На

 

установить

потребуется

очень легко, с

официальн

 

UnityHub, и

больше времени,

официального

ом сайте

 

вы уже

Для установки

сайта

 

 

можете

Unreal Engine 4

 

 

 

создавать

используется Epic

 

 

 

проекты

Games Launcher,

 

 

 

 

затем вы

 

 

 

 

выбираете

 

 

 

 

устанавливаемые

 

 

 

 

компоненты, а

 

 

 

 

также выбираете

 

 

 

 

платформы, на

 

 

 

 

которых будут

 

 

 

 

доступны ваши

 

 

 

 

игры.

 

 

Удобства

Интерфейс

Интерфейс

Интерфейс

Интерфейс

интерфей-

удобен и

нелегок, но удобен

похож на

удобен

са

понятен

 

Unity, также

 

 

 

 

удобен и

 

 

 

 

 

 

понятен

 

Отзывы

- Большое комьюнити

- Поддержка разных платформ

- Понятная документация

- Простой интерфейс

- Условно бесплатный

-

функциональн ый

- Доступность," всеядность", фотореалистичная визуализация.

- Интересен, но сложен в освоении.

- Развивает мозги, удобный интерфейс, - ---

Красивая графика, программирование на блупринтах

- Реалистичная графика, оптимизаций, стабильность, работоспособность

.

- Хорошая документация и туториалы

- Одно из самых приветливых и полезных сообществ. В том числе и русское

- Есть интеграция с внутриигровы ми покупками в Google Play и App Store и с сервисами мобильной рекламы

- Мне очень понравило сь, как работают сигналы в Godot.

- С точки зрения пользовате ля, кажется очень логичным, что не нужно постоянно проверять нажата ли кнопка или не покинул ли объект

экран.

Востребо- ванность на рынке

С одной стороны, востребована, так как серьёзные

проекты с

Unreal- специалисты будут востребованы еще долго

Возможность прийти как новичку, так и опытному специалисту

— каждому

Востребов ан, движок развиваетс я,

специалис

 

 

 

хорошим финансирован ием на Unity также реализуют, с другой - здесь предложение на рынке труда очень серьёзно превышает

спрос

 

найдутся задачи по их силам

тов с каждым годом потребуетс я всё больше и больше

Из таблицы 3 видно, что информация по движкам очень схожа. Это и в основном бесплатный контент, достаточно простой интерфейс, положительные отзывы и все движки востребованы на рынке. Но я остановилась на Unity, потому что:

- во-первых, о нем я узнала еще год назад,

- во-вторых, моя любимая игра создана именно на этом движке,

- в-третьих, интерфейс Unity для меня был самым понятным,

- меня привлекло огромное количество вариантов стилей игр 1.3.1. Знакомство с Unity

Unity — кроссплатформенная среда разработки компьютерных игр, разработанная американской компанией Unity Technologies. Благодаря Unity можно создавать приложения, которые работают на более чем 25 различных платформах, включающих персональные компьютеры, игровые консоли, мобильные устройства, интернет- приложения и другие. Движок Unity был выпущен в 2005 году, его развитие до сих пор продолжается.

2. Практическая часть

2.1. Поэтапный процесс создания компьютерной игры

1 этап – Установка

Чтобы установить Unity, мне потребовалось 5 минут, достаточно было на официальном сайте скачать файл.

Затем я выбрала подходящие ресурсы для моей игры и скачала их с сайта UnityAssetStore. Для игры я выбрала ресурсы Pixel Adventure 1

2 этап – Фон и опора

Ресурсы Pixel Adventure 1 предлагают 3 варианта фона

 
   
 

 

Для первого уровня я выбрала 2 фон.

Также предлагают 3 варианта опоры, я остановилась на 1 варианте.

 

С помощью пипетки я построила опору и сделала фон

 
   
 

 

3 этап – Персонаж

На выбор предлагалось 4 персонажа, я выбрала 4.

для того, чтобы добавить героя мне необходимо было создать Sprite, я переминовала его на «Player»

Спрайт — это картинка. Средство визуализации спрайтов вUnity. 2D

Персонажу я добавила 2 компонента: Rigidbody 2D и BoxColider

Rigidbody (Твердое тело). Твёрдые тела позволяют вашимигровым объектам взаимодействовать с помощью физики. Для реалистичного перемещения твёрдых тел, на последние воздействуют сила вращения и другие силы.

Box Collider 2D - это коллайдер, используемый при работе с 2D физикой. Форма коллайдера представлена в виде прямоугольника с заданной позицией, шириной и высотой в системе местных координат спрайта (Sprite).

 

Для того, чтобы персонаж мог бегать, прыгать и при повороте смотреть в сторону, которую бежит я использовала скрипты4:

Кстати, чтобы начать писать скрипты для Unity я пересмотрела ряд видематериалов по созданию скриптов на С#5, ознакомилась с классами6, какие и за что овечают.

4 этап – Камера

Чтобы камера следовала за персонажем я использовала скрипт:

 
   
 

5 этап – Фрукты

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

Я выбрала киви:

 
   
 

 

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

5 C# — объектно-ориентированный язык программирования.

6 Класс — в объектно-ориентированном программировании, модель для создания объектов определённого типа, описывающая их структуру (набор полей и их начальное состояние) и определяющая алгоритмы (функции или методы) для работы с этими объектами.

 

Для киви я также использовала Square

Чтобы киви можно было собирать я добавила на него скрипт и компонент BoxColider, вдобавок к этому я добавила в верхнем левом углу текст, в котором указано количество собранных вами киви:

6 этап – Препятствия и движущаяся платформа

Я решила создать 2 препятствия в виде пил и шипов

Для них я также добавила компонент BoxColider

Чтобы персонаж умерал, когда задевает шипы или пилы, я добавила скрипт PlayerLife, в котором указала необходимые классы:

С пилами понадобилось немного больше времени, так как я захотела, чтобы они двигались влево и вправо, для этого мне нужно было создать 2 пустых GameObject, которые будут началом движения пил и концом:

Чтобы они были более заметные, я изменила их вид на ромбы:

Затем я передвинула их:

 

По такой траектории будет двигаться пила.

Движущаяся платформа создаётся точно также как и пила, имеет начало и конец и компонент BoxColider

7 этап – Анимации

Я добавила анимацию персонажа (в стоячем положении, беге и прыжке ), фруктов и пил.

Для начала я открыла панель, в которой работают с анимациями. Затем нажала Create, чтобы создать анимацию и выбрала персонажа. Так покадрово выглядит анимация персонажа в стоячем положении:

В беге:

И прыжке:
 
   
Выделив анимации в стоячем положении, я перенесла их на панель Animation:

С другими анимациями я проделала всё тоже самое.

Чтобы анимации работали в нужный момент, я объединила их:

 

С пилами и фруктами объединения не нужны, потому что у них всего 1 анимация, а персонаж имеет 3 анимации.

8 этап – Музыка и звуковые эффекты

Чтобы добавить музыку, я добавила 2 одинаковых компонента для персонажа и в нужные ячейки добавила музыку и звуковые эффекты.

1. Звуковой эффект при собирании фруктов

2. Звуковой эффект, когда персонаж умирает 9 этап – Создание интерфейса игры

Сначала я на листе бумаги сделала наброски уровней, а затем начала выстраивать уровени в Unity

1 уровень:

2 уровень:

3 уровень:

10 этап – Финиш и меню

Финиш я создала через Square

Чтобы при задевании его персонаж переходил на следующий уровень я использовала скрипт:

Затем я приступила к созданию меню, чтобы создать его мне понадобилось добавить Canvas7.

Также я создала кнопку, при нажатии которой игрока телепортирует на 1 уровень

2.2. Отладка и тестирование игры.

Итак, игра была готова . Мне необходимо было ее протестировать и услышать мнение одноклассников. Я «кинула» игру в общий чат класса в мессенджере Telegram. По отзывам ребят, игра им понравилась. Они с удовольствием прошли все три этапа игры и пусть

7 Canvas для Unity UI — это область, внутри которой размещаются все элементы пользовательского интерфейса ненадолго, вернулись в детство. Ребята внесли свои предложения, например, сделать кнопку предварительного выхода из игры, увеличить количество этапов прохождения игры, изменить музыку. Ряд предложений я учла. Но захотела узнать больше у ребят об их отношении к компьютерным играм и составила и провела анкету - Гугл форму. В опросе участвовали учащиеся 10 класса школы №1 и студенты 3 курса ВСАМТ в количестве 51 человек.

Результат показал, что 84% респондентов играют в компьютерные игры, 25% предпочитают жанр Приключения, 38% играют в игры более 2-х часов в сутки, 42% не знают движки для создания игры, 94% не создавали компьютерную игру и 67% хотели бы попробовать.

Результатом практической части является полностью готовая рабочая, описанная в концепции, компьютерная игра.

Заключение.

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

Во время создания игры, я неплохо развила свои умственные способности: умение лучше запоминать, искать и пользоваться информацией. Я просмотрела достаточный по объему видеоматериал по работе с движком Unity, написанию скриптов, отзывы, рекомендации геймеров. В результате подробно познакомилась с движком Unity, получила опыт написания скриптов на языке С#. А мое предположение о будущей профессии только утвердилось - я точно понимаю, что она будет связана с IT- технологиями.

Чтобы создавать простые компьютерные игры, необязательно быть профессионалом и знать все основы программирования на C#. Но я не хочу останавливаться только на данной работе. Чтобы в будущем быть профессионалом в своей области и иметь достойную заработную плату, мне, безусловно, предстоит еще много учиться.

И запланированный мастер - класс я обязательно проведу для своих одноклассников. Скорее всего найдутся заинтересованные лица

– единомышленники. И кто знает, может уже в команде, мы создадим новый, более захватывающий игровой проект – новую компьютерную игру.

Список используемых источников информации.

1. Википедия. Свободная энциклопедия: [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Платформер, https://ru.wikipedia.org/wiki/Unity_(игровой_движок),https://ru.wikipedia.org/wiki/Компьютерная_игра

2. Вики-сайт: [Электронный ресурс]. URL: https://gamegod.fandom.com/ru/wiki/Unity3D#:~:text=Как%20правило %2C%20игровой%20движок%20предоставляет,среды%20разработки %20и%20межплатформенная%20поддержка

3. Дударев А. «С чего начать делать игру», 2021:[Электронный ресурс]. URL: https://yaaspirant.ru/spisok-literatury/kak-v-spiske-literatury- oformlyat-internet-istochniki

4. Игровой портал: [Электронный ресурс]: https://cubiq.ru/dvizhok-unity/

5. Статья « Первые видеоигры. Как это было», 2018 г.: [ Электронный ресурс]: https://www.playground.ru/misc/news/pervye_videoigry_kak_eto_bylo- 200666

6. Статья «Создаем 2D-игру на Unity: инструкция для новичка», 2020 г. : [ Электронный ресурс]: https://vk.com/away.php?utf=1&to=https%3A%2F%2Fproglib.io%2Fp% 2Fsozdaem-2d-igru-na-unity-instrukciya-dlya-novichka-2020-09- 01%2Famp%2F

7. «Unity базовый курс: 2D платформер с нуля»: [ Электронный ресурс]: URL: https://www.youtube.com/watch?v=RRTanQmJQnw

8. Официальный сайт Unity:[Электронный ресурс]. URL: unity.com

9. «Как сделать игру с нуля»: [Электронный ресурс]. URL: https://www.youtube.com/watch?v=-YwfTUPZmU0

Просмотров работы: 73