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

Анализ особенностей жанров и технологий видеоигр. Обзор средств разработки видеоигр. Требования к разрабатываемому программному обеспечению. Разработка архитектуры программы и пользовательского интерфейса. Бизнес-модель внедрения видеоигры на рынок.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 25.06.2017
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

Строительствобазы

При строительстве базы за курсором мыши следует полупрозрачный силуэт здания, чтобы игроку было легче определиться с местом, куда он его может поставить. Здание нельзя сделать на неровных поверхностях или на воде. Все 3D модели являются собранием вершин (Vertices). Такая вершина - пересечение трех и более углов модели. Они считываются при помощи метода класса Mesh.

publicboolIsGameObjectSafeToPlace(GameObjectgo) {

var verts = go.GetComponent<MeshFilter> ().mesh.vertices;

var obstacles = GameObject.FindObjectsOfType<NavMeshObstacle> ();

var cols = new List<Collider> ();

foreach (var o in obstacles) {

cols.Add (o.gameObject.GetComponent<Collider> ()); }

Проверяется каждая вершина. Так как они относятся к пространству объекта, то есть к модели объекта «база», с помощью метода TransfromPoint необходимо узнать их позицию в мире игры. Затем проверяются X и Z координаты и столкновение с физической оболочкой объекта.

foreach (var v in verts) {

NavMeshHit hit;

var vReal = go.transform.TransformPoint (v);

bool onXAxis = Mathf.Abs (hit.position.x - vReal.x) < 0.5f;

bool onZAxis = Mathf.Abs (hit.position.z - vReal.z) < 0.5f;

bool hitCollider = cols.Any (c => c.bounds.Contains (vReal));

if (!onXAxis || !onZAxis || hitCollider) {

return false; } }

Модель базы должна следовать за курсором мыши. Здесь используется функция ScreenPointToMapPosition, которая отслеживает его движение. Затем место передается в позицию объекта.

vartempTarget = RtsManager.Current.ScreenPointToMapPosition (Input.mousePosition);

transform.position = tempTarget.Value;

ОтменитьдействиеигрокможетспомощьюкнопкиEscape. Если он ее нажимает, то объект удаляется.

if (Input.GetKeyDown (KeyCode.Escape)) GameObject.Destroy (active);

Игра должна визуально показывать, возможно ли строить здание или нет. Для этого используется структура Color, и задаются два цвета: красный и зеленый.

Color Red = new Color (1, 0, 0, 0.5f);

ColorGreen = newColor (0, 1, 0, 0.5f);

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

if (Vector3.Distance (transform.position, Source.position) > MaxBuildDistance) {

rend.material.color = Red;

return; }

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

Создание здания.

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

if (RtsManager.Current.IsGameObjectSafeToPlace (gameObject)) {

rend.material.color = Green;

if (Input.GetMouseButtonDown (0)) {

var go = GameObject.Instantiate (BuildingPrefab);

go.transform.position = transform.position;

Info.Credits -= Cost;

go.AddComponent<Player> ().Info = Info;

Destroy (this.gameObject);

}

} else { rend.material.color = Red; }

Имитация поведения противника

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

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

Рассматривается два аспекта каждого действия: как оно оценивается и как оно исполняется.

Действия:

- Создание базы;

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

- Имитация боя;

- Создание базы;

- Оценка.

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

if (support == null)

support = AiSupport.GetSupport (gameObject);

if (support.Player.Credits < Cost || support.Drones.Count == 0)

return 0;

if (support.CommandBases.Count * UnitsPerBase <= support.Drones.Count)

return 1;

return 0;

Исполнение

Каждый юнит проверяется на возможность выполнения действия. Ему дается три попытки, чтобы это сделать. Количество попыток выражено в переменной TriesPerDrone. Затем используется метод insideUnitSphere. Он возвращает случайную точку в сфере с радиусом 1. Так как такое расстояние достаточно маленькое, радиус должен быть умножен на число, которое будет более подходящим для возможности строительства. Для позиции здания задается Y величина с помощью метода SampleHeight. Она возвращает высоту карты. И у игрока отнимаются ресурсы за постройку базы.

foreach (var drone in support.Drones)

{

for (int i = 0; i < TriesPerDrone; i++)

{

var pos = drone.transform.position;

pos += Random.insideUnitSphere * RangeFromDrone;

pos.y = Terrain.activeTerrain.SampleHeight (pos);

go.transform.position = pos;

if (RtsManager.Current.IsGameObjectSafeToPlace (go)) {

support.Player.Credits -= Cost;

return; } } }

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

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

if (bases == 0) return 0;

if (drones >= bases * DronesPerBase) return 0;

return 1;

Имитация боя

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

if (TimePassed < TimeDelay) return 0;

if (ai.Drones.Count < DronesRequired) return 0;

return 1;

Посылается отряд в определенном количестве юнитов. Оно выражено переменной SquadSize.

foreach (var p in RtsManager.Current.Players)

{ if (p.IsAi)

continue;

for (int i = 0; i < SquadSize; i++)

{ var drone = ai.Drones [i];

SendToTarget (p.Location.position); }

return; }

Осуществляется механизм поиска цели. Проверяется, есть ли она в игровом мире. Затем рассчитывается расстояние до каждого юнита противника. Если оно меньше, чем максимальная возможность юнита атаковать, то эту цель возможно достичь. Дистанция выражена в переменной AttackRange. При атаке передается компонент ShowUnitInfo, в котором содержится количество очков «здоровья» отдельно взятого юнита.

if (target != null) return;

foreach (var p in RtsManager.Current.Players)

{ if (p == player) continue;

foreach (var unit in p.ActiveUnits) {

if (Vector3.Distance (unit.transform.position, transform.position) < AttackRange) { target = unit.GetComponent<ShowUnitInfo>(); return; } } }

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

if (target == null)

if (Vector3.Distance(target.transform.position, transform.position) > AttackRange) { target = null; return; }

target.CurrentHealth -= AttackDamage;

GameObject.Instantiate (ImpactVisual, target.transform.position, Quaternion.identity);

Ресурсы

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

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

В начале необходимо выбрать место, где объект может быть поставлен. Координаты будут содержаться в переменных Xpos и Zpos, где есть координаты X и Z соответственно. Высота объекта остается неизменной, чтобы объект всегда появлялся в том месте, где его могу бы собрать игрок. Затем с помощью двух функций, описанных раннее, проверяется, возможно ли поставить на данных координатах объект, потому что если он занят чем-то другим, то ресурс там собрать невозможно. В конце функция Instantiate воспроизведет объект.

while (check == false) {

Xpos = Random.Range(RightCorner, LeftCorner);

Zpos = Random.Range (UpCorner, DownCorner);

Vector2 pos = new Vector2 (Xpos, Zpos);

var tempTarget = RtsManager.Current.ScreenPointToMapPosition (pos);

if (tempTarget.HasValue) {

if (RtsManager.Current.IsGameObjectSafeToPlace (resource)) { check = true; } } }

Instantiate (resource, new Vector3 (Xpos, 9.7f, Zpos), transform.rotation);

Сбор ресурсов

Он осуществляется с помощью компонента Rigidbody. Это главный компонент, который позволяет физическое взаимодействие для игрового объекта. С подключенным Rigidbody на него сразу начнет действовать гравитация. Если есть компонент Collider, то объект также может перемещаться в следствии физических столкновений.

Rigidbody не может изменять положение с помощью переписывания позиции, то есть функции Transform, вместо этого стоит прилагать к объекту физические силы, которые будут «толкать» его и физический движок будет все это рассчитывать.

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

Для того, чтобы юнит смог собрать ресурс, используется компонент класса Collider - Trigger. Триггер - это процедура, которая инициирует какое-либо действие, предусмотренное разработчиком. Используя функцию OnTriggerEnter, объект должен лишь коснуться своим компонентом Collider другого объекта, чтобы действие было инициировано. При этом один из них должен обладать свойством Trigger. В данном случае добавляется определенное количество ресурсов к уже имеющимся у игрока, а затем уничтожается объект, чтобы не занимать лишнее место на карте, так как он больше не требуется.

void OnTriggerEnter(Collider collider){

if (collider.gameObject.tag == "Resource") {

player.Credits += 20;

Destroy (collider.gameObject);

}

2.6 Тестирование

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

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

Рисунок 10 - Проверка видимости действий противника

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

Рисунок 11 - Проверка видимости противника (2)

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

Рисунок 12 - Проверка нажатия на юнита

Рисунок 13 - Проверка нажатия на юнита (2)

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

Рисунок 14 - Проверка сбора ресурсов

Рисунок 15 - Проверка сбора ресурсов (2)

2.7 Выводы

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

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

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

3. Бизнес-модель

3.1 Обзор рынка видеоигр

Прибыль от сферы видеоигр в США в 2015 году составляла 23,5 миллиарда долларов, в Китае 22,2 миллиарда, в Великобритании 4,2 миллиарда. Доход от всех стран Европы равнялся 20,5 миллиардам. Сумма прибыли во всем остальном мире была примерно 20 миллиардов. Рынок видеоигр рос с конца 90-х годов, и так как они становятся доступнее все большему количеству людей, предсказывается, что рост будет продолжаться.

Рисунок 16 - Размер рынка видеоигр

3.2 Цифровые платформы

Понятие цифровая «платформа» включает цифровой сервис, где продаются электронные копии игр.

Steam

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

Steamпредоставляет пользователям возможности установки и автоматического обновления игр, социальные функции, такие как листы друзей, группы, внутриигровой чат и так далее. Отдельная программа предоставляет прикладной интерфейс, с помощью которого разработчики могут интегрировать функции Steamв игру, например, возможность приглашений в сетевую игру, организация матчей, внутриигровые достижения, микротранзакции Бизнес-модель распространения загружаемого контента или доступа к предоставляемым услугам по небольшим ценам. Существуют версии дляMicrosoftWindows, OSXи Linux. Позже были созданы и мобильные версии для iOS, Android и WindowsPhone.

Steamсчитается самым большим сервисом для цифровой продажи видеоигр на персональных компьютерах. К концу 2015 года было зарегистрировано 125 миллионов пользователей, в среднем 12,5 из которых бывают онлайн в каждый момент времени.

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

AppStore

Это цифровая платформа дистрибуции, созданная компанией AppleInc. для мобильных систем под управлением операционной системы iOS. Магазин помогает искать и загружать приложения на устройства iPhone, iPad, iPodTouch и AppleWatch.

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

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

Рисунок 17 - Количество пользователей Steamв Европейском регионе

Рисунок 18 - Сравнение пользователей мобильных и станционарных платформ

3.3 Модель распространения игры

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

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

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

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

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

Помощь при создании сообщества

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

«Плати сколько хочешь» помогает увеличить охват аудитории

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

«Плати сколько хочешь» как реальный пример в видеоиграх

Результаты игры Proun после 3 месяцев после запуска:

- Полная выручка: 23 000 $;

- Полное количество установок игры: 250 000;

- Средняя сумма, которая была отдана за одну покупку: 5.23$.

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

3.4 Платформы для продвижения игры

Itch.io

Это веб-сайт, служащий для покупки, продажи и обсуждения игр. В сервисе уже более 40 000 наименований.

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

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

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

Humble Bundle

Это цифровая площадка для продажи и покупки видеоигр. Основной ее товар - это сборники игр, то есть вместо покупки одной, человек может получить сразу 5, 8 или 10. Минимальная цена каждого сборника равна одному доллару, максимальную выбирает сам покупатель.

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

3.5 Модель позиционирования игры

Превращение продуктов в сервис - это ответ на потребительский сдвиг, который влияет не только на видеоигры, но и на другие отрасли медиа в целом. Распространение интернета поощряет людей потреблять контент постоянно, ведь они могут то делать как дома, за персональным компьютером, так и в дороге, используя планшет или смартфон. Как пример - сервисы Netflix Поставщик фильмов и сериалов на основе потокового мультимедиа или Spotify.

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

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

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

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

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

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

3.6 Выставки для представления игры

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

DevGamm Conference

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

GAMM: Play

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

Конференция включает в себя мероприятие Speed Game Dating. Оно представляет из себя трехминутные встречи издателей и разработчиков длительностью в один час. Здесь разработчик пытается продать игру без посредников за короткое время. Версия в альфа-тесте обязательна.

3.7 Издатели независимых игр

C 2008 года независимые игры сделали большой шаг вперед с выходом таких проектов как BraidиSuperMeatBoy, которые продались тиражом более 500 000 и активно освещались в прессе. Поэтому начали появляться издатели, которые нацелены на небольшие игры, потому что сегмент показывает денежный потенциал.

Devolver Digital

Это американский издатель компьютерных игр и кино. Компания была основана в 2009 году в Остине, штат Техас. Её основателями являются Майк Уилсон, Гарри Миллер и Рик Сталтс, ранее основавшие издательство Gathering of Developers и Gamecock Media Group. Деятельность компании сфокусирована на рынке цифровой дистрибуции и поддержке независимых разработчиков за счёт рекламного продвижения и финансовой поддержки их игр.

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

Finji

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

- Реиграбельность. То есть у игрока должно возникать ощущение пройти игру снова;

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

- Сетевой элемент. То есть игра должна содержать компонент соревновательного или кооперативного режима.

3.8 Экономические расчеты

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

Подряд

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

- 30 000 рублей;

- 40 000рублей;

- 100 000рублей.

Продвижение

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

Зарплата

Она включает в себя затраты на проживание, питание, а также трудовую силу разработчика. На зарплату предположительно будет потрачено 200 000 рублей.

Прибыль

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

100 * 7 000 = 700 000 рублей

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

3.9 Целевая аудитория

Целевая аудитория жанра стратегия в реальном времени обычно включает в себя два сегмента игроков:

Сегмент средних игроков:

- 24% игроков на ПК;

- Играют в игры меньше пяти часов в неделю;

- Большинство мужского пола.

Сегмент серьезных игроков:

- 20% аудитории;

- Играют в игры пять и больше часов в неделю;

- Большинство мужчины.

Сервис SteamSpy сообщает, что среднестатистический пользователь Steam играет примерно более 11 часов в неделю. Он имеет в среднем 10 игр в собственности. Разделение платных и бесплатных игр примерно идет на половину.

3.10 Выводы

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

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

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

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

Заключение

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

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

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

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

Целью выпускной квалификационной работы было создание базиса механики стратегии в реальном времени. После анализа различных инструментов для разработки был выбранUnityEngineпо следующим причинам:

- Проекты, сделанные наUnity,удобнее переносить на другие платформы, потому что его поддерживают как производители домашних систем, так и мобильных платформ;

- Большое сообщество;

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

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

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

Во время разработки применялись основные функции части Unity, которая отвечает за трехмерные игры. Был использован физический движок, который производит компьютерное моделирование физических законов реального мира в виртуальном, а также часть, которая отвечает за вычисление столкновений. Был применена система навигации, с помощью которой юниты могут точнее передвигаться. Часть второй главы «Тестирование ПО» показала, что функции являются рабочими.

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

Список литературы

1. ДжонШарп, MicrosoftVisualC#. Подробное руководство / Джон Шарп : Питер, 2017. - 848 с.

2. Францеско Сапио, Пользовательский интерфейс, Францеско Сапио : Packt Publishing, 2015. - 284 с.

3. Хорхе Паласиос, Программирование искусственного интеллекта в играх / Хорхе Паласиос : ДМК Пресс, 2017. - 274 с.

4. Майкл Доусон, Изучаем C# через программирование игр / Майкл Доусон : Питер, 2016. - 352 с.

5. Патриция Пелланд, Visual C#. Краткое руководство / Патриция Пелланд : Microsoft Press, 2010. - 253 с.

7. Володимир Герасимов, Создание уровней в Unity / Володимир Герасимов : Packt Publishing, 2015. - 274 с.

8. Саймон Джексон, Основы графического интерфейса Unity/ Саймон Джексон : Packt Publishing, 2015. - 280 с.

9. Джефф Мюррей, C# Программирование на Unity / Джефф Мюррей : CRC Press, 2014. - 452 с.

10. Джейсон Грегори, Архитектура игрового движка / Джейсон Грегори : CRCPress, 2010. - 830 с.

11. Джастин Браун, Видеоигры: Специальный доклад / Джастин Браун // Economist. - 2011. - 12.10. -С. 57 - 66.

12. Джере Майлз, Unity 3D и основы игростроения / Джере Майлз : CRCPress, 2016. - 482 c.

Размещено на Allbest.ru


Подобные документы

  • Разработка архитектуры программы и пользовательского интерфейса. Ознакомление с минимальными требованиями к программному обеспечению. Анализ особенностей жанров и технологий видеоигр. Характеристика основных преимуществ выставок для представления игры.

    дипломная работа [5,6 M], добавлен 26.07.2017

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

    курсовая работа [343,1 K], добавлен 20.12.2013

  • Требования к аппаратному и программному обеспечению, требуемому для разработки программного модуля. Критерии приемлемости разрабатываемого программного продукта. Разработка удобного пользовательского интерфейса программы. Алгоритм и листинг программы.

    курсовая работа [2,6 M], добавлен 23.11.2011

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

    отчет по практике [1,2 M], добавлен 03.06.2015

  • Понятие электронных учебников и их классификация, общие требования к ним. Порядок разработки электронных учебников, обзор средств их создания и определение затрат. Основные требования к программному продукту. Разработка программы, описание интерфейса.

    дипломная работа [1,1 M], добавлен 07.05.2014

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

    курсовая работа [1,4 M], добавлен 12.05.2016

  • Компьютерные игры можно разделить на три в значительной степени перекрывающихся класса: позиционные, динамические и зрелищные. Фазы создания видеоигр. Процедуры и функции. Описание модулей: CRT, DOS, GRAPH. Создание видеоигры "Псьянс "Три пика"".

    курсовая работа [35,8 K], добавлен 04.02.2008

  • Значение астрофизических исследований. Международные космические проекты. Инфокоммуникационные технологии удаленного доступа к компьютеру. Основные возможности и достоинства Team Viewer. Порядок работы с астрофизическим комплексом в реальном времени.

    дипломная работа [4,8 M], добавлен 12.11.2013

  • Создание трехмерных моделей. Основные возможности программы "Sculptric Alpha 6". Главный персонаж серии видеоигр Sonic the Hedgehog компании Sega. Создание персонажа в "Sculptris Alpha 6". Формирование туловища, рук и ног. Моделирование ладоней и пальцев.

    курсовая работа [1,5 M], добавлен 02.04.2015

  • Анализ применения информационных технологий в организации обучения. Особенности проектирования автоматизированных информационно-справочных систем. Обзор средств создания приложения. Разработка пользовательского интерфейса программы, ее тестирование.

    курсовая работа [1,2 M], добавлен 09.04.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.