Введение.........................................................................................................3
1. Аналитический обзор...........................................................................4
2. Технологическая часть.......................................................................28
2
Введение
Игровая сфера деятельности в настоящее время является одной из
самых быстро развивающихся среди индустрии развлечений, и в то же время
имеет дольно низкий порог вхождения для начинающих разработчиков.
Первые компьютерные игры появились еще в 70-ых годах 20 века и
изначально были доступны только на аркадных автоматах и не имели
большого разнообразия геймплея. Затем, в 90-ых основной их платформой
стали персональные компьютеры. Переход был обусловлен несколькими
факторами:
Задачи:
3
Сформировать правила и принципы работы игровых механик.
Разработать игру
4
1. Аналитический обзор
1.1 Обзор платформ и операционных систем
За время существования мобильных устройств было разработано
множество операционных систем. С течением времени поддержка
некоторых, уже устаревших, прекращалась. Наиболее известные из них:
5
Рисунок 1 – Доля рынка мобильных операционных систем на январь 2021
года
6
1.2 Классификация мобильных игр
Все игры можно разделить на некоторые группы по их жанровой
принадлежности. Рассмотрим статистику самых распространённых жанров
мобильных игр.
7
Подобные игры из-за таких факторов охватывают очень большую
аудиторию. В основном такие игры являются бесплатными и монтируются с
помощью внутри игровых покупок или рекламы.
Примеры игр-головоломок
Примеры игр:
9
ATOM RPG – это пошаговая ролевая игра, в постапокалиптическом
сеттинге разработанная как для персональных компьютеров так и для
мобильных телефонов.
Примеры игр:
10
распространению вируса и противостоять, разрабатывающейся по мере
прохождения игровой сессии, вакцине.
Примеры игр:
11
Данный жанр не охватывает большую аудиторию, из-за неудобности в
управлении игрой на сенсорном экране. Игры данного жанра монтируются
внутри игровыми покупками и изредка продажей полноценной игры.
Примеры игр:
Примеры игр:
Примеры игр:
12
Pokemon Go – бесплатная мобильная игра по популярной серии игр про
покемонов, которая основана на технологиях дополненной реальности.
Peer-to-peer (P2P)
Клиент-серверная архитектура
Так же, без сомнения, плюсом является то, что сложную для
вычисления логику системы можно осуществлять на более мощной
13
серверной части, что положительно влияет на производительность игры,
запущенную на устройствах клиентов.
14
Рассмотрим наиболее популярных представителей из них.
Минус Unity
16
Кроссплатформенность
Поддержка множества ассетов
Поддержка AR, VR платформ
Язык визуального программирования Blueprints
Минусы:
Плюсы CryENGINE
Кроссплатформенность
Простое создание визуально красивого игрового окружения.
Визуальное качество графики игр
Минусы
Скудная документация.
Не дружелюбен к новым пользователям
17
Установка 2D Легкость Интеграция и Поддержка Служба
и владение /3D использования совместимость VR поддержки
2D
Unity 4/5 4/5 5/5 Есть 4/5
/3D
Unreal 2D
4/5 4/5 5/5 Есть 4/5
Engine /3D
2D
Godot 4/5 3/5 3/5 Нет 4/5
/3D
2D
CryENGINE 3/5 2/5 4/5 Есть 3/5
/3D
2D
GameMake 4/5 3/5 3/5 Нет 3/5
18
1.4.2 Выбор средства создания моделей
Так же рассмотрим самые популярные средства создания различных
3D моделей.
Язык
программиро
Изменяемые Моделирован Поддержка вания,
Главные Дополнитель кисти, ие, захвата моделировани
функции ные аддоны, скульптурные Дружелюбны движений, е органики и
слои й интерфейс слои, объектов с
твёрдыми
гранями
Моделирован
Скульптинг и
ие, анимация, Моделирован Анимация и
Высоко Моделирован
Предназначение скульптинг, ие и визуальные
полигональное ие
визуальные анимация эффекты
моделирование
эффекты
Сложнее Сложная
Сложность Легкая Средняя Средняя
среднего
$895 или
Цена Бесплатно $700 $1,470 за год $1,479 за год
$39.95 в месяц
19
Так же в этом средстве для создания 3D моделей есть мощная и
детализированная система изменяемых кистей для скульптинга. Данная
программа поддерживает несколько уровней полигональной детализации.
Плюсы Zbrush
Фотореалистичный рендер
Можно создавать собственные кисти
Возможность работать с очень большим количеством полигонов
Минусы
Цена.
Сложность в изучении
Не стандартное меню
Плюссы Cinema 4d
Простота обучения.
Расширяемость с помощью плагинов
Стабильность
Минусы
Цена
Плюсы Maya
Минусы
Дорогая
Сложна для изучения
Плюсы
21
Минусы
Цена
Плюсы Blender
Бесплатность
Открытый код
Большой набор инструментов
Возможность создать законченную модель без использования
сторонних приложений
Минусы
22
1.4.3 Выбор графического редактора
Рассмотрим популярные графические редакторы.
24
программе Quixel Mixer, и также позволяет легко и эффективно смешивать
различные материалы.
26
случайность ограничена, чтобы соответствовать заданному распределению
вероятностей. Например, можно использовать загруженные кости для
имитации исхода бейсбольной игры; в то время как у более сильной команды
больше шансов на победу, в определенный день любая из команд может
оказаться на вершине.
27
FLDR был разработан для большей полезности. FLDR может
использовать до 10 000 раз меньше места в памяти, чем подход Кнута-Яо,
при этом на одну операцию уходит не более чем в 1,5 раза больше времени.
28
2. Технологическая часть
2.1 Анализ двух похожих IDE, для последующего выбора
игрового движка
29
После скачивания и установки программной обеспечения откроем
«лаунчер», это приводит к появлению окна на вашем рабочем столе:
30
В появившемся окне нажимаем на «Install Engine», в левом верхнем
углу панели. Программа запуска перейдет к следующему экрану в котором
пользователь может выбрать возможные библиотеки самой программы, эти
же библиотеки можно будет «докачать» позже, таким же образом можно
использовать пользовательские библиотеки, которые делают сами авторы для
этого движка, что сильно ускоряет процесс разработки.
31
Epic Games постоянно обновляет Unreal Engine, поэтому ваша версия
движка может слегка отличаться от представленной на «скриншотах».
По умолчанию выбраны «Starter Content, Templates and Feature Packs» и
«Engine Source». Они будут полезны по следующим причинам:
32
Подобрав нужные компоненты продолжаем установку. После же ее
завершения движок появится в библиотеке. Теперь для начала работы с
игровым движком создадим проект для дальнейшей работы с ним.
33
нажимаем в появившемся поле на метод разработки под названием
«Blueprint», т.к это небольшая вводная часть перед главным проектом
создадим шаблон «Blank»
34
После создания проекта, перед нашими глазами открывается окно
редактора проекта, где мы можем полностью контролировать каждое наше
действие и взаимодействовать с полем как пользователь посчитает нужным,
чтобы довести проект до конца. Сам редактор разделен на несколько отделов
и панелей нужные для дальнейшей разработки:
35
4. «Detail» параметр отвечающий за отображение свойств объекта,
эта панель предназначена для работы или изменения параметров
объекта;
5. «Tool Bar» в себе он содержит множество различных функций, но
зачастую его чаще используют для воспроизведения прототипов
игры;
6. «Viewport», это обзор самого уровня, т.е нажав на правую кнопку
мыши мы можем осмотреть наше место действия, которое мы
преобразовываем;
Чтобы Unreal мог использовать файлы, их нужно импортировать.
Переходим в Content Browser
36
Программа предложит несколько вариантов импорта наших файлов.
Снимаем флажок с «Import Materials», т.к в дальнейшем для игры будут
создаваться материалы без привязки каким либо авторам, это нужно для того,
37
что бы не было нарушения авторских прав пользователя.
38
при импорте файла на самом деле он не сохраняется в проекте, если
только не указать это естественным образом, нажав на наши файлы правой
кнопкой мыши и выбрав «Save», все полученные нами файлы занесутся в лог
программы.
Далее мы создаем меши, для нашего уровня, чтобы в дальнейшем
можно было использовать эти меши как объекты. Чтобы перенести объект из
панели «Content Browser», во «Viewport» на нужном объекте мы кликаем
правой кнопкой мыши и переносим наш объект в рабочее пространство.
39
«Metallic». Насколько материал используемый нами
металлический, т.е насколько он выглядит металлическим;
«Specular». Преобразование блеска неметаллических
поверхностей;
«Roughness». Насколько текстура объекта шероховатая.
40
Даем название материалу «Banana_Material», а затем дважды кликаем
левой клавишей мыши на созданном нами файле, чтобы открыть его же
редактор.
41
1. «Graph», эта панель отвечает за ноды(узлы);
2. «Details» эта панель отвечает за отображение свойств
используемого объекта или же нода. Если нод не был выбран
пользователем, то здесь отображается текущее свойство
материала;
3. «Viewport» эта панель отвечает за меши предварительного
просмотра, представленного материала, в ней же можно
поворачивать камеру, удерживая левую кнопку мыши и двигая
ее;
4. «Palette» отображает список всех доступных нодов для данного
материала.
43
Для добавления модели цвета и деталей нам необходима текстура.
Текстура — это просто двухмерное изображение. Обычно они проецируются
на трёхмерные модели, придавая им цвет и детали.
44
Для выбора текстуры необходимо сначала выделить нод
«TextureSample». Перейдите в панель «Details» и нажмите на
раскрывающийся список, расположенный справа от «Texture».
45
Чтобы увидеть текстуру на меше предварительного просмотра, нужно
подключить её к ноду «Result». Удерживайте левую клавишу мыши на белом
контакте выхода нода «TextureSample». Перетащите его на входной контакт
«Base Color» нода «Result».
46
Нажмите на «Apply» в «Toolbar», чтобы обновить материал, и закройте
редактор материалов после завершения.
47
Сделав это, мы можем закрыть редактор мешей и вернуться к
основному редактору и взглянуть на Viewport. Можно увидеть, что теперь на
нашем примере есть текстура банана.
Даже имея как пример текстуру банана, можно добавить еще немного
различных элементов для этого объекта, например вращение. В простейшем
варианте «blueprint – ы», они представляют собой «вещи». С помощью
«blueprint – ов», пользователь может свои поведения для объектов, эти же
объекты могут иметь различные свойства, как статические(запас здоровья у
игрока), так динамические(вращение объекта или же любые другие действия
заданные пользователем).
48
которого используется в «Unreal Engine», как основной язык
программирования.
49
Открывается окно с несколькими запросами. Наш класс «Blueprint»,
будет наследовать переменные, функции и компоненты, которые ему будут
предоставлены пользователем/разработчиком.
50
Для начала, выбираем в выбившемся окне редактора «Blueprint editor»,
вкладку «Event Graph», сам же редактор состоит из четырех основных
панелей:
51
«My Blueprint», этот раздел используется в основном для
управления имеющимися графами, функциями или же
переменными;
«Details», отображение свойств различных объектов классов,
функций или же переменных;
«Graph», все ноды и логика создаваемая пользователем,
находятся здесь. Перемещаться по самой панели возможно за
счет нажатия левой клавишей мыши и перемещая саму мышь. А
изменение масштаба выполняется прокрутка колесика мыши;
«Viewport», отображение всех компонентов, имеющие
визуальные элементы.
Теперь нужно сделать, чтобы сам стол начал вращаться. В этом деле
нам наконец понадобятся ноды «Blueprint».
52
«Node A» и «Node B» будут выполняться, потому что у их входных
контактов есть подключение. Node C и Node D никогда не выполняются,
потому что входной контакт Node C не имеет подключения.
53
множество решений одной проблемы или же необходимости заниматься
несколькими делами одновременно, т.е программист постоянно сталкивается
с тем, что ему приходится работать на нескольких ветках одновременно, ведь
время – это деньги, а бюджет проекта имеет традиции быстро исчерпывать
себя.
Стоит заметить, что в сам «Unity» вшит его игровой движок, иначе
говоря, с помощью самой «Unity» можно протестировать работу своей игры,
так же эта IDE поддерживает импортирования большого количества
различных форматов, что позволяет программисту, что помогает
пользователю быстро построить нужную ему модель, ну и в заключении
написание «сценариев»/скриптов осуществляется за счет одних из самых
востребованных и популярных на данный момент языках программирования
JavaScript и C#.
55
Здесь выберите компоненты, которые вам понадобятся. Для этой серии
мы хотим установить компоненты, которые вы видите на изображении. Этот
выбор включает в себя сам движок, документацию к движку, IDE;
инструменты сборки для Android и набор ресурсов, которые вы можете
добавить в свой проект позже.
Unity одинаково подходит как для 2D, так и для 3D игр. Все игры,
созданные в Unity, начинаются как проекты с экрана запуска, откройте
только что установленную копию «Unity»; появится экран, как показано
ниже:
56
Ваши существующие проекты будут отображаться в размытой области,
как на изображении выше.
57
Здесь вы можете присвоить своему проекту имя, указать
местоположение, в котором он будет сохранен, задать тип проекта и
добавить существующие ресурсы.
Как только ваш новый проект будет создан и откроется Unity, появится
следующий экран:
58
Давайте быстро рассмотрим то, что видно в этом окне. На данный
момент нас интересуют четыре основных параметра/окна:
59
Этот регион является «Inspector». Сейчас он пуст, потому что в нашей
сцене нет никаких объектов. Позже мы увидим, как он используется.
60
В Unity весь игровой процесс происходит в сценах. Сцены – это
уровни, на которых происходят все аспекты вашей игры, такие как игровые
уровни, главный экран, меню и ролики.
61
Сама сцена состоит из объектов, называемых «игровыми объектами».
«Игровыми объектами» может быть все, что угодно, от модели игрока до
графического интерфейса на экране, от кнопок и врагов до невидимых
«менеджеров», таких как источники звука.
62
Наиболее важным компонентом для любого игрового объекта является
его «компонент преобразования». Любой объект, существующий в сцене,
будет иметь преобразование, которое определяет его положение, поворот и
масштаб по отношению к игровому миру или его родительскому объекту,
если таковой имеется.
63
«Rigidbody», Придает объекту физические свойства в реальном
времени, такие как вес и гравитация и.т.д;
«Audio Source», придает объекту свойства для воспроизведения и
хранения звука. компонент, который на самом деле «слышит»
звук и выводит его на динамики плеера, по умолчанию один из
них находится в основной камере;
«Animator», Предоставляет объекту доступ к системе анимации;
«Light», заставляет объект вести себя как источник света с
множеством различных эффектов.
Готовая игра — это набор сцен, соединенных между собой (точно так
же, как и жизнь — это набор дней). Об оптимальном проектировании игры
мы сейчас и поговорим.
Помните, что хороший создатель должен учитывать то, что его игра,
либо приложение, будет использоваться на различных ЭВМ, а это означает,
что свой контент необходимо отладить так, чтобы он мог использоваться на
различных устройствах. Самый очевидный и важный момент отладки —
оптимизация приложения под различные разрешения экранов. Это важный
момент и создатель игры обязательно должен обратить на него свое
внимание, в противном случае, результатом своей работы сможет быть
доволен только он один.
65
папке, дабы не разбрасывать все модели по проекту в хаотичном порядке).
Когда вы создаете тот или иной скрипт, помните о том, что название
переменных, классов и т.п. должны говорить все сами за себя. Если вы
хотите создать скрипт для инвентаря (поднять предмет, использовать
предмет), то лучше все скрипты однообразных действий (например,
поднятия) начинать с ключевого слова, например: Catch<имя предмета>;
Use<имя предмета>, в таком случае вам будет легче ориентироваться в
проекте, да и выглядит так намного симпатичнее.
66
Это предупреждения, они просто говорят вам о возможных недочетах,
недоработках или что-то идет не так, то консоль вам об этом обязательно
сообщит.
67
облегчается и соответственно найти нужные материалы очень просто,
именно поэтому даже не имея навыков программирования с помощью этого
игрового движка можно сделать что-то простое, но в то же время интересное.
69
ЗАКЛЮЧЕНИЕ
70