Дипломная (вкр): Создание механики стратегии в реальном времени

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Сервис Xbox Live используется для сетевой игры и использования приложений. Облачная часть позволяет хранить музыку, фильмы, игры и сохраненные достижения. Пользователи могут иметь до 1000 друзей, а с недавнего времени введена поддержка групп по интересам, а функция Looking for group помогает пользователям легче искать других игроков для игры по сети. Сервис Upload Studio позволяет загружать и обрабатывать последние пять минут игрового процесса. В нем есть функция настройки загрузки видео в интернет после определенного события, например, получения достижения. Xbox One поддерживает потоковое вещание на платформы Mixer и Twitch. Приложение SmartGlass предоставляет устройствам на iOS, Android и Windows Phone доступ к некоторым возможностям консоли, таким как включение и выключение, удаленный доступ, покупка контента, а также взаимодействие внутри некоторых игр. С помощью приложения Xbox может вещать игры на мобильные устройства и персональные компьютеры под управлением Windows 10.Switch

Это седьмая консоль от компании Nintendo. Она вышла чуть позже своих текущих конкурентов, Sony Playstation 4 и Xbox One, но все равно относится к восьмому поколению. В отличие от них, Switch является гибридной системой. Она может использоваться и дома с помощью подключения к станции, которая будет транслировать игру на телевизор, но может и на улице с помощью переносного планшета. Консоль имеет отсоединяющиеся котроллеры, которые можно использовать с планшетом в дорогt, а можно соединять друг с другом и играть с ними дома.

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

Но без компромиссов это было бы невозможно. Домашняя станция не предоставляет дополнительных графических возможностей, чтобы разработчикам не надо было создавать две версии игры, и чтобы портативнаяверсия не была урезана по сравнению с домашней. Поэтому графическая составляющая может быть хуже, чем у основных конкурентов, но в эпоху смартфонов мобильность является большим плюсом.Switch предоставляет сетевые функции. Они включают в себя игру по сети, приобретение и загрузку через магазин eShop, возможность объединяться в группы и голосовой чат. Вместе с другими производителями Nintendo требует обязательной подписки, чтобы пользоваться сетевой игрой и голосовым чатом, хотя предыдущая игровая система NintendoWiiU этого не требовала. Компания планирует в будущем дальше перенимать практику своих конкурентов, которые раздают бесплатно игры всем подписчикам, и давать бесплатный доступ к классическим играм с их прошлых консолей.

1.3 Обзор средств разработки видеоигр


UnrealEngine 4

UnrealEngine это средство разработки видеоигр от EpicGames, первая версия которого была использована еще в 1998 году с выходом игры Unreal. Изначально средство разработки было сделано только для экшенов от первого лица, но в последствие успешно использовалось и при создании игрв жанресетевых ролевых игр и гонок.

Unrealиспользует язык программирования C++ как основной. Также система содержит в себе язык визуального программирования Blueprint. Он позволяет быстро создавать прототипы, уровни и игровые механики без кода. Это дает возможность проверять идеи и тестировать различные концепты, не потратив при этом много времени на написание кода.

Данный движок предназначен для создания игр для текущего поколения консолей, то есть на более старыеPlaystation 3 и Xbox 360 игру не перенести, персональные компьютеры и мобильные телефоны на базе iOS и Android. Для создания игры на консоли требуется уже история созданных игр для того, поэтому компьютеры - более частый выбор пользователей Unreal.

Одна из главных особенностей в новой версии движка - поддержка веб возможностей. На данный момент Mozillaподдерживает не только двухмерную графику, но и трехмерную с достаточно большим количеством объектов на экране. Четвертая версия Unrealстала бесплатной, вместо 19$ в месяц как в прошлую версию, но теперь требуется отдавать 5% с общих сборов игры, если она собрала более 3000$ за один квартал.

Source

Это движок для разработки трехмерных игр от компании ValveCorporation. Он дебютировал в игре CounterStrikeSource.

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

Движок содержит также упрощенный комплект средств разработки, в котором есть множество инструментов, что помогали Valveсоздавать разные части их игры. Внеместьтрикомпонента: Hammer Editor, Model Viewer иFace Poser. HammerEditor - это редактор игровых уровней. ModelViewer - это компонент, который помогает работать с трехмерными моделями. Разработчики также могут создавать анимацию, смотреть связные точки модели и так далее. FacePoserпомогает создавать лицевую анимацию, синхронизировать губы модели с речью, а также занимается жестами рук.

