ВВЕДЕНИЕ 4
1 АНАЛИТИЧЕСКИЙ ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 7
1.1 Обзор 3D - игры «Space Attack» 8
1.2 Обзор сред разработки 9
1.2.1 Технические характеристики 11
1.2.2 Достоинства и недостатки 11
1.3 Обзор среды программирования 12
1.4 Язык программирования C# 14
2 ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД И ОСНОВНЫЕ
ОПРЕДЕЛЕНИЯ 15
2.1 Основные понятия объектно-ориентированного программирования. 15
2.3 Создание и использование скриптов 17
2.3.1 Структура файла скрипта 18
2.3.2 Управление игровым объектом 20
2.3.3 Функции событий 20
3 РАЗРАБОТКА ПРИЛОЖЕНИЯ «SPACE ATTACK» 24
3.1 Термины и основные принципы 24
3.2 Настройка проекта 25
3.3 Добавление и настройка игрока 28
3.4 Настройка камеры и освещения 30
3.5 Настройка фона в игре 31
3.5.1 Прокрутка фона 32
2.5.2 Создание звездного неба 33
3.6 Создание движения объекта 34
3.7 Создание выстрела и летящей пули 37
3.8 Создание, вращение и уничтожение астероидов 39
3.9 Создание игрового контроллера, генерирующего клоны объектов 43
3.10 Звук 44
3.10.1 Принцип и особенности работы со звуком в Unity3D 44
3.10.2 Работа со звуком 45
3.11 Подсчет набранных очков 46
3.12 Перезагрузка игры 47
3.13 Создание вражеских кораблей 49
3.14 Компиляция проекта и запуск игры 51
ЗАКЛЮЧЕНИЕ 53
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 54
ПРИЛОЖЕНИЕ
Мобильные устройства постепенно захватывают мир. Наличие ноутбука, нетбука или смартфона у рядового человека на сегодняшний день является обычным делом. Поэтому нет ничего удивительного в том, что все больше и больше программного обеспечения требуется именно для таких устройств. В последнее время многие люди хотят видеть полноценный персональный компьютер у себя в телефоне. К полноценному функционалу можно отнести такие задачи как сетевые программы, 3D - игры, GIS - сервисы и т.д. Но все же на данный момент производительность карманных устройств сильно уступает персональным компьютерам, поэтому необходимо применять особые алгоритмы для разработки приложений, а также методы программирования.
Одним из самых распространенных карманных устройств являются устройства на базе операционных систем Android и IOS. Они служат для прослушивания музыки, телефонных звонков, отправки смс и электронной почты, а также многого другого. Многие люди предпочитают игры на мобильных устройствах, поэтому данный рынок ПО развивается очень быстро. Конкуренция порождает более сложные и красочные игры. Новым этапом в разработке игр для карманных устройств стали полноценные 3D - игры, в которых используются шейдеры материалов, тени и большое количество 3D объектов.
В данной дипломной работе было разработано мобильное приложение средствами высокоуровневого языка программирования и 3D графики.
В процессе разработки пришлось столкнуться сразу с несколькими проблемами ограниченной производительности iPhone и Android:
1. Скоростью работы графического ядра устройства;
2. Объемом оперативной памяти для одного запущенного
приложения;
3. Скоростью чтения с диска устройства;
4. Скоростью работы процессора.
Для разработки 3D части был взят движок Unity 5. Данный движок позволяет программировать 3D сцены для IOS, Android, Linux, Windows и т.д. Языком программирования для этой среды был выбран C# как основной скриптовый язык для 3D сцены.
Первая часть дипломной работы посвящена исследованию возможностей мобильных операционных систем, игровых движков и объектно-ориентированному программированию. Вторая часть дипломной работы посвящена разработке приложения “SpaceAttack”, в которой рассматриваются аспекты работы с Unity и высокоуровневым языком программирования C#.
Цель работы - создание игры, удовлетворяющей требованиям начальной спецификации, исследование технологий создания 3D - игр, а также приемов программирования для смартфонов.
В соответствии с поставленной целью задачами выпускной квалификационной работы являются:
• изучить необходимые для работы программные продукты: 3dMax, Unity3D, Visual Studio и т.д.;
• разработать основное содержание и сценарий игры, создать базовые сцены и модели игровых объектов;
• разработать модули и скрипты, определяющие модели поведения объектов;
• скомпоновать и отладить мобильную игру “Space Attack” на игровом движке Unity3D.
Объект исследования - 3D игра, архитектура системы мобильных устройств.
Предмет исследования - процесс создания 3D игр и технологий их разработки.
Область применения - предполагается размещение разработанного программного продукта в интернет магазинах для мобильных операционных систем.
Результаты работы - В результате проделанной работы, была создана 3D - игра “Space Attack”, которая полностью удовлетворяет
начальную спецификацию. Также было проведено исследование
возможностей игрового движка Unity при работе с 3D графикой. Был приобретён опыт в разработке приложений для мобильных телефонов.
В ходе выполнения выпускной квалификационной работы решена научно-техническая задача создания игры, удовлетворяющей требованиям начальной спецификации, исследование технологий создания 3D - игр, а также приемов программирования для смартфонов.
Выводы и результаты работы сводятся к следующему.
1. Спроектирована и реализована 3D - игра “Space Attack”. Получены большие знания в области разработки приложений: работа с графикой, памятью, оптимизацией производительности, искусственным интеллектом.
2. Изучена среда разработки Unity3D: возможности редактора движка, слабые и сильные стороны этого движка. Произведен обзор графических возможностей системы и пользовательского интерфейса.
3. Получен опыт разработки 3D сцен: изучены основные понятия 3D моделирования, изучен язык написания шейдеров, изучена и понята работа с текстурами как в 3D, так и в 2D.
4. Приобретен опыт программирования на языке С# и работы с использованием объектно-ориентированного программирования. Более детально изучена библиотека .NET. Изучена и проанализирована библиотека Unity3D, составлены собственные классы, которые её дополняют.
1. Официальная документация по Unity3D [Электронный ресурс] - URL: http://unity3d.com/support/documentation (дата обращения: 06.04.2010).
2. Официальное сообщество разработчиков на Unity3D [Электронный ресурс] -URL: http://unity3d.com/support/community (дата обращения: 26.04.2010).
3. Русское сообщество разработчиков на Unity3D [Электронный ресурс] - URL: http://forum.unity3d.com (дата обращения: 06.04.2010).
4. Типовые примеры и решения при разработке приложений на Unity3D [Электронный ресурс] - URL: http://blogs.unity3d.ru (дата обращения: 01.05.2010).
5. Справочная информация по устройству фирмы Apple - Apple iPhone [Электронный ресурс] - URL: http://www.apple.com/support/iphone (дата обращения: 11.05.2010).
6. Справочная информация по устройству фирмы Apple - Apple iPod touch [Электронный ресурс] - URL: http://www.apple.com/support/ipod (дата обращения: 26.05.2010).
7. Официальная документация по Unity iPhone [Электронный ресурс] URL: http://unity3d.com/unity/features/iphone-publishing.html (дата обращения: 12.04.2010).
8. Троелсен Э. С# и платформа .NET. - СПб.:Питер, 2004. - 796 c.- (Библеотека программиста).
9. Орлов С.А. Технология разработки программного обеспечения - Питер,2003.-464c.-(Учебник для ВУЗов).
10. Энди Кармайкл, Дэн Хейвуд. Быстрая и качественная разработка программного обеспечения.-Вильямс,2003.-400 с.
11. Орловский. С. Нас ждет ренессанс стратегий [Электронный ресурс]. Режим доступа: http://kanobu.ru/articles/nas-zhdet-renessans-strategij - 300471/
12. Скорик. М. Gamification мобильных игр [Электронный ресурс]. Режим доступа: http: //habrahabr.ru/post/167595/
13. Fierz M. Strategy Game Programming [Электронный ресурс]. Режим доступа:http://www.fierz.ch/strategy1.htm
14. Saltzman. M. General Game Design: Strategy Games. - 2-nd ed., Brady Games, 2000
15. ^mm^Ey of independent game players and creators [Электронный ресурс]. Режим доступа: "http://www.tigsource.com/
16. Micic A., Arnarsson D., and Jonsson V. Developing Game AI for the Real-Time Strategy Game StarCraft. Technical report, Reykjavik University, 2011.
17. Ильченко В. Изучение методов построения игрового искусственного интеллекта и разработка информационной технологии для ее реализации в стратегиях реального времени [Электронный ресурс]. Режим доступа: http://masters.donntu.org/2013/fknt/ilchenko/
18. Буга К. Изучение методов построения игрового искусственного
интеллекта и разработка информационной технологии для ее реализации в пошаговых стратегиях [Электронный ресурс]. Режим
доступа: "http: //masters .donntu.org/2013/fknt/buga/
19. Илькун В. Инструментальные средства для разработки компьютерных игр жанра экшн от первого и третьего лица [Электронный ресурс]. Режим доступа: "http://masters.donntu.org/2013/fknt/ilkun/
20. Валиуллин С. Этапы разработки игры глазами гейм-дизайнера
[Электронный ресурс]. Режим
доступа: "http://www.gamedev.ru/gamedesign/articles/development_planning
21. Зыков И. Компьютерные игры: этапы разработки [Электронный ресурс]. Режим доступа:http://www.megabyte-web.ru/likbez/igryi-etapyi- razrabotki.html