Вы находитесь на странице: 1из 47

Тема: Разработка многопользовательской мобильной экономической

стратегии

Содержание
Введение.........................................................................................................5

1. Аналитический обзор...........................................................................6

1.1 Обзор платформ и операционных систем....................................6

1.2 Классификация мобильных игр....................................................8

1.3 Выбор сетевой архитектуры........................................................14

1.4 Анализ инструментальных средств разработки........................15

1.4.1 Выбор игрового движка..........................................................15

1.4.2 Выбор средства создания моделей.........................................20

1.4.3 Выбор графического редактора..............................................24

1.5 Правила игры и игровые механики............................................27

1.6 Алгоритм Fast Loaded Dice Roller...............................................27

1.7 Обзор существующих аналогов..................................................29

1.8 Выводы по главе...........................................................................29

2. Технологическая часть.......................................................................30

2.1 Создание и настройка проекта в Unreal Engine 4......................30

2.2 «Blueprints/»..................................................................................30

2.2.1 Класс Main Game Instance...........................................................30

2.2.2 Класс Camera Movement..............................................................30

2.3 «Maps/»..........................................................................................30

2.4 «Meshes/».......................................................................................30

2.5 «Textures/».....................................................................................30
2.6 «UI/»...............................................................................................30

2.7..............................................................................................................30

Заключение..................................................................................................30
Введение
Игровая сфера деятельности в настоящее время является одной из
самых быстро развивающихся среди индустрии развлечений, и в то же время
имеет дольно низкий порог вхождения для начинающих разработчиков.
Первые компьютерные игры появились еще в 70-ых годах 20 века и
изначально были доступны только на аркадных автоматах и не имели
большого разнообразия геймплея. Затем, в 90-ых основной их платформой
стали персональные компьютеры. Переход был обусловлен несколькими
факторами:

 Появление новых носителей информации, таких как CD и DVD


диски
 Развитие технологий визуализации 3D графики (ASIC,
видеокарты)
 Широкое распространение операционных систем с графическим
интерфейсом, таких как Microsoft Windows, Linux, Mac OS
 Увеличение производительности центральных процессоров CPU
 Повсеместное распространение интернета

В настоящее же время игровая индустрия занимает большую часть


рынка развлечений.

Цель проекта ВКР:

 Разработать многопользовательскую мобильную экономическую


стратегию

Задачи:

 Провести анализ предметной области.


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

1.Аналитический обзор
1.1 Обзор платформ и операционных систем
За время существования мобильных устройств было разработано
множество операционных систем. С течением времени поддержка
некоторых, уже устаревших, прекращалась. Наиболее известные из них:

 Symbian OS – разработанная компанией Nokia в 1998, поначалу была


самой популярной среди мобильных телефонов, а затем некоторое
время использовавшаяся в смартфонах. Поддержка была прекращена в
2012 году.
 Windows Phone – платформа, изначально разработанная для
смартфонов, выпущенная компанией Microsoft 11 октября 2010 года.
Использовалась в ряде устройств различных производителей (HTC,
Nokia, Samsung, Huawei). Последнее обновление было выпущено 2
марта 2015 года.

В настоящее же время мобильных платформ осталось не так много. По


данным сайта StatCounter на январь 2021 года две ОС занимают более 99%
рынка, из которых 72,03% - Android и 27,44 - iOS.
Рис. 1 Доля рынка мобильных операционных систем на январь 2021 года

Android – мобильная операционная система, разработанная и выпущенная


компанией Google 23 сентября 2008 года, использующаяся в множестве
различных устройств. В их числе смартфоны, планшеты, электронные книги,
умные телевизоры, фитнес браслеты и другие устройства. Поддержка и
развитие платформы (последнее 8 сентября 2020) происходит до сих пор.

iOS – основной конкурент Android, выпускаемая компанией Apple Inc. с


2007 года, также используется в множестве девайсов, таких как умные часы,
планшеты и смартфоны. В отличие от аналога, имеет закрытый исходный
код, чем обуславливается её большая безопасность. Еще одним
преимуществом является её использование только в технике Apple, благодаря
чему достигается лучшая оптимизация под каждое устройство.

Поскольку данные платформы занимают основную часть рынка, было


принято решение вести разработку под них.
1.2 Классификация мобильных игр
Все игры можно разделить на некоторые группы по их жанровой
принадлежности. Рассмотрим статистику самых распространённых жанров
мобильных игр.

Рис.2 Статистика популярности жанров мобильных игр

Одним из самых распространённых игровых жанров является