CryEngine

Данный движок создан немецкой компанией Crytek и был впервые применен в игреFarCry. С помощью него разрабатываются игры для персональных компьютеров и консолей нового поколения.

Графические возможности CryEngineявляются одними из самых лучших на сегодняшний день, с ним в данном аспекте может сравниться только UnrealEngine. Движок содержит реалистичную физику и современное освещение. Но так как он довольно мощный, то осваивать его тяжелее, и если у разработчика есть мало опыта, то может быть не рационально его использовать. Движок стоит 9.90$ в месяц, но есть и бесплатная версия, но она может быть использована только для бесплатных проектов или обучающих программ.

GameMaker

Это система для создания игр, созданная Марком Овермаром на языке программирования Delphi.Она поддерживает разработку кроссплатформенных игр разного жанра с помощью метода «DragandDrop», то есть перетаскивания и расставления уже готовых элементов системы, и языка разработки GameMakerLanguage. Изначально движок задумывался как инструмент для создания прототипов.GameMakerпозволяет пользователям создавать видеоигры без изучения языков программирования вроде Javaили C++.

UnityEngine

Это инструмент, позволяющий создавать двух- и трехмерные игры и приложения. Средство поддерживает языки C# и JavaScript. Расчеты физики производятся на базе PhysX от компании NVidia.

Unityподдерживает большой список платформ. В него входят как большие домашние консоли, так и мобильные платформы, например, Androidи iOS. Также средство интегрировано в большинство современных браузеров, что позволяет создавать проекты под них. Одна из главных особенностей движка - удобный перенос проект с одной платформы на другую.

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

Unityимеет большое сообщество разработчиков и магазин, где продаются различные части игр, вроде отдельных модулей, звуков или трехмерных моделей.Движок является бесплатным до тех пор, пока доходы разработчика не будут превышать 10 000 долларов в год. Если цифры будут больше, то компания потребует 75 долларов в месяц.

1.4 Выводы


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

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

2. Реализация механики стратегии в реальном времени

2.1 Технические требования к разрабатываемому ПО


К базовой механике стратегии в реальном времени относят следующие возможности в виртуальном мире:

  Постройка здания;

-        Создание юнита;

-        Передвижение юнита;

-        Уничтожение юнита.

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

- Окно ресурсов;

-        Обрамление игровых объектов;

-        Окно юнита;

-        Окно построек;

2.2 Средства разработки ПО


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

Основные компоненты средства разработки

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

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

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

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

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

Движок рендеринга

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

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

На данном уровне входят такие компоненты как:

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

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

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

Высокоуровневый рендеринг. На данном уровне вычисляются объекты, которые тяжело обрабатывать.

Внешний интерфейс

Большинство игр используют двухмерную графику, которая наложена трехмерную сцену. Самые часто встречающиеся компоненты:(Head-Up). Это часть визуального интерфейса игрока, отображающаяся на фоне виртуального игрового пространства в процессе игры от первого лица.

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

Интерфейс меню. Это список возможностей, которые представлены пользователю в виде изображений или текста вне игрового процесса.

Физический движок и движок столкновений

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

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

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

В Unity встроена разработка на базе стороннего продукта NVidia PhysX. Это промежуточное связующее программное обеспечение, кроссплатформенный физический движок для симуляции ряда физических явлений, а также комплект средств разработки на его основе.

Важные компонентыbody. Жесткое тело. Это идеализированная модель объекта, которая имеет определенную и неизменную форму и размер. Этот компонент позволяет контролировать позицию объекта через физическую симуляцию. При добавлении жесткого тела сразу же начинают действовать физические силы, например, гравитация.. Компонент определяет форму объекта для обработки физических столкновений.. Компонент контролирует степень свободы, которая дозволена симуляции компонента Rigidbody.

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

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

Это интегрированная среда разработки, встроенная в Unity Engine. Она вмещает в себя все базовые функции текстового редактора с дополнительными возможностями для совместных проектных задач.

Источник: https://www.bibliofond.ru/detail.aspx?id=897255