Написание игры 'Angry Crane' в программе Unity 3D
Введение
Научно-технический прогресс, набравший к концу ХХ в. головокружительную
скорость, послужил причиной появления такого чуда современности как компьютер и
компьютерные технологии. С совершенствованием компьютеров совершенствовались и
игры, привлекая все больше и больше людей. На сегодняшний день компьютерная
техника достигла такого уровня развития, что позволяет программистам
разрабатывать очень реалистичные игры с хорошим графическим и звуковым
оформлением.
Играют не только дети, но и взрослые. И играют, как правило, в рабочее
время. Сейчас компьютеры персональные компьютеры распространены повсеместно.
Наверное, нет ни одного ученика, который бы не любил играть в компьютерные
игры. Некоторые из нас готовы играть день и ночь. Родители же напротив, запрещают
играть в компьютерные игры или устанавливают для игры очень маленький
промежуток времени, хотя и сами порой непрочь поиграть.
Появление компьютерных игр можно отнести к моменту, когда компьютеры из
сферы экспериментальной и почти секретной (ведь на них должны были
рассчитываться траектории снарядов и ракет во время военных действий) начали
переходить в мир научный и практический. Это произошло в конце 60-х гг. XX в.
Компьютер стал обладать неким более или менее дружественным пользователю
интерфейсом - вместо лампочек и загадочных индикаторов появились
алфавитно-цифровые дисплеи. Конечно, ни о какой графике не могло идти и речи...
Но за компьютерами работают люди, и ничто человеческое им не чуждо. И вот в
один прекрасный вечер после тяжёлого трудового дня молодой программист (а кому
ещё могла прийти в голову идея использовать компьютер не по прямому назначению)
решил написать небольшую программу, которая играла бы с ним в какую-нибудь не
очень сложную игру, например «Быки и коровы»... И конечно же, такая идея пришла
в голову не только ему одному... Вскоре программы для развлечения начали
появляться всё чаще и чаще и даже стали входить в состав пакетов программ,
поставляемых вместе с компьютерами.
С созданием компьютерной графики и появлением настоящих домашних
компьютеров игровая индустрия стремительно выросла. Игры выпускались тысячными
тиражами, не считая пиратских копий. Примерно за десять лет для домашнего
компьютера ZX-Spectrum фирмы Sinclair Research было выпущено более б тыс.
наименований игр.
Сейчас игровая индустрия является одной из точек опоры, на которых стоит
индустрия персональных ЭВМ, да и для чего нужен дома компьютер, как не для игр?
В каждой шутке есть доля правды, и мир, наверное, не увидел бы
«компьютерной революции», если бы не компьютерные игры.
1. Аналитическая часть
1.1 Описание и постановка задачи
Задачей проекта является написание игры в программе Unity 3D. Название игры: «Angry Crane».
Описание:
Данная игра создавалась c
нуля. Главным персонажем игры является человек, который потерялся в жизни,
уволился с работы, неоплаченные кредиты. В один день после очередного
собеседования, на обратном пути наш герой попадает в аварию. Персонаж находится
в коме после сильной аварии, он ничего не помнит, его память полностью
стерлась, кроме обиды и боли. После выписки он вспоминает только плохое, как
его уволили, как над ним издевались. Единственное, что он желает - месть, но
месть - это блюдо, которое подается холодным. Что его ждет на этот вопрос
ответить только сыгравший пользователь
Назначение и цель создания
В рамках проекта игра будет создана для:
Углубления в среду Java/Android
Улучшения навыков в программирования
Изучение классификаций мобильных игр:
по жанрам;
по количеству игроков и способу взаимодействия;
по тематике;
по платформам;
Изучение разработки мобильной игры
Данная игра создается для детей от 14 лет и старше. Смысл игры очень
прост, в управлении она не требуется особых усилий.
Управление в игре осуществляется с помощью экранного джойстика.
Описание правил игры
Правила игры: Персонаж выщел с больницы и будет искать мести. И вы должны
ему помочь, в каждый раз как он совершает свое злодеяние он вспоминает кусок
своей жизни.
Управление персонажем: Для хождения персонажа нужно нажимать стрелки (↑-вверх;←-влево;→-вправо;↓-вниз)
которое находится на экранном джойтике.
Чтобы персонаж прыгнул - Поднять экран
Чтобы персонаж подобрал предмет - кнопку «U»
Общая концепция разработки приложения
Данная игра представляет собой RPG
RPG
(Ролевые игры) - Класс ролевых игр, которые могут быть как развлекательного,
так и учебного характера. Действие игры происходит в придуманном мире, который
может быть либо основан на сюжете художественного произведения, либо полностью
придуман авторами игры. В этой вымышленной реальности игроку чаще всего (но не
обязательно) ставиться какая-то цель, которую он должен достичь в ходе игры.
В состав программы входят 12 JavaSqript:
Наименование
скрипта
|
Обозначение
скрипта
|
Sqript создающий
меню
|
Menu JavaSqript
|
Sqript создающий меню в самой игре
|
Menugame
JavaSqript
|
1.2 Игровые технологий
Игра наряду с трудом и ученьем - один из основных видов деятельности
человека, удивительный феномен нашего существования.
По определению, игра - это вид деятельности в условиях ситуаций,
направленных на воссоздание и усвоение общественного опыта, в котором
складывается и совершенствуется самоуправление поведением.
В человеческой практике игровая деятельность выполняет такие функции:
развлекательную;
коммуникативную: освоение диалектики общения;
самореализации в игре как полигоне человеческой практики;
игротерапевтическую: преодоление различных трудностей,
возникающих в других видах жизнедеятельности;
диагностическую: выявление отклонений от нормативного
поведения, самопознание в процессе игры;
функцию коррекции: внесение позитивных изменений в структуру
личностных показателей;
межнациональной коммуникации: усвоение единых для всех людей
социально-культурных ценностей;
социализации: включение в систему общественных отношений,
усвоение норм человеческого общежития.
Типы игр
Основные типы компьютерных игр:
. Игры типа «ударь и беги» или «стреляй во всё, что движется» -
любимые игры младших школьников и некоторых взрослых.
Рисунок 1.1 - Игра типа «ударь и беги» или «стреляй во всё, что движется»
Вариаций множество - от самых простых и незатейливых, с объёмной 3D графикой, высокой детализацией и
реалистичностью. Есть игры с простой стрельбой (пистолет, автомат), а есть с
фантастической (бластеры, плазмовинтовки), есть - с боевыми искусствами (драки,
типа Mortal Combat) и т.д. Во всех этих играх важна быстрота реакции
(смотреть рисунок 1.1).
. Игры - тренажёры (симуляторы): разного рода гонки, военные и
космические игры. Обычно в них игрок как бы сидит в кабине самолёта или
автомобиля с экранами, рычагами и кнопками. Конечно, ездить в таких автомобилях
и летать на таких самолётах попроще, чем в настоящих. Но вкус почувствовать
можно. В симуляторах тоже важна быстрая реакция, поскольку езда и полёты
проходят с высокой скоростью. (смотреть рисунок 1.2)
Рисунок
1.2 - Игры - тренажёры (симуляторы)
.
Спортивные симуляторы (NBA, FIFA, NHL) - имитации спортивных соревнований по футболу,
баскетболу, гольфу и т.д.
Рисунок 1.3 - Спортивные симуляторы
Правда, управление таким сложным объектом, как играющий в футбол человек,
пока не очень удаётся программистам. Да и пользоваться для этого мышкой не
очень-то сподручно. Поэтому в такие игры проще играть с джойстиком (смотреть
рисунок 1.3).
. В стратегических играх (стратегиях) вы строите города, страны и
даже целые планеты, управляя их развитием, строя дома и дороги, проводя
электричество, облагая жителей налогами, заключая союзы и объявляя войны. Суть
игрового процесса - добывание неких важнейших ресурсов - энергии, территорий,
воды, денег, дерева, еды, золота и т.д. В таких играх вы сами не участвуете в
деятельности подчинённых вам территорий или планет. Работают другие, а вы их
лидер и мозговой центр - король, президент, генерал, верховный маг (смотреть
рисунок 1.4).
Рисунок
1.4- Стратегия
.
RPG, MUG или MMORPG.
Если в таком фантастическом мире вы не верховный правитель и даже не
генерал, а рядовой участник - воин, маг, космический торговец, то это уже
называют ролевой игрой или RPG (role play ing game). А если кроме вас и компьютера в эту же игру играют
на некоем интернетовском сервере ещё тысяча (или сто тысяч) человек, то такие
забавы называют уже многопользовательскими ролевыми играми: MUG или MMORPG. (смотреть рисунок 1.5)
6. Стратегии и РПГ. Существует другая разновидность ролевых игр,
где вы играете не одним персонажем, а небольшой командой, которую составляете
сами. Тут большое значение имеет взаимодействие и взаимопомощь членов команды.
Их индивидуальные качества должны дополнять качества других, чтобы команда
могла побеждать врагов в самых разных ситуациях. Главное в таких играх -
тактика. Вообще, стратегии и РПГ - игры довольно сложные. Играют в них люди,
которым нравится работать не столько руками, сколько головой. (смотреть рисунок 1.6)
Рисунок
1.6 -Стратегии и РПГ
.
Игры-приключения - обычно это хитроумные красивые игры-сказки,
ужастики-страшилки, приключения, фантастика. У этих игр есть одно общее: вы
часто не знаете цели игры и тех средств, которыми её следует добиваться. Вы
бродите по миру, полному странных или вполне обыкновенных предметов, чье
назначение вам неизвестно, и пытаетесь понять, что к чему. За это их и зовут
бродилками, а также квестами (quest - поиск). (смотреть рисунок 1.7)
Рисунок
1.7 - Игры-приключения
.
Настольные и логические игры и головоломки предпочитают те, для кого
игра не основное занятие в жизни, всего лишь краткий и необременительный отдых
- способ провести несколько минут.(смотреть рисунок 1.8)
Рисунок
1.8 - Настольные и логические игры и головоломки
1.3
Почему мобильные игры?
мобильный программный игровой приложение
Мобильные
приложения или игры предоставляют людям огромное количество удовольствия.
Причина этому удобство, каждый человек имеет смартфон, и им легче скачать игру
и играть, тем более огромное количество лучших мобильных игр бесплатные.
Любой
человек может просто вытащить свой девайс, включить игру и играть. На работе,
дома даже в общественном транспорте.
Для
разработчиков же оно удобно в том плане, что эти мобильные игры создаются
гораздо быстрее, и бесплатные инструменты тоже имеются. Многие разработчики
создают игры на андроид-платформах, потому что язык Java
распростронен среди них, да и регистрация Play Market
тоже бесплатна.
Анализ
рынка:
Google Play обошел iOS по
количеству загрузок в мире.
Рисунок 1.9 - Сравнение Google Play и iOS
Доходы от мобильных игр стали приносить больший доход, чем игры для
портативных приставок.
Рисунок 2 - Доходы от мобильных игр
Технологии для создания игр
1. Разработка концепции:
возраст пользователя.
вид игры: развлекающая, развивающая, обучающая, комплексная.
2. Разработка адресных требований к игре:
к сценарию.
к игровой среде.
к графике игры.
3. Написание сценария:
создание сюжетной канвы с определением персонажей игры.
прописывание диалогов.
внесение в канву сценария игровых моментов (развлекающих,
обучающих, развивающих).
прописывание речёвок и моментов ожидания действий
пользователя.
проверка сценария на: удобство управления игрой, удобство
перемещения в игровом поле, соответствие концепции и требованиям к данной игре;
взаимное соответствие элементов сценария друг другу.
4. Разработка технических требований к игре и подготовка тех. задания
. Взаимодействие с разработчиками технической части игры:
передача сценария в разработку.
разработка визуальных образов персонажей и фонов игры.
стыковка пожеланий заказчика игры с возможностями
разработчиков по организации игрового пространства.
5. Озвучка персонажей, если в игре имеются говорящие персонажи
6.
Тестовая версия игры
.
Подготовка второго этапа - итоги предварительной работы, обобщение опыта, план
работы по доработке игры
1.4
Выбор среды и программированного языка
Unity 3D -
мощная среда разработки для кроссплатформенного движка Unity для
создания видеоигр и приложений. Созданные с помощью Unity
3D игры и приложения работают в операционных системах Windows,
OS X, Android, iOS, Linux, Blackberry а также на игровых приставках Wii, PlayStation 3 и Xbox 360. Приложения, созданные с помощью Unity,
поддерживают DirectX и OpenGL.
С
помощью Unity 3D можно создавать видеоигры любых жанров. Разработчик
может легко импортировать текстуры, модели и звуки. Для текстур поддерживаются
все популярные форматы изображений. Создание скриптов осуществляется, в
основном, с помощью JavaScript, хотя коды можно писать и на C#.
Unity Java Script и Java Script Java Script компилируется в бинарный
код что намного повышает его скорость, но и делает его менее динамичным чем Java Script под браузер, который не компилируется совсем. В Unity Java Script не нужно больше мучиться с
prototype, стоит применять Mixins и Helpers
вместо Subclassing. Очень просто писать процессы, которые знают друг о
друге и взаимодействуют, так и понятней и значительно легче специализировать
объекты в Unity. В базовом JavaScript есть три типа: число,
строка, и объект (ну а функции и массивы и есть объекты).
В
UnityJavaScript есть намного больше типов. Объекты, которые НЕ
меняются с массивами, или Массивы которые вроде как и JavaScript
объекты, но не динамические.
Заключение
По результатам тематических исследований, можно сделать вывод, что в
отрасли ИТ, использование игровых движков хорошо себя зарекомендовали.
Это было связано с конкретными преимуществами технологии:
) быстро обнаружение новых идей,
) надежность подхода, когда сталкиваются с изменением терминологии,
) богатство информации о новых технологиях.
Наиболее важным подходов является 1 пункт (быстрое обнаружение новых
идей), не только новых, но и интересных. В каждый раз с новыми идеями можно
большего достичь. Новые технологии меняют мир каждым днем, каждый год или день
появляются все модные портативные девайсы и каждый владелец этих девайсов
нуждаются в играх, ведь нужно как-то убить то время, когда ему скучно и
заменить ее веселыми играми.
Список терминов и сокращенных слов
OS -
Операционная система
РПГ - жанр игр (ролевая игра)
MUG -
аркадные игры.
NBA, FIFA, NHL - спортивыне игры
Unity 3D - игровой движок
Список использованной литературы
1. П.
Дейтель, Э. Дейтель, Э. Дейтель, М. Моргано Андроид для программистов. Создаем
приложения: Питер, 2013.- 950
2. Р.
Майер Программирование приложений для планшетных компьютеров и смартфонов:
Эксмо, 2011. - 812
3. Google Android. Программирование для мобильных устройств: БХВ -
Петербург, 2011.- 540