Головоломки (Puzzle на английском). К этому жанру относится все игры, для
прохождения, которых пользователю придётся подумать, чтобы найти
решение. Головоломки являются настолько популярными, потому что
большая часть игр, относящихся к этому жанру, являются казуальными
приложениями с низким порогом вхождения в них, главная цель которых
весело провести время. Данные игры в основном, никак не ограничиваются
возрастом. Они не требуют серьезных вложений времени, и игровые сессии
не отличаются долгой положительностью. Например, в головоломки
пользователь может играть в метро по пути, до места назначения, при
нахождении в какой-нибудь очереди и так далее.
Подобные игры из-за таких факторов охватывают очень большую
аудиторию. В основном такие игры являются бесплатными и монтируются с
помощью внутри игровых покупок или рекламы.

Примеры игр-головоломок

Сut the Rope – бесплатная мобильная игра, которая делится на


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

Candy crush – бесплатная мобильная игра, представляет собой игру три


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

TwoDots - бесплатная мобильная игра, геймплей в которой


представляет собой соединение точек разного цвета между собой.

2048 – также бесплатная мобильная игра, игровое поле которой,


представляет собой поле 4 на 4. Целью данной игры является получения
плитки со значением 2048, путем перемещения плиток по игровому полю. И
если плитки с одинаковыми значениями соприкасаются они преобразуются в
одну значение которой равно удвоенному значению составных.

После головоломок идет жанр игр Казино(Casino). Геймплей в таких


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

Монтируются такие игры путем продажи данной игровой волюты за


реальные деньги.

Следующий по популярности является жанр RPG, что


расшифровывается как ролевая игра (role play game на английском). Игры
данного жанра основаны на некой системе настольных игр. В игровом
процессе данного жанра игроку предоставляется контроль над персонажем,
который с имеет определённые параметры (например сила, ловкость,
интеллект и т.д.). Данные параметры принимают числовые значения,
которые описывают уровень данного навыка. В зависимости от уровней
характеристик игрок может использовать различные игровые предметы, а
также разблокировать новые навыки, что непосредственно влияет на
геймплей.

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


в его роль. От этого и появилось название RPG. Данные игры развлекают
пользователя интересной и захватывающей историей, в которую
пользователь погружается, отыгрывая своего персонажа.

В основном игры данного жанра имеют более высокий порог входа, и


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

Монтируются данные игры путем покупки игры или же


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

Примеры игр:

Titan Quest – является портированной версией популярной hack-and-


slash игры с настольных компьютеров.

