Многообразие представлений игровых предметов
Здравствуйте. Сегодня я хочу написать некоторые свои мысли на тему разработки видеоигр, а возможно затрагивающие и другие сферы IT или даже жизни. Хочу поговорить с вами о таких, казалось бы простых вещах, которые можно, как оказывается, вывести во что-то более занимательное. Итак, начну я с вводной части.
Представление и анализ игрового инвентаря
Если вы играете в игры или не играете, то знаете понятие «инвентарь». Если не знаете, то это странно. Нет, серьезно.
В общем, рассматривая с точки зрения компьютерных игр — это совокупность каких-либо предметов, которые имеются в наличии у игрока. Данную совокупность можно представить в качестве множества с заданными на ней элементами и операции над этими элементами.
, где k, d — элементы или игровые предметы множества А или инвентаря. Стоит отметить что это условное сравнение т.к. элементов может быть больше/меньше или вовсе не быть. Можно классифицировать игровой инвентарь на статический (кол-во слотов в инвентаре не изменяется) и динамический (кол-во слотов может увеличиваться/уменьшаться) Забавный факт — пустое множество является подмножеством А и если А равно пустому множеству, следовательно можно сказать, что это пустой инвентарь.
Примеры игрового инвентаря (для галочки):
Идея написания моих мыслей в формате статьи появилась, как можно догадаться, в результате работы над игровым инвентарем. Я рассуждал на тему того, на что похожа эта система в других сферах IT и не только. Первое, что пришло в голову — это базы данных (БД). По аналогии с ранее рассмотренным множеством, БД ~ A (БД равносильно мн-ву А). В БД также определены операции над записями(примечание: я рассматриваю реляционную базу данных). Итог: Как я и говорил, рассуждая на тему такой простой вещи как игровой инвентарь, я увидел аналогию с множеством и БД. При дальнейших рассуждениях я пришёл вот к чему.
Физическое представление игровых предметов
Дело в том, что о физическом представлении игровых предметов, скорее всего, задумывались мало людей (игроков и разработчиков). Под физическим представлением предметов я имею в виду внешний вид вещей перед игроком до того, как подобрать этот предмет в инвентарь.
На картинке выше видно, что предмет, который можно подобрать в инвентарь — 3D объект. Это и есть, в моём понимании, физ. представление объекта. Теперь к самому интересному.
Примечание: Забыл отметить, что любой предмет в инвентаре — это просто совокупность данных. Блок информации, в которой хранится визуальное/физическое представление о предмете как в инвентаре, так и вне его.
Примечание 2: В целом, любой игровой объект можно интерпретировать как совокупность каких-то данных, набор конкретной информации, но я рассматриваю только те объекты, которые можно добавить в инвентарь игрока и с которыми можно каким-либо образом взаимодействовать.
Классификация физического представления объектов
Лично я пришёл к следующему. Физическое представление игровых объектов можно классифицировать на простое и сложное. Теперь немного подробнее.
Как можно заметить, тут есть кое-что любопытное, а именно сложное представление физ. представления предметов. Я рассматриваю эти предметы с точки зрения того, как вы видите этот объект в игре.
На рисунке выше я показал в грубой форме анализ и последующую обработку видеоданных. Условно говоря, выделив определенный фрагмент в видео или на картинке, или произнеся в микрофон название предмета с последующим анализом речи (Есть интересная статья на эту тему: https://postnauka.ru/faq/65242), можно получить информацию об объекте и добавить его в инвентарь. Хочу отметить следующее: сложное представление можно представить в виде совокупности простых представлений по аналогии с функциями. В каком-то смысле это композиция представлений. На этом же примере с анализом выделенных областей на видео, это получение картинки или 2D-объекта с последующей обработкой этого объекта. Однако не все сложные функции можно представить в виде простых. Простой пример — текстовый квест с добавлением и другими операциями над предметами в виде написанного предложения («Вы видите перед собой ручку» — «Взять [Item Name]»). Здесь происходит прямая передача информации объекта в инвентарь, несмотря на то, как этот предмет отображается в нём т.к. это уже не относится к физ. представлению по одной простой причине. Выводимый предмет из инвентаря может иметь любое физ.представление. Например: Подбираем 3D-объект в форме камня, а достаём уже в виде 2D-картинки. Это работает и в обратную сторону. Забавно.
Заключение
Хочу отметить, что эти физические представления игровых предметов— это своего рода способы передачи объекта в инвентарь и обратно. И я лишь пытался донести простую мысль — в играх, на данный момент, используются активно 2 способа, 2D-Объекты в 2D играх и 3D-объекты в 3D играх соответственно. Ранее, в текстовых квестах передавали информацию посредством слов, но что если попытаться использовать другие способы передачи информации? Например, звуковые сообщения, анализ видео, слова, для, может быть, интерактивного кино или классических игр. Однако, проблема этих технологий — плохо их развитие, погрешности в анализе получаемой информации и т.п. Несмотря на всё это, альтернативные способы передачи информации, которые я выделил в сложные представления можно использовать для чего угодно, не только для инвентаря, однако, как мне кажется, это одно из наиболее практичных применений этих технологий.
Возможно все озвученные мысли приведут вас или меня к чему-то более любопытному и/или практичному, я же, рассуждал на эту тему для развития индустрии разработки игр. В следующий раз я хочу порассуждать на тему нейросетей для генерации игрового контента.
Смотрите также:
Комментарии
Не очень понял, что ты имел ввиду под сложным представлением предмета - звук, видео-файл и так далее. И классификация таким образом вызывает множество вопросов, если только это не относится с игровым данным.
Я бы расфасовывал предметы по типам следующего характер: интерактивны, декоративны.
С точки зрения применения есть четкая цель - задача предмета. Она позволяет четко понять, для чего тот или иной предмет требуется. Декорация - задает тон, настроение сцены и передает нетекстовое описание локации. Интерактив определяется своими задачами - элемент силы персонажа (экипировка), источник нарратива (записи исследователей в Doom 3), механика воздействия (например поюзал - активировал ловушку).
Jusper, В играх и не только интерактивные предметы или декоративные - неважно, представляются, в общем, как 3D-объект (меш) или 2D (спрайт). Под сложными представлениями я имел нечто особенное чем просто моделька или картинка. Здесь я рассматривал только интерактивные предметы, о декоре нет смысла говорить так как это дополняющие объекты (но они тоже могут быть представлены иначе).
Чтобы лучше понять о чём я, рассмотрим ваш пример с ловушками. Главный вопрос который я здесь выделяю "каким образом она должна сработать?". В статье я пытаюсь донести мысль, что механики воздействия, источники нарратива и т.п. они привязаны к тому каким образом игрок взаимодействует с этими предметами. Если вернутся к активации ловушек, то можно нажать на объект, произнести ключевую команду, произвести сканирование QR-кода и т.п.
Т.е. вариантов активации ловушки (условной) или другие взаимодействия с объектами могут происходить разными способами. В каком-то смысле мы можем приравнять устройства ввода (клавиатура, мышь) к способам взаимодействия с объектами. Я же говорю о том, что можно использовать и доп. устройства, которые повседневно используются нами. В качестве примера я говорил о микрофоне и о распознавании речи.
Если вернуться к представлению объектов, то любой объект - это совокупность какой-то информации. Я говорил про 2D и 3D объекты, однако это только дополняющая информация об объекте. Из того, что любой объект - совокупность информации (условно набор переменных и функций), то отсюда следует что какой-нибудь дробовик я могу представить как угодно. В любом виде. Не обязательно как спрайт или меш. Просто сложно сейчас понять, какие именно виды ещё существуют (поэтому я их и вывел в сложные представления). Взяв в качестве примера текстовый квест, у игрока есть инвентарь, но он его не видит, а лишь может прочесть, что у него есть. Отсюда следует, что все элементы инвентаря (или экипировки - неважно) имеют словесный образ.
В заключение хочу сказать, что сейчас я работаю над созданием интерактивной аудиокниги, таким образом показав иное представление взаимодействия игрока (в данном случае, наверное, слушателя) с миром. Можно создать систему распознавания предметов через веб-камеру и генерации игровых объектов через полученный результат. Главное здесь воображение и технологии, которые существуют, чтобы получить новый игровой опыт. Поэтому в конце я и написал про то, чтобы люди придумали что-то новое и, возможно, рабочее.
CollectableItemData.cs
[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]