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

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

Также применяется дополнительный вычислительный чип, который отвечает за загрузку приложений, обновлений и онлайн-сервисы. С помощью него эти задачи могут обрабатываться в фоновом режиме при игре или в «спящем» состоянии. Консоль поддерживает HDR, то есть цвета высокой четкости и яркости. Playstation 4 имеет Blu-Ray дисковод.

Сетевая составляющая предоставляет доступ пользователям к приложениям Playstation Network, которые включают в себя Playstation Store, то есть магазин для игр, Playstation Plus, это подписка для возможности сетевой игры и бесплатных игр, и Playstation Music. Функция Share Play позволяет пользователям приглашать их друзей поиграть с помощью потокового вещания, то есть даже если у них нет копии игры, они могут поиграть в нее. Они могут перехватить управление у основного игрока или присоединиться, если в игру встроен сетевой элемент.One

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

В центре ее архитектуры лежит микропроцессор Jaguar от AMD с двумя четырехъядерными модулями с тактовой частотой 1.75 Гигагерц. В ней содержится восемь гигабайт оперативной памяти DDR3. Три из них уходят на обработку операционной системы, оставшиеся пять - на сами игры.имеет две операционные системы. Одна для игр, другая - для пользовательского интерфейса и других приложений. Последние запускаются под управлением урезанной версии Windows. При запуске консоли то была Windows 8, но затем ее обновили до 10. Такая архитектура позволяет ресурсам быть использованными специально под разные цели, гарантируя, что игры будут всегда в приоритете. Консоль поддерживает приложения из сервиса Universal Windows Platform, который связывает все текущие системы Microsoft: Xbox, Windows 10 и Windows 10 Mobile для смартфонов.

Сервис 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 требует обязательной подписки, чтобы пользоваться сетевой игрой и голосовым чатом, хотя предыдущая игровая система Nintendo Wii U этого не требовала. Компания планирует в будущем дальше перенимать практику своих конкурентов, которые раздают бесплатно игры всем подписчикам, и давать бесплатный доступ к классическим играм с их прошлых консолей.

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


Unreal Engine 4

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

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

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

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

Source

Это движок для разработки трехмерных игр от компании Valve Corporation. Он дебютировал в игре Counter Strike Source.

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

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

CryEngine

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

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

Game Maker

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

Unity Engine

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

-        Карта;

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

-        Окно юнита;

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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