Pascal`s Wager – ролевой экшен, основанные на томной фэнтези.

Star Wars KOTOR – как и Titan Quest является портированной версией


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

Далее идет жанр стратегий (Strategy на английском). Данный жанр


характеризуется тем, что для прохождения игр данного жанра нужно
использовать стратегическое мышление. В основном стратегии делятся на
стратегии в реальном времени (Real Time Strategy RTS на английском) или
пошаговые стратегии (Turn Based Strategy TBS Turn Based Strategy).

Игры такого жанра имеют почти сравнимый с ролевыми играми порог


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

Монетизация данных игр похожа на монетизацию ролевых, либо


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

Примеры игр:

Clash of clans – стратегическая игра, где геймплей основывается на


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

Rome: Total War: - портированная на мобильные устройства глобальная


стратегическая игра, основанная на системе стратегии в рольном времени.

Plague Inc – мультиплатформенная стратегическая игра, с элементами


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

Симуляторы занимают следующее место, после стратегий. Игры


данного жанра основаны на имитации какого-то реально существующего
процесса.

В основном такие игры захватывают пользователя интересной идей,


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

Их монетизация происходит путём продажи электронной копии игры


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

Примеры игр:

Mineacraft – мультиплатформенная симулятор-песочница, где


пользователю придётся выживать на случайно сгенерированной карте.

Stardew Valley – так же мульти платформенная игра, симулирующая


жизнь фермера.

SimCity Buidit – мобильный симулятор постройки города, является


ответвлением градостроительных игр на персональных компьютерах.

Следующим по популярности жанром является шуетр (Shooter на


английском). В играх этого жанра геймплей основан на стрельбе. Такие игры
делятся на шутеры от первого лица (first person shooter FPS на английском)
где игроку отображается вид непосредственно от лица игрового персонажа и
на шутеры от третьего лица (Third person shooter TPS), где пользователю
отображается вид из-за плеча персонажа или из-за спины.
Данный жанр не охватывает большую аудиторию, из-за неудобности в
управлении игрой на сенсорном экране. Игры данного жанра монтируются
внутри игровыми покупками и изредка продажей полноценной игры.

Примеры игр:

Call of Duty: Mobile – многопользовательский шутер от первого лица


для мобильных устройств, который является ответвлением популярной серии
игр Call of Duty.

Fortnite – многопользовательский шутер от третьего лица основный на


идее королевской битве. Данная игра является кроссплатформенной, а также
в ней предусмотрен кроссплей.

PUBG – многопользовательский шутер, также основанный на идее


battle royale, с возможностью выбора геймплея от первого или третьего лица.

N.O.V.A – Legacy – одиночный шутер от первого лица.

Спортивные игры, чем-то схожи с симуляторами, но в них в основном


симулируется спортивные матчи и соревнования. В большинстве случаев
данные игры монтируются внутриигровыми покупками.

Примеры игр:

FIFA mobile – бесплатная мобильная игра, где сессии симулируют


футбольные матчи.

NBA mobile – так же как и FIFA mobile является бесплатной мобильной


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

Наименее популярный по статистике жанр это AR – VR. Игры этого


жанра основываются на технология дополненной реальности и виртуальной
реальности.

Примеры игр:
Pokemon Go – бесплатная мобильная игра по популярной серии игр про
покемонов, которая основана на технологиях дополненной реальности.

1.3 Выбор сетевой архитектуры


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

Существует два вида реализации многопользовательских игр:

 Peer-to-peer (P2P)
 Клиент-серверная архитектура

Для реализации данного проекта была выбрана клиент-серверная


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

Плюсы клиент-серверной архитектуры.

Одним из важнейших плюсов данной архитектуры является


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

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

Благодаря клиент-серверной архитекторе при желании можно


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

1.4 Анализ инструментальных средств разработки


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

В разных движках все компоненты отличаются:

 Используются разные языки программирования


 Рендеринг объектов
 Интерфейс
 Библиотекой ассетов
 Настройкой физики объектов
 Поддерживаемые платформы
 Обучающими материалами для новичков
 Стоимость подписки

Рассмотрим наиболее популярных представителей из них.


Unity – самый популярный на сегодняшний день кроссплатформенный
игровой движок, разрабатываемый компанией Unity Tecnologies. Первая
версия была выпущена еще в 2005 году, однако поддержка и обновление
происходит до сих пор (последняя версия 13.01.2021 года). Хоть и написан
он на C++, программирование игровой логики и скриптов происходит
посредством языка C#. На данный момент имеет поддержку более чем 25
различных платформ, в том числе Windows, Android, iOS.

Среди игр, реализованных на данном игровом движке есть как инди


игры, так и полноценные AAA проекты:

 2D – Heartstone, Cuphead, Hollow Knight, Ori and the Blind Forst


 3D – Escape from Tarkov, Superhot
 AR – Pokemon Go
 VR – пример Beat Saber

Можно выделить основные положительные черты данного ПО:


 Поддержка множества различных платформ
(кроссплатформенность)
 Наличие выбора среди языков написания скриптов (C#,
JavaScript, Boo)
 Наличие большого количества обучающих материалов
 Большой выбор бесплатных ассетов
 Широкая поддержка импортируемых файлов
 Не сильно ограниченная в функционале бесплатная версия
(оборот или объем привлеченных инвестиций не превышает 100
тыс. $ за последние 12 месяцев)

Минус Unity

 Данный игровой движок после установки займет много


свободного места на жестком диске устройства.
 Разработанные на нем игры также являются довольно тяжёлыми,
и их исполняемый файл может достигать больших размеров.

Unreal Engine 4 – следующий по количеству пользователей игровой


движок, разрабатываемый и поддерживаемый компанией Epic Games. Его
главным отличием от Unity является язык программирования – C++ в
отличие от C# в Unity.

Также ключевой особенностью является альтернативный визуальный


скриптовый язык Blueprints. С помощью него появляется возможность
написать логику для игры или сцены, не углубляясь в языки
программирования C++ и C#.

К плюсам данного движка можно отнести:

 Кроссплатформенность
 Поддержка множества ассетов
 Поддержка AR, VR платформ
 Язык визуального программирования Blueprints

Минусы:

 Сложный для новичка интерфейс.

Следующим по популярности игровым движком является CryENGINE,


разработанный немецкой компанией Crytek. Так же как Unreal Engine
CryENGINE написан на языке программирования C++.

Игры разработанные на данном движке

 серия игр Crysis – представителями данной серии являются


одиночным шутером от первого лица с элементами стелса.
 Warface – многопользовательский шутер от первого лица,
 Kingdom Come: Deliverance – однопользовательская Action/RPG,
 Hunt: Showdown - многопользовательский шутер от первого лица c
элементами survival horror,
 Prey – однопользовательский шутер с элементами immersive sim.

Плюсы CryENGINE

 Кроссплатформенность
 Простое создание визуально красивого игрового окружения.
 Визуальное качество графики игр

Минусы

 Скудная документация.
 Не дружелюбен к новым пользователям

Установка 2D Легкость Интеграция и Поддержка Служба


и владение /3D использования совместимость VR поддержки

Unity 4/5 2D 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
1.4.2 Выбор средства создания моделей
Так же рассмотрим самые популярные средства создания различных
3D моделей.

Blender Zbrush Cinema 4D Maya 3d Max

Компания Open-souce Pixologic Maxon Autodesk Autodesk

Дата создания 203 1999 1990 1998 2004

Язык
программиро
Изменяемые Моделирован Поддержка вания,
Главные Дополнитель кисти, ие, захвата моделировани
функции ные аддоны, скульптурные Дружелюбны движений, е органики и
слои й интерфейс слои, объектов с
твёрдыми
гранями
Моделирован
Скульптинг и
ие, анимация, Моделирован Анимация и
Высоко Моделирован
Предназначение скульптинг, ие и визуальные
полигональное ие
визуальные анимация эффекты
моделирование
эффекты
Сложнее Сложная
Сложность Легкая Средняя Средняя
среднего

$895 или
Цена Бесплатно $700 $1,470 за год $1,479 за год
$39.95 в месяц

Начнем с такого средства создания 3D моделей как Zbrush. Zbrush – это


очевидный выбор, если нужно создать сложную высоко полигональную
модель с помощью техники создания 3D скульптур. Zbrush вполне может
справляться с моделями, количество полигонов, которых может превышать
более 200000, что делает это программное обеспечение, как говорилось
ранее, идеальным инструментом для создания высоко полигональных
моделей.

Так же в этом средстве для создания 3D моделей есть мощная и


детализированная система изменяемых кистей для скульптинга. Данная
программа поддерживает несколько уровней полигональной детализации.
Плюсы Zbrush

 Фотореалистичный рендер
 Можно создавать собственные кисти
 Возможность работать с очень большим количеством полигонов

Минусы

 Цена.
 Сложность в изучении
 Не стандартное меню

Далее рассмотрим Cinema 4d. Cinema 4d существует уже давно и


пользуется особой популярностью среди motion graphics художников. При
открытии данного приложения пользователю откроется довольно-таки
удобный для новичков интерфейс. Также Cinema 4d известен своей
стабильностью и простотой обучения.

Плюссы Cinema 4d

 Простота обучения.
 Расширяемость с помощью плагинов
 Стабильность

Минусы

 Цена

Maya довольно популярное программное обеспечения среди 3D –


художников. Данное приложение обладает непревзойдённым набором
инструментов и функций. Но из-за своего широкого набора приложений
получается очень сложным для новичка и требует большого опыта для
достижения хорошего результата.
Данное приложение хорошо справляется с моделированием,
текстурированием, освещением и рендерингом. В набор Maya входят
частицы, волосы, физику твердых тел, симуляцию ткани и жидкостей и
анимацию персонажей.

Плюсы Maya

 Обширный набор инструментов


 Мощный инструмент

Минусы

 Дорогая
 Сложна для изучения

3ds Max – это средство для создания трехмерной графики от компании


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

В набор данной программы входит симуляция волос, жидкости, меха,


риггинг и анимация персонажей. Для создания можно воспользоваться либо
полигональным моделированием или процедурным моделированием, а
большая библиотека модификаторов сильно упрощает процесс создание 3D
моделей.

Плюсы

 Легче изучать, чем Maya


 Существенный набор функций

Минусы

 Цена
Blender – самое лучшее бесплатное программное обеспечение для
создание 3D моделей. В функционал Blender входит моделирование создание
текстур, создание анимации, рендеринг, скульптинг, программирование,
создание композиций и шейдеров.

Также Blender обладает широким инструментарием для 3D-


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

Так же данное программное обеспечение славится совей


расширяемостью благодаря пользовательским дополнениям.

Плюсы Blender

 Бесплатность
 Открытый код
 Большой набор инструментов
 Возможность создать законченную модель без использования
сторонних приложений

Минусы

 Сложность в начале обучения.


1.4.3 Выбор графического редактора
Рассмотрим популярные графические редакторы.

Photoshop – это мощный редактор изображений и художественное


приложение в одной программе. Данное программное обеспечение стало
стандартом в разных сферах и создании игр не является исключением.

В современности большинство людей уже знакомы с редактированием


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

Еще одно из преимуществ Photoshop является возможность создания


фотореалистичных материалов текстур, основанных на физическом
рендеринге (PBR расшифровка аббревиатуры Physically Based Rendering на
английском). Также в данной программе можно создавать текстуры
стилистики вручную нарисованных (hand painted на английском).
Популярным примером данной стилистики выступает игра World of Warcraft
от компании Blizzard World. Так же в данном программном обеспечении
можно создавать пиксельные текстуры, которые создают ощущения ретро
стилистики.

Photoshop также можно использовать вместе с другими способами


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

Для использования программы Photoshop нужно оплачивать $20.99 в


месяц.

GIMP (GNU Image Manipulation Program) похож не некоторую копию


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

Quixel – это приложение, которое раньше работало в программе


Photoshop и которое могло быстро и легко сгенерировать текстуры, которые
основаны на физическом рендеринге. Но с некоторых пор это прекратилось и
теперь Quixel почти полностью сосредоточился на Megascans (Megascans –
это огромная библиотека отсканированных материалов, сделанных с
реальных объектов, которое можно быстро применить к созданным моделям
и настроить как этого требует проект.

Недавно Quixel объединилась с компанией Epic Games. Это позволяет


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

Subsance Suite – является набором программ, разработчиком которых


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

Substance Source и Substance Alchemist являются аналогами Megascans


и Quixel. Substance Source – это большая библиотека материалов Substance,
которые можно использовать в любых программах, входящих в набор
Subsance Suite, или полноценно накладывать на модель. Но хоть и
библиотека Algorithmic меньше чем Megascans, ее основное преимущество
заключается в возможности использования материалов в других программах,
а также простая настройка этих материалов. Substance Alchemist аналогична
программе Quixel Mixer, и также позволяет легко и эффективно смешивать
различные материалы.

Substance Painter – это мощная программа, которая предосталяет


широкий спектр возможностей для редактирования и создания текстур и
материалов, которые основаны на физическом рендеринге, которые в
реальном времени отображаются на 3D модели. Substance Painter делает это
намного эффективнее своих аналогов, а так же поставляется с большим
списком инструментов, которые делают эту программу намного мощнее.
Можно привести хороший пример этого – возможность рисовать по
поверхности модели не только цветом, а полноценным материалом, который
влияет на цвет (за это отвечает Albedo map), шероховатость (за это отвечает
Roughness map) отображения металлических деталей (за это отвечает metallic
map) и даже отображаемую высоту с помощью карт нормалей (или normal
map) одним мазком виртуальной кисти. Так же можно воспользоваться
функцией “умных материалов”, которая способна генерировать такие
особенности модели как небольшие отверстия, или щели, скопления грязи ил
царапины на определенные области модели, с помощью только материалов.

Substance Designer – это более технический подход к созданию текстур.


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

После появления пакета Substance, он изменил представление о


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

1.5 Правила игры и игровые механики


//Не заполнять

1.6 Алгоритм Fast Loaded Dice Roller


Быстрая и эффективная генерация случайных чисел долгое время была
важной задачей. На протяжении веков азартные игры полагались на бросок
кубика, подбрасывание монеты или тасование карт, чтобы внести некоторую
случайность в ход событий. Во второй половине 20 века компьютеры начали
брать на себя эту роль для приложений в криптографии, статистике и
искусственном интеллекте, а также для различных симуляций -
климатических, эпидемиологических, финансовых и т. Д.

Исследователи Массачусетского технологического института


разработали алгоритм, который, по крайней мере, для некоторых задач,
может выдавать случайные числа с наилучшим сочетанием скорости,
точности и низких требований к памяти, доступных сегодня. Алгоритм,
получивший название Fast Loaded Dice Roller (FLDR), был создан
аспирантом Массачусетского технологического института Ферасом Саадом,
научным сотрудником Камероном Фриером, профессором Мартином
Ринардом и главным научным сотрудником Викашем Мансингхкой, и он
будет представлен на следующей неделе на 23-й Международной
конференции. по искусственному интеллекту и статистике.

Проще говоря, FLDR — это компьютерная программа, которая


имитирует бросок игральных костей для получения случайных целых чисел.
У кубиков может быть любое количество сторон, и они «загружены» или
утяжелены, чтобы сделать некоторые стороны более вероятными, чем
другие. Загруженный кубик по-прежнему может давать случайные числа -
поскольку невозможно заранее предсказать, какая сторона появится, - но
случайность ограничена, чтобы соответствовать заданному распределению
вероятностей. Например, можно использовать загруженные кости для
имитации исхода бейсбольной игры; в то время как у более сильной команды
больше шансов на победу, в определенный день любая из команд может
оказаться на вершине.

В FLDR игральные кости «идеально» загружены, что означает, что они


точно достигают заданных вероятностей. Например, с помощью
четырехгранной кости можно расположить так, чтобы числа 1,2,3 и 4
выпадали ровно в 23%, 34%, 17% и 26% случаев соответственно.

Чтобы смоделировать бросок загруженных игральных костей с


большим количеством сторон, команде Массачусетского технологического
института сначала пришлось использовать более простой источник
случайности - компьютеризированную (двоичную) версию подбрасывания
монеты, дающую либо 0, либо 1, каждый с 50-процентной вероятностью.
Эффективность их метода, ключевого критерия разработки, зависит от того,
сколько раз они должны использовать этот случайный источник - количество
«подбрасываний монеты», другими словами - для имитации каждого броска
костей.

В статье 1976 года компьютерные ученые Дональд Кнут и Эндрю Яо


разработали алгоритм, который мог имитировать бросание загруженных
игральных костей с максимальной теоретически достижимой
эффективностью. Хотя их алгоритм был оптимально эффективен в
отношении времени он неэффективен с точки зрения пространства или
памяти компьютера, необходимого для хранения этой информации.
Фактически, объем требуемой памяти растет экспоненциально в зависимости
от количества сторон на кубике и других факторов. Это делает метод Кнута-
Яо непрактичным, за исключением особых случаев, несмотря на его
теоретическую важность.
FLDR был разработан для большей полезности. FLDR может
использовать до 10 000 раз меньше места в памяти, чем подход Кнута-Яо,
при этом на одну операцию уходит не более чем в 1,5 раза больше времени.

На данный момент основным конкурентом FLDR является метод Alias.


При теоретическом анализе, FLDR имеет одно явное преимущество перед
ним: он более эффективно использует случайный источник - «подбрасывание
монеты». Более того, в некоторых случаях FLDR быстрее, генерирует броски
загруженных игральных костей.

1.7 Обзор существующих аналогов


Catan Universe – игра студии USM. Многопользовательская игра, по
правилам настольной игры Settlers Of Catan. На момент разработки
дипломного проекта:

 Не поддерживает русский язык


 Очень много дополнений, что мешает новым игрокам
ориентироваться в игре
 Перегруженный кастомизацией интерфейс
 Необходимость создавать аккаунт для использования
приложения
 Различные баги, например различающиеся игровые поля у
игроков в многопользовательской игре

1.8 Выводы по главе

2. Технологическая часть
2.1 Создание и настройка проекта в Unity
Перед началом своей работы мною было принято решение
разъяснить, что из себя представляет «Unreal Engine 4».

Unreal Engine – это обширный набор инструментов для разработки


игр, имеющий огромные возможности для дальнейшей работы с этим
программным обеспечением: от создания стандартных 2D игр на мобильные
устройства, до AAA – проектов для консольных платформ.

Разработка в «Unreal Engine 4» очень проста в освоении и


последующей работы с ней. С помощью внутренней системы визуального
преобразования скриптов, так же называемой «Blueprints Visual Scripting»,
можно создавать готовые игры, не написав ни строчки кода. В сочетании с
удобным интерфейсом это позволяет быстро можно таким образом очень
быстро создавать действующие прототипы.

В этой части n – работы(название работы) мы ознакомимся с основной


экосистемой программного продукта ее возможностями и разнообразием.

Для установки «Unreal Engine 4» используется «Epic Games Launcher».


Переходим на сайт разработчика «Unreal Engine 4» и нажимаем на кнопку
«Get Unreal» в правом верхнем углу.

Перед самой установкой ПО необходимо создать учетную запись.


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

Введите свою электронную почту и пароль, которую вы ранее


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

Epic Games постоянно обновляет Unreal Engine, поэтому ваша версия


движка может слегка отличаться от представленной на «скриншотах».
По умолчанию выбраны «Starter Content, Templates and Feature Packs» и
«Engine Source». Они будут полезны по следующим причинам:

 «Starter Content»: это коллекция ассетов (ресурсов), которые можно


бесплатно использовать в собственных проектах. В том числе это
модели и материалы. Их можно использовать как временные ресурсы
или в уже готовой игре.
 «Templates and Feature Packs»: шаблоны (Templates) задают базовые
возможности выбранного жанра игры. Например, при выборе шаблона
«Side Scroller» будет создан проект с персонажем, простыми
движениями и камерой на фиксированной плоскости.
 «Engine Source»: «Unreal» — это движок с открытым исходным кодом,
то есть вносить в него изменения может кто угодно. Если вам
понадобится добавить к редактору дополнительные кнопки, то это
можно сделать, изменив исходный код.
Под списком есть список возможных платформ. Если не планируете
разрабатывать игру под конкретную платформу, то можете спокойно снять
все флажки.

Подобрав нужные компоненты продолжаем установку. После же ее


завершения движок появится в библиотеке. Теперь для начала работы с
игровым движком создадим проект для дальнейшей работы с ним.
Далее нажимаем на одну из кнопок «Launch», чтобы открыть «браузер
проектов»(Project Browser), после успешного запуска переходим на вкладку
создания проекта «New Project»,

нажимаем в появившемся поле на метод разработки под названием


«Blueprint», т.к это небольшая вводная часть перед главным проектом
создадим шаблон «Blank»

Ниже же будут перечислены нужные параметры для сборки проекта.

Вот, за что отвечает каждая опция:

 «Target Hardware»: при выборе «Mobile/Tablet» будут


отключены некоторые эффекты постобработки. Так же можно
будет использовать мышь для сенсорного ввода. Для примера
мною выбрано «Android/Console»;
 «Graphical Target»: при выборе «Scalable 2D or 2D» будут
отключены некоторые параметры постобработки. Выбираем
здесь «Maximum Quality»;
 «Starter Content»: можно выключить эту опцию, чтобы добавить
базовый контент(Starter Content), для дальнейшей работы с
проектом в этом параметре выберем «No Starter Content»

Кроме всего прочего, здесь есть раздел для выбора местоположения


каталога или же папки для хранения проекта в этом же окне можно задать
имя файлу и т.д.

Сменить папку хранения проекта можно, нажав на многоточие в конце


поля «Folder».

Имя самого проекта, не отвечает за название самой игры, для этого в


этом «IDE» есть другая вкладка, поэтому при полной адаптации проекта
можно будет его назвать как угодно в строке/поле Name.

После создания проекта, перед нашими глазами открывается окно


редактора проекта, где мы можем полностью контролировать каждое наше
действие и взаимодействовать с полем как пользователь посчитает нужным,
чтобы довести проект до конца. Сам редактор разделен на несколько отделов
и панелей нужные для дальнейшей разработки:
1. «Content Browser» в этой панели программой отображаются все
файлы проекта. Ее так же используют для создания
папок/каталогов, и упорядочивания файлов. В этой же вкладке
можно выполнять поиск по файлам с помощью поисковой строки
или же фильтров;
2. «Modes» в этой панели пользователь может переключаться
между имеющимися у него «под рукой» инструментами,
например «Landscape Tool» и «Foliage tool». Изначально
пользователь имеет инструмент «Place Tool», он в свою очередь
позволяет располагать на локации различные объекты, например
источники освещения или же камеры;
3. «World Outliner» отображение объектов на текущем
поле/локации;
4. «Detail» параметр отвечающий за отображение свойств объекта,
эта панель предназначена для работы или изменения параметров
объекта;
5. «Tool Bar» в себе он содержит множество различных функций, но
зачастую его чаще используют для воспроизведения прототипов
игры;
6. «Viewport», это обзор самого уровня, т.е нажав на правую кнопку
мыши мы можем осмотреть наше место действия, которое мы
преобразовываем;
Чтобы Unreal мог использовать файлы, их нужно импортировать.
Переходим в Content Browser
Находим папку в которой хранятся наши готовые ассеты и можем
использовать все эти файлы

Программа предложит несколько вариантов импорта наших файлов.


Снимаем флажок с «Import Materials», т.к в дальнейшем для игры будут
создаваться материалы без привязки каким либо авторам, это нужно для того,
что бы не было нарушения авторских прав пользователя.

Нажимаем на кнопку «import», множество файлов появятся в «Content


Browser»
при импорте файла на самом деле он не сохраняется в проекте, если
только не указать это естественным образом, нажав на наши файлы правой
кнопкой мыши и выбрав «Save», все полученные нами файлы занесутся в лог
программы.
Далее мы создаем меши, для нашего уровня, чтобы в дальнейшем
можно было использовать эти меши как объекты. Чтобы перенести объект из
панели «Content Browser», во «Viewport» на нужном объекте мы кликаем
правой кнопкой мыши и переносим наш объект в рабочее пространство.

Эти же объекты можно перемещать, поворачивать или


масштабировать. Для всех этих действий существуют и клавиши, которыми
можно пользоваться W, E и R. После нажатия каждой из этих кнопок на
клавиатуре появляется манипулятор для объекта.
Для того чтобы объяснить как работают материал вы этой программе,
мною был создан один из объектов, в котором хранятся следующие базовые
параметры:
 «Base Color». Цвет или же текстура модели. Используется для
добавления детализации объекта или же градиента цвета;
 «Metallic». Насколько материал используемый нами
металлический, т.е насколько он выглядит металлическим;
 «Specular». Преобразование блеска неметаллических
поверхностей;
 «Roughness». Насколько текстура объекта шероховатая.

Ниже представлен пример трех различных материалов. Они имеют


одинаковые цвет, но разные атрибуты. Каждый материал имеет высокое
значение соответствующего атрибута. Значение же остальных атрибутов
является 0:

Например, для создания материала нам нужно перейти снова на


вкладку «Content Browser» и нажать на зеленую кнопку «Add New».
Появляется окно со списком ассетов, которые мы можем собственно ручно
создать. Для работы с материалами нажимаем «Material».
Даем название материалу «Banana_Material», а затем дважды кликаем
левой клавишей мыши на созданном нами файле, чтобы открыть его же
редактор.

Перед нами встает панель редактора материалов и он состоит из пяти


основных панелей:
1. «Graph», эта панель отвечает за ноды(узлы);
2. «Details» эта панель отвечает за отображение свойств
используемого объекта или же нода. Если нод не был выбран
пользователем, то здесь отображается текущее свойство
материала;
3. «Viewport» эта панель отвечает за меши предварительного
просмотра, представленного материала, в ней же можно
поворачивать камеру, удерживая левую кнопку мыши и двигая
ее;
4. «Palette» отображает список всех доступных нодов для данного
материала.

Прежде чем приступать к созданию материала, нам нужно более


подробно узнать о том, какие объекты используются при его создании: ноды.

Ноды составляют огромную часть большинства материалов


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

У нодов есть входы и выходы, представленные кругом со стрелкой.


Входы расположены слева, а выходы справа.
Вот пример использования нодов «Multiply» и «Constant3Vector»,
добавляющих текстуре желтого цвета:

У всех материалов есть особый нод, так же называемый нодом


«Result», который в нашем случаем уже создан как «Banana_Material». Таким
образом мы можем определить, имеет ли конец ноды или же нет, если все
таки нет, то скорее всего тот в свою очередь был поврежден или же не
доделан. То, что подключено к этому ноду, определяет внешний вид
конечного материала:
Для добавления модели цвета и деталей нам необходима текстура.
Текстура — это просто двухмерное изображение. Обычно они проецируются
на трёхмерные модели, придавая им цвет и детали.

Для текстурирования банана мы используем «Banana_Texture.jpg».


Применить в материале текстуру позволяет нод «TextureSample».
Перейдите к панели «Palette» и найдите «TextureSample». Добавьте нод,
удерживая левую клавишу мыши и перетащив его на схему:
Для выбора текстуры необходимо сначала выделить нод
«TextureSample». Перейдите в панель «Details» и нажмите на
раскрывающийся список, расположенный справа от «Texture».

Откроется меню, в котором перечислены все текстуры проекта.


Выберите «Banana_Texture»
Чтобы увидеть текстуру на меше предварительного просмотра, нужно
подключить её к ноду «Result». Удерживайте левую клавишу мыши на белом
контакте выхода нода «TextureSample». Перетащите его на входной контакт
«Base Color» нода «Result».

Вернитесь во «Viewport», чтобы увидеть текстуру на меше


предварительного просмотра. Можно поворачивать его (удерживая левую
клавишу мыши и перемещая мышь), чтобы рассмотреть другие детали.
Нажмите на «Apply» в «Toolbar», чтобы обновить материал, и закройте
редактор материалов после завершения.

Чтобы применить созданный нами материал к нашему примеру, мы


должны вернуться к Content Browser и дважды нажать на «Banana_Model»,
чтобы открыть его. Появится следующее окно редактора:

Переходим в новую панель «Details» и мы можем там обнаружить


раздел «Materials». Кликаем на раскрывающееся меню, расположенное
справа от Element 0, и выбираем наш уже существующий объект
«Banana_Material»
Сделав это, мы можем закрыть редактор мешей и вернуться к
основному редактору и взглянуть на Viewport. Можно увидеть, что теперь на
нашем примере есть текстура банана.

ЗАКЛЮЧЕНИЕ

По итогу данной дипломной работы, над android – приложением, было


реализовано приложение на мобильное устройство под платформу Android,
мультиплеерная пошаговая стратегия с борьбой за экономику и ресурсы.

В работе был разработан простой и удобный в пользовании интерфейс,


вкладки меню при первом и последующих запусках самой игры, для сетевых
схваток между игроками был сделан сервер засчет скриптов
предоставляемых «Unreal Engine 4», чтобы пользователи могли в свободные
минуты провести это время вместе, если в этом будет необходимость, если
же ты хочешь поиграть в одиночку, то внутриигровой бот не заставит
скучать.
Таким образом, все поставленные задачи были выполнены,
следовательно основная цель данного дипломного проекта была достигнута.

Вам также может понравиться