Материал: РАЗРАБОТКА ИГРЫ В ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ НА ТЕМУ СЕЛЕКЦИИ ПЧЕЛ НА ОСНОВЕ СТОХАСТИЧЕСКИХ ПРОЦЕССОВ

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

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

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

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

Рисунок – Пример центрифуги для меда.

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

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

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

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

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

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

 

4.8. Выводы

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

 

ЗАКЛЮЧЕНИЕ

 

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

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

Создана модель улья для пчел с первоначальным этапом в виде генерации концептов для него, используя нейросеть Midjourney. Для улья также была разработана механика скрещивания, используя сферы над ульем, игрок помещал в них пчел. Таким образом, происходило скрещивание пчел. На этапе после скрещивания был добавлен интерфейс для улья. В интерфейсе игрок мог увидеть информацию о семье пчел, проживающих в нем. Из этой информации можно было получить какие получились гены у дочерних пчел, а также общую продуктивность улья. Для отслеживания прогресса в игре был добавлен интерактивный справочник о пчелах – биистеарий. В нем игрок мог узнать открытые виды пчел и какую сумму набрал для спасения пчел.

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

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

1.   https://www.grandviewresearch.com/industry-analysis/virtual-reality-vr-market#:~:text=How%20big%20is%20the%20virtual,USD%2035.00%20billion%20in%202023.

2.   https://www.theverge.com/2023/2/28/23619730/meta-vr-oculus-ar-glasses-smartwatch-plans

3.   https://earthweb.com/how-many-people-use-steam/#:~:text=Each%20month%2C%20there%20are%20around,at%2026.09%20million%20concurrent%20users.

4.   https://store.steampowered.com/hwsurvey/Steam-Hardware-Software-Survey-Welcome-to-Steam

5.   https://sonyinteractive.com/en/press-releases/playstationnetwork-monthly-active-users--reaches-103-million/

6.   https://www.uploadvr.com/psvr-2-600k-units-sold/

7.   Booch, Grady (1991). Object Oriented Design: With Applications. Benjamin Cummings. p. 209. ISBN 9780805300918.

8.   Водяхо А.И., Выговский Л.С., Дубенецкий В.А., Цехановский В. В. Архитектурные решения информационных систем: учебник для СПО — 2-е изд. стер. — Санкт-Петербург: Лань, 2021. — 356 с. —  ISBN 978-5-8114-7554-4

9.   Инге-Вечтомов С. Г. . Генетика с основами селекции: учебник для студентов высших учебных заведений. — СПб.: Изд-во Н-Л, 2010. — 720 с. — ISBN 978-5-94869-105-3.

10. Тарантул В. З. . Толковый биотехнологический словарь. — М.: Языки славянских культур, 2009. — 936 с. — 400 экз. — ISBN 978-5-9551-0342-6.

11. А. М. Прохоров. Большая Советская Энциклопедия. — 3. — М.: Советская Энциклопедия, 1970. — Т. 1. — С. 445. — 608 с.

12. Большая российская энциклопедия. Том 26. Москва, 2014, стр. 663

13. В.И. Иванов, Н.В. Барышникова, Дж. С. Билева. Генетика / Под ред. В.И. Иванова. — М.: Академкнига, 2007. — 638 с. — 2000 экз. — ISBN 978-5-94628-288-8.

14. https://www.economist.com/interactive/briefing/2022/06/11/huge-foundation-models-are-turbo-charging-ai-progress

15. UNREAL ENGINE VR COOKBOOK: DEVELOPING VIRTUAL REALITY WITH UE4

16. https://www.redblobgames.com/grids/hexagons/#basics

 

Приложение А

 

Исходный код файлов BeeGenetic.h и BeeGenetic.cpp

#pragma once

 

#include "CoreMinimal.h"

#include "Components/SceneComponent.h"

#include "BeeGenetic.generated.h"

 

UENUM(BlueprintType)

enum Species

{

Meadow UMETA(DisplayName = "Meadow"),

Forest UMETA(DisplayName = "Forest"),

River UMETA(DisplayName = "River"),

Plant UMETA(DisplayName = "Plant"),

Mushroom UMETA(DisplayName = "Mushroom"),

Berry UMETA(DisplayName = "Berry"),

Woody UMETA(DisplayName = "Woody"),

Potato UMETA(DisplayName = "Potato"),

Wheat UMETA(DisplayName = "Wheat"),

Grape UMETA(DisplayName = "Grape"),

Tomato UMETA(DisplayName = "Tomato"),

Flour UMETA(DisplayName = "Flour"),

Plank UMETA(DisplayName = "Plank"),

Paper UMETA(DisplayName = "Paper"),

Bread UMETA(DisplayName = "Bread"),

Wine UMETA(DisplayName = "Wine"),

Boxed UMETA(DisplayName = "Boxed"),

Ketchup UMETA(DisplayName = "Ketchup")

};

 

UENUM(BlueprintType)

enum class EyeColor : uint8

{

Black UMETA(DisplayName = "Black"),

Red UMETA(DisplayName = "Red"),

Green UMETA(DisplayName = "Green"),

Blue UMETA(DisplayName = "Blue"),

Size UMETA(DisplayName = "Size")

};

 

UENUM(BlueprintType)

enum class EffectType : uint8

{

None UMETA(DisplayName = "Black"),

Speed UMETA(DisplayName = "Black"),

Mutation UMETA(DisplayName = "Black"),

Stability UMETA(DisplayName = "Black"),