Заявка на конкурс: Разработка игрового проекта «Куб»

СОДЕРЖАНИЕ
Введение
3
Основная часть
6
Описание структуры и алгоритм игрового проекта
6
Описание работы игрового проекта
12
Заключение
16
Литература
17
2
ВВЕДЕНИЕ
Результаты исследования видеоигр показывают, что каждый из нас обладает
способностью преодолеть тревогу, депрессию, справиться с физической и
душевной болью. Только нужно уметь контролировать свое внимание. Предстоит
ли вам решать серьезные проблемы или вы хотите повысить психическую и
эмоциональную устойчивость, игры станут идеальной платформой для освоения
навыков управления вниманием, способных изменить жизнь.
Snow World – это виртуальная 3D-среда, разработанная в Вашингтонском
университете для пациентов, проходящих курс лечения серьезных ожогов.
Пациенты играют во время наиболее болезненных этапов лечения, когда врачи
обрабатывают
раны.
Используя
гарнитуру
виртуальной
реальности
для
определения местоположения и направления движения в виртуальном царстве
холода и джойстик, пациенты исследуют ледяные пещеры, играют в снежки. Их
ждет настоящее очарование зимы.
Результаты клинических исследований удивили медиков. Оказалось, что
«уход» пациентов в виртуальную реальность уменьшает боль на 35–50%. А на
пациентов с самыми тяжелыми ожогами игра оказывает даже более сильное
воздействие, чем морфин, который им также вводят. Во время игры в Snow World
пациенты практически игнорировали болевые ощущения, которые не устранялись
полностью. По их словам, они осознанно воспринимали боль лишь 8% времени. В
то же время при традиционном лечении ожогов даже при введении самых высоких
допустимых доз, обезболивающих пациенты обычно испытывали боль и думали о
ней в течение всей процедуры.
Способность превращать любого человека в потенциального союзника и
укреплять отношения для этого нужно всего лишь сыграть с ним в игру.
Hedgewars – это милая и забавная видеоигра, несмотря на то что в ее
названии есть слово wars (войны). Игрокам предлагается набрать армию из розовых
ежей, чтобы сражаться в межгалактических битвах. (Hedgewars похожа на игру
Angry Birds, но более увлекательна, а вместо птиц здесь летают колючие зверьки.)
Правила игры довольно просты, в нее можно играть на компьютере или мобильном
3
телефоне. И, как недавно выяснили сотрудники Хельсинского университета, она
оказывает мощное воздействие на тело и ум человека.
Когда два человека играют в Hedgewars в одной комнате, между ними
возникает, по словам доктора Михила Шовихарви-Спапе и доктора Никласа Раваха,
«неврологическая и физиологическая связь». Мимика становится одинаковой,
игроки начинают синхронно улыбаться, хмуриться и даже дышать. Их пульсы
адаптируются к одному ритму. Но самое удивительное: синхронизируются их
мозговые волны, так как нейроны начинают «отзеркаливать» друг друга. Этот
процесс помогает каждому из игроков предугадывать действия другого. Все эти
изменения происходят практически моментально, через несколько минут после
начала игры.
Как выяснилось, все четыре разновидности синхронизации – мимика лица,
пульс, дыхание и мозговая деятельность – тесно связаны с возрастанием эмпатии и
социальной привязанностью. Чем сильнее выражена степень синхронизации с
человеком, тем больше он нам нравится. И тем больше вероятность, что мы окажем
ему помощь в будущем.
Оказалось, что геймеры действительно прилагают больше усилий при
решении сложных проблем. Как показало исследование, они демонстрировали
«предрасположенность к выполнению сложных заданий» и «желание быть»
эффективными в условиях фрустрации». Когда им предложили серии легких и
сложных головоломок, они уделили значительно больше времени решению
сложных головоломок. Участники, игравшие редко, сдались гораздо быстрее и не
проявили интереса к решению сложных заданий. В целом геймеры отличались
бóльшим упорством и настойчивостью. Они продемонстрировали тягу к трудным
заданиям и желание добиться успеха даже в сложных условиях.
Результаты более ранних исследований, не имевших отношения к играм,
показали, что люди, которые успешно выполняют любые задания, требующие
больших усилий, продолжат проявлять усилия в будущем. Упорная работа и
достижение цели – на нейрофизиологическом уровне это проявляется в повышении
уровня дофамина – настраивают нас работать еще упорнее. Это тот же
4
биохимический процесс привыкания, но полезный.
Основываясь на этих результатах, ученые предположили, что повышенное
содержание дофамина в мозге может быть основным побуждающим стимулом
трудолюбия. Это новый взгляд на одну из наиболее ценных и повсеместно
уважаемых черт характера человека. Трудолюбие – не моральная ценность, которая
прививается. Это биохимическое состояние, которое можно целенаправленно
усилить благодаря занятиям, повышающим содержание дофамина в мозге. Вот
почему сложные видеоигры типа Re-Mission настраивают нас прилагать больше
усилий и проявлять целеустремленность и при решении повседневных проблем.
Компьютеры стали неотъемлемой частью каждого современного человека.
Если раньше компьютеры могли позволить себе не все, то в наше время ситуация
очень сильно изменилась. Теперь, начиная с детей дошкольного возраста, и
заканчивая пенсионерами, все имеют компьютеры или ноутбуки. С каждым годом
количество обладателей компьютеров растет, связано это с тем что, с каждым
годом компьютеры становятся более доступными для людей. Немалую роль в
пользовании занимают игры. Они помогают скоротать время и скрасить досуг.
5
ОСНОВНАЯ ЧАСТЬ
Описание структуры и алгоритма игрового проекта
Я разработал игровой проект в среде Unity отвечающего следующим
требованиям:
1. Возможность движения объектов.
2. Развитие мышления игрока.
3. Возможность свободы действия игрока.
В соответствии с требованиями, игровое приложение я разрабатывал в
соответствии со следующими этапами работы [3,4]:
1.
Подготовка к разработке видеоигры на Unity3D.
2.
Процесс разработки игры на платформе Unity: логика игры, поведение
персонажа, поведение камеры, поведение противника.
3.
Разработка
графического
интерфейса
пользователя
(GUI)
в
UnityEngine.
4.
Сборка проекта.
Подготовка к разработке видеоигры на Unity3D. Для того чтобы начать
работать над проектом в Unity, не нужно быть профессиональным разработчиком
видеоигр, но необходимо тщательно продумать все нюансы игры. Даже имея под
рукой такой гибкий инструмент как Unity, все равно нужно представлять, что
должно получиться в итоге.
Для того, чтобы полностью разобраться с работой инструмента Unity, а в
данном приложении разработана двухмерная видеоигра. Я выбрал жанр
платформер для того, чтобы охватить как можно больше возможностей Unity за
довольно короткий промежуток времени и невысокой сложностью разработки.
Процесс разработки игры на платформе Unity. Перед началом работы я
подготовил рабочее поле программы, выставил необходимые настройки и изучил
ее интерфейс.
Подготовка рабочего поля. Выставил настройки рабочей области, для этого
создал новый проект, выбрал шаблон, место хранения, добавил дополнительные
Asset в проект. Далее, создав проект, открылась пустая сцена, в которой
6
присутствует лишь один объект – камера, сохраняю результат. После этого
начинаю с ней работать: импортирую объекты сцены, добавляю им свойства,
элементы сцены. Сделав эту работу, приступаю к созданию фона. В первую
очередь, о импортирую спрайты (однотонный фон, элементы
заднего плана,
платформы), и настраиваю их для использования. Получив составной спрайт из
нескольких текстур, каждую из них можно использовать как отдельный спрайт,
сделав его нарезку. В каждый из них добавляю элементы сцены и объекты так,
чтобы они перекрывали фоновое изображение в нужном порядке. Далее
настраиваю положение фона в сцене и слои. Создаю персонажа, импортировав
необходимые текстуры в Unity, добавляю элементы анимации, и настраиваю
параметры.
Логика игры. Описанных выше свойств недостаточно для создания
полноценной видеоигры. Необходимо описать логику поведения объектов сцены и
их
взаимодействие
между
собой.
Для
этого
в
Unity
использую
язык
программирования C# [2,7,8]. В этом проекте использован язык C#. В качестве
редактора кода выступает Visual Studio.
Поведение персонажа. Создаю в папке Assets C# script. В окне Inspector
существует предпросмотр кода, но для его редактирования необходимо зайти в
редактор кода. Для того, чтобы управлять объектом Hero с клавиатуры, я написал
скрипт и переместил его на объект в окне Wolf.
Поведение камеры. По стандарту камера на сцене является статичной, мне
же необходимо, чтобы камеры следила за движением компонента Wolf. Для этого
пишу скрипт, который в последствии перенесу на элемент Main Camera.
Поведение противника. Для полноценной картины создаю врагов и пишу
сценарий их передвижения.
Создание меню. Обычно при запуске готовой видеоигры пользователь
попадает на главное меню, из которого запускает непосредственно игровой процесс.
Создаю меню, которое является стартовой сценой при запуске проекта. Для этого
создаю новую сцену, в которой присутствует лишь MainCamera и пишу для нее
скрипт.
7
Графический интерфейс пользователя (GUI) в UnityEngine. Практически ни
одна игра не обходится без графического интерфейса. Стартовое меню, надписи,
HUD (полоса здоровья и обозначения характеристик персонажа на экране) и
многое другое называется – GUI.
Сборка проекта. На этапе завершения основной работы над проектом я
произвел его сборку. Это происходило следующим образом: сперва процесс сборки
размещает пустую копию игры. Затем он будет прорабатывать список сцен в
настройках сборки: открывать в редакторе одну из них за раз, оптимизировать их и
интегрировать их в пакет приложения. Он также подсчитает все ассеты,
необходимые включенным в сборку сценам и сохраняет эти данные в отдельном
файле внутри пакета приложения [9,10].
Структура проекта – это организованная работа связей и отношений между
его составляющими [1,5].
К структуре проекта предъявляются следующие требования:
1.
Уровни декомпозиции должны различаться степенью детализации.
Совокупность элементов каждого уровня должна представлять весь проект.
2.
Исходя из первого правила, суммарные значения характеристик
проекта на каждом уровне структуры проекта должны совпадать.
3.
Каждый уровень декомпозиции должен содержать такие элементы, на
основе которых могут быть определены количественные значения характеристик
каждого элемента.
Декомпозиция – это разделение проекта на мелкие части (элементы) или
модули, связанные с программированием.
Программа, которая должна создавать игровое приложение, должна быть
выполнена по модульному принципу, что сделает её универсальной, и будет
подразумевать дальнейшую модернизацию. Наличие на экране необходимых
подсказок и управляющих кнопок будет обеспечивать «дружественный» интерфейс
между человеком и машиной.
Модульная структура представляет собой иерархию процедур и функций
(называемых модулями), с помощью которых программа решает поставленную
8
задачу. При этом программа является головным модулем в данной иерархии.
Логическая модульная структура проекта отражает последовательную
взаимосвязь всех модулей проекта.
Структура разрабатываемого проекта игрового приложения представлена на
рисунке 1.
Main
Player
Переход на след
уровень
Рестарт уровня
Финиш
Работа объектов
Activator
Вкл прозрачных кубов
Выкл прозрачных
кубов
Рис. 1. Логическая структура проекта
Игровое приложение включает два модуля, которые собираются главным
модулем:
9
- Player, организующий игровой процесс и реализующий:
1.
Переход на следующий уровень.
2.
Рестарт уровня.
3.
Работа объектов.
4.
Финиш.
- Activator, включающий дополнительные настройки объектов:
1.
Включение прозрачных кубов.
2.
Выключение прозрачных кубов.
Алгоритм – это конечная последовательность шагов в решении задачи,
приводящая от исходных данных к требуемому результату.
В настоящее время в программировании применяются алгоритмы, которые
можно разделить на три класса:
1.
Линейные.
2.
Ветвящиеся.
3.
Циклические.
Для данного игрового проекта я выбрал циклический алгоритм, который
представлен на рисунке 2.
Но алгоритм работы игрового приложения является разнообразным, так как
используются все типы алгоритмов и линейный, и ветвящийся и циклический. Это
необходимо для того чтобы более точно обрабатывать информацию.
Линейность алгоритма заключается в том, что все действия в основном
модуле программы происходят последовательно. Ветвящийся алгоритм необходим
для того, чтобы выбирать необходимые данные из файлов. Это значит, что при
нажатии определённой кнопки следует процесс.
Кроме того, в алгоритме данной программы реализованы обратные связи,
позволяющие пользователю выбирать необходимый путь для продолжения
программы.
Достоинством данного алгоритма является простота и возможность
наглядного отображения структуры алгоритма и взаимосвязей отдельных его
частей.
10
Начало
Главное меню
Нет
Настройки
Да
Нет
Настройка
функций
Play
Да
1 уровень
2 уровень
N - уровень
Нет
Выход
Да
Конец
Рис. 2. Алгоритм функционирования игрового проекта
11
В данном алгоритме описываются действия в игре, а именно вход в игровое
приложение пользователем. После выбора настройки пользователь настраивает
дополнительные функции блоков на игровом поле. Если пользователь выбрал Play,
то последовательно загружаются уровни игрового приложения, отображение
игрового процесса и сохранение полученного результата. Если пользователь не
играл, то происходит отображение главного меню. Пользователь может вернуться в
главное меню в случае прохождения всех уровней. Так же можно загрузить
сохраненную ранее игру или выйти из нее. Навыков игра не требует от
пользователя определенных навыков, поэтому играть сможет абсолютно любой
пользователь.
Описание работы игрового проекта
Для загрузки игрового проекта «Куб» необходимо загрузить игровое
приложение. При входе загружается главное меню приложения, представленное на
рисунке 3.
Рис. 3. Главное меню
12
Главное меню представляет пользователю следующие возможности :
1.
Начать игру.
2.
Выбор уровня.
3.
Настройки.
4.
Выход из игры.
Игровой процесс включает пять уровней и начитается с первого уровня. На
этом уровне необходимо что бы красный куб прошёл в финиш. Игровое поле
первого уровня представлено на рисунке 4 .
Рис. 4. Игровое поле первого уровня
После прохождения первого уровня игрок автоматически переходит на
второй уровень. Игровое поле второго уровня представлено на рисунке 5.
13
Рис. 5. Игровое поле второго уровня
После прохождения второго уровня игрок переходит на следующий уровень.
В этом уровне появляется больше элементов. Что бы пройти дальше необходимо
также, что бы красный куб прошёл к финишу. Игровое поле третьего уровня
представлено на рисунке 6.
Рис. 6. Игровое поле третьего уровня
14
На
четвертом
уровне
появляются
кнопки
с
которыми
нужно
взаимодействовать что бы пройти уровень. Игровое поле четвертого уровня
представлено на рисунке 7.
Рис. 7. Игровое поле второго уровня
Финальный пятый уровень более сложный для прохождения. Игровое поле
пятого уровня представлено на рисунке 8.
Рис. 8. Игровое поле пятого уровня
15
ЗАКЛЮЧЕНИЕ
Компьютеры стали неотъемлемой частью каждого современного человека.
Если раньше компьютеры могли позволить себе не все, то в наше время ситуация
очень сильно изменилась. Теперь, начиная с детей дошкольного возраста, и
заканчивая пенсионерами, все имеют компьютеры или ноутбуки. С каждым годом
количество обладателей компьютеров растет, связано это с тем что, с каждым
годом компьютеры становятся более доступными для людей. Немалую роль в
пользовании занимают игры. Они помогают скоротать время и скрасить досуг.
Помимо развлекательных функций, игры могут быть также развивающими,
причем не только для детей, но и для взрослых.
В данной разработке создан игровой проект, предназначенный для развития
логики людей, обладающих навыками использования ПК.
Цель достигнута, а именно разработан игровой проект в среде Unity
отвечающим следующим требованиям:
1.
Возможность движения объектов.
2.
Развитие мышления игрока.
3.
Возможность свободы действия игрока.
Для достижения поставленной цели реализованы следующие задачи:
1.
Изучить особенности и состояние компьютерной индустрии России.
2.
Выбрать жанр, вид и платформу для игрового проекта.
3.
Разработать сценарий, концепцию основных элементов.
4.
Выбрать и изучить средство реализации
5.
Реализация прототипа игрового приложения.
Повышенное удобство и функционал игрового продукта были достигнуты в
результате
использования
современных
технологий
в
программировании,
использовании языка и возможностей оборудования.
16
ИНФОРМАЦИОННЫЕ РЕСУРСЫ
1. Джеффри Рихтер: CLR via C#. Программирование на платформе Microsoft
.NET Framework 4.5 на языке C#. 4-е издание, 2019. – 896с, ISBN: 978-5-44611102-2.
2. Джереми Гибсон Бонд Unity и C#. Геймдев от идеи до реализации. 2-е изд. /
Джереми Гибсон Бонд , 2021. - 1002 c. ISBN 978-5-4461-0715-5.
3. Дикинсон К. : Оптимизация игр в Unity 5. 2017 -306с. Ил. ISBN 978-5-970604328.
4. Ламмерс Кенни. Шейдеры и эффекты в Unity. Книга рецептов. - Москва : ДМК
Пресс, 2014. - 274 с. - ISBN 978-5-94074-737-6.
5. Нейгел, Кристиан C# 2008 и платформа .NET 3.5 для профессионалов /
Кристиан Нейгел и др. - М.: Вильямс, 2017. - 695 c.
6. Ошероув Р. Искусство автономного тестирования с примерами на C#. 2-е
издание / Р. Ошероув. - Москва : ДМК Пресс, 2014. - 360 с. - ISBN 978-594074-945-5.
7. Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET
Framework 4.5 на языке C#. 4-е изд. - Санкт-Петербург : Питер, 2018. - 896 с. ISBN 978-5-496-00433-6.
8. Смоленцев, Н. К. MATLAB. Программирование на Visual С#, Borland JBuilder,
VBA (+ CD-ROM) / Н.К. Смоленцев. - М.: ДМК Пресс, 2017. - 456 c. ISBN:
978-5-94074-729-1.
9. Торн А. Основы анимации в Unity / А. Торн. - Москва : ДМК Пресс, 2016. 176 с. - ISBN 978-5-97060-377-2.
10. Торн А. Искусство создания сценариев в Unity / А. Торн. - Москва : ДМК
Пресс, 2016. - 360 с. - ISBN 978-5-97060-381-9.
17