Реализация механики стратегии в реальном времени
2.1. Технические требования к разрабатываемому ПО
К базовой механике стратегии в реальном времени относят следующие возможности в виртуальном мире:
- Постройка здания;
- Создание юнита;
- Передвижение юнита;
- Уничтожение юнита.
Также необходим пользовательский интерфейс, чтобы игрок мог ориентироваться в игре. Следующие окна должны присутствовать:
- Окно ресурсов;
- Карта;
- Обрамление игровых объектов;
- Окно юнита;
- Окно построек;
Средства разработки ПО
Игровой движок - это программное средство, которое объединяет компоненты, нужные для разработки различных частей игры. Оно используется как для создания игр для персональных компьютеров и игровых приставок, так и для мобильных устройств. Базовый функционал включает в себя обработку цифрового изображения по заранее разработанной модели для объектов в двух- и трехмерном пространстве, движок симуляции физических процессов, обработку звука, обработку кода, анимацию, частично искусственный интеллект, поддержку вычислительных сетей и так далее. Процесс разработки игры часто становится более экономичным, если движок адаптируется или повторно используется для создания другого проекта или переноса ее на другую платформу.
Основные компоненты средства разработки
Каждый игровой движок имеет под собой сложную структуру, поэтому в нем содержится множество различных утилит программной разработки.
Управление памятью. Каждый игровой движок реализует свою собственную систему распределения памяти и ограничивает отрицательные эффекты ее фрагментации.
Библиотеки математики. Игры сами по себе строятся на обширном математическом аппарате, так что игровой движок имеет множество библиотек, которые созданы для обеспечения разработчика всем необходимым для решения таких задач. Они предоставляют возможности вычисления векторной и матричной математики, тригонометрии, геометрических операций с линиями, сферами, численным интегрированием, решением уравнений и других разделов, которые могут понадобиться во время разработки.
Структуры данных и алгоритмы. Движок имеет средства управления фундаментальными структурами данных, таких как связанные списки, динамические множества, двоичные деревья и так далее, и алгоритмов, таких как поиск, сортировка и так далее.
Менеджер ресурсов. Данный сегмент предоставляет из себя интерфейс для управления данными, которыми оперирует разработчик во время создания игры.
Движок рендеринга
Рендеринг - это термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы. В данном случае под моделью имеется в виду описание, которое может содержать геометрические данные, положение точки наблюдателя, информацию об освещении и прочее. Часть, отвечающая за обработку графики - одна из самых больших и сложных компонентов любого движка.
Низкоуровневый рендер. Данный уровень направлен на обработку различных коллекций геометрических примитивов максимально быстро. Данный процесс не учитывает то, какие части сцены будут видимы игроку.
На данном уровне входят такие компоненты как:
Материалы. Они определяют то, как как должна отображаться поверхность. В них содержится информация об используемых текстурах, цветовых оттенках и многом другом. Доступные параметры для определенного материала зависят от использующихся шейдеров.
Шейдеры. Это вычисляющийся алгоритм, который содержит математические вычисления для цвета каждого пикселя, который зависит от освещения и выбранного материала.
Текстуры. Они являются растровыми изображениями. Материал может содержать информацию о текстуре, чтобы шейдер мог ее использовать при вычислении цвета поверхности. В дополнение к основному цвету текстура может представлять и другие аспекты, такие как отражательная способность или неровность.
Высокоуровневый рендеринг. На данном уровне вычисляются объекты, которые тяжело обрабатывать.
Внешний интерфейс
Большинство игр используют двухмерную графику, которая наложена трехмерную сцену. Самые часто встречающиеся компоненты:
HUD (Head-Up). Это часть визуального интерфейса игрока, отображающаяся на фоне виртуального игрового пространства в процессе игры от первого лица.
Графический интерфейс пользователя. Это разновидность пользовательского интерфейса, в котором различные элементы, такие как меню, кнопки, значки, списки и так далее, представленные пользователю на экране, исполнены в виде графических изображений.
Интерфейс меню. Это список возможностей, которые представлены пользователю в виде изображений или текста вне игрового процесса.
Физический движок и движок столкновений
Они не являются тождественными вещами, хотя физический движок очень сильно полагается на правильное вычисление столкновений. Движок столкновений состоит из двух частей: обнаружение столкновений и реакция на них. Последняя обычно является частью физического движка. Именно поэтому о них обычно говорят в паре.
Обнаружение столкновений проявляется в двух видах: дискретном и непрерывном. Второй обычно требует много ресурсов, поэтому обрабатывается только, когда он очень нужен. Большинство столкновений обрабатывается дискретно. То есть объекты сталкиваются, и движок сразу разводит их обратно.
Физический же движок берет два столкнувшихся объекта и вычисляет для них новые позиции, необходимые для разделения этих объектов. Также он рассчитает изменение скорости и значение трения. Физической движок применит внешние силы, такие как гравитация.
В Unity встроена разработка на базе стороннего продукта NVidia PhysX. Это промежуточное связующее программное обеспечение, кроссплатформенный физический движок для симуляции ряда физических явлений, а также комплект средств разработки на его основе.
Важные компоненты
Rigid body. Жесткое тело. Это идеализированная модель объекта, которая имеет определенную и неизменную форму и размер. Этот компонент позволяет контролировать позицию объекта через физическую симуляцию. При добавлении жесткого тела сразу же начинают действовать физические силы, например, гравитация.
Collider. Компонент определяет форму объекта для обработки физических столкновений.
Constraints. Компонент контролирует степень свободы, которая дозволена симуляции компонента Rigidbody.
Blender
Это бесплатный и открытый набор для создания трехмерных моделей. Также он поддерживает создание анимации, физическую симуляцию, обработку моделей, захват движений, постобработку видео и создание простых приложений. Blender хорошо подходит для небольших студий, которым удобно использовать широкий спектр его функций, а также осуществление быстрой поддержки со стороны разработчика. Это кросс – платформенный набор средств, и он может быть запущен на Linux, Windows, OSX. Интерфейс использует OpenGL.
Текстовый редактор - это самостоятельная компьютерная программа или компонент программного комплекса (например, редактор исходного кода интегрированной среды разработки или окно ввода в браузере), предназначенная для создания и изменения текстовых данных в общем, и текстовых файлов в частности.
MonoDevelop
Это интегрированная среда разработки, встроенная в Unity Engine. Она вмещает в себя все базовые функции текстового редактора с дополнительными возможностями для совместных проектных задач.
2.3. Минимальные требования к программному обеспечению
- Процессор: 1.2 Гигагерц;
- Оперативная память: 512 Мегабайт;
- Видеокарта: 256 Мегабайт;