Назад в библиотеку

Первоисточник: https://elibrary.ru/item.asp?id=42908023

УДК 004.925.4

ИСПОЛЬЗОВАНИЕ ТРЁХМЕРНЫХ ОБЪЕКТОВ В ДВУХМЕРНЫХ ИГРОВЫХ ПРИЛОЖЕНИЯХ

Карабчевский В.В., Станчев Д. С.

Донецкий национальный технический университет

кафедра компьютерного моделирования и дизайна

E-mail: den.stanchev@mail.ru

Источник: Сборник материалов XI Международной научно-технической конференции в рамках VI Международного Научного форума Донецкой Народной Республики. Редколлегия: Ю.К. Орлов [и др.]. 2020. С. 445-447.

Аннотация:

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

Annotation:

Karabchevsky V.V., Stanchev D.S. The use of three-dimensional objects in two-dimensional gaming applications. This work reveals the possibility and advantages of using three-dimensional objects in two-dimensional gaming applications.

Ключевые слова: графика, платформер, игра, моделирование

Введение

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

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

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

Продвинутого современного человека игровая индустрия, не говоря уже о киноиндустрии, вряд ли сможет чем-то невероятно удивить, однако ещё каких-то 20-30 лет назад игры современного уровня казались несбыточной мечтой, до которой человечество сможет дойти только через пол века. Однако крайне быстрый рост научно-технического прогресса позволил опередить все ожидания на десятки лет. И сегодня мы имеем настолько развитую компьютерную графику, что порой обычному человеку довольно сложно сразу определить реально ли изображение на экране, или же это компьютерная графика. Одним из самых ярких примеров таких фильмов является недавно вышедший фильм 2019 года «Король

лев», который был полностью выполнен с помощью компьютерной графики, при этом уровень реалистичности просто поражает.

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

Именно благодаря этим критериям данный жанр игр был выбран в качестве темы этой работы [3].

Описание проблемы

Несмотря на все вышеперечисленные плюсы платформеров, по современным меркам этот жанр является слегка устаревшим. Всё дело в том, что разработчики стараются при создании игр добиться реалистичности, чего в 2D перспективе добиться невозможно. Но это не значит, что от 2D платформеров совсем отказываются. Сейчас технологии позволяют внедрять в 2D приложения 3D объекты. Это делается для того чтобы придать самому приложению объемности, а также реалистичности. Однако могут возникнуть проблемы с нагрузкой системы. Дело в том, что детализированные объекты нагружают систему, что является несомненным минусом. Проблемы с нагрузкой системы влекут за собой последствия в виде ухудшения стабильной работоспособности приложения. Также на стабильность работы приложения влияет её размер, если на устройстве недостаточно места, то приложение может работать некорректно. Проблема с производительностью особенно актуальна для небольших городов в малоразвитых странах, где не каждый может позволить себе производительную технику, что влечёт за собой плохие последствия. Как показывает статистика, если приложение начинает не стабильно работать, 75% пользователей сразу удаляют данное приложение, а ещё 5% оставляют негативные отзывы. Если же приложение имеет большой размер, то 80% пользователей предпочтут не устанавливать его, а не освобождать место на устройстве. Поэтому разработчики стараются избегать таких ситуаций, которые влекут негативные отзывы о их продукте, потому что это приводит к ухудшению продаж или вовсе к закрытию компании [2].

Решение проблемы

Для данной проблемы наиболее рациональным решением является снижение детализации объекта. Этого эффекта можно добиться, прибегая к следующим рекомендациям: снижение качества картинки, уменьшение количества полигонов, меньше дополнительных деталей, всё это поможет уменьшить уровень детализации объекта. Данный метод снижет нагрузку, но вместе с нагрузкой снижается и качество визуализации объекта. Для 2D игр с 3D объектами есть ещё одно решение, поскольку в 2D перспективе 3D объекты полностью не видно, то можно детализировать только ту часть, которая будет видна игроку. Данный метод очень удобен тем, что в игре сохраняется реализм, к которому так стремится разработчик, а нагрузка на систему сводится к минимуму. В итоге производительность повышается без потери качества изображения.

Также для улучшения производительности можно использовать написанные на языке Javascript элементы, позволяющие контролировать статистику игры и отражать ее через графический интерфейс на основе HTML5-canvas. Основным достоинством данного метода является то, что этот метод значительно упрощает создание визуальных 2D элементов и снижает нагрузку, благодаря тому, что все функции уже существуют внутри графического интерфейса, и не прописываются отдельно. Одним из основных минусов данного метода является то, что он требует базовых навыков работы с HTML кодом, что уменьшает популярность среди разработчиков. Это связано с тем, что большинство начинающих разработчиков стараются использовать как можно меньше программирования при создании своих первых проектов. Чаще всего разработчики стараются разработать игру используя конструкторы игр[1].

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

Есть другой способ как можновыйти из данного затруднительного положения можно уменьшив количество спрайтовой анимации. Для многих разработчиков спрайтовая анимация кажется спасательным кругом, ведь уменьшается объем работ, но это не так! Дело в том, что спрайтовая анимация для объектов свыше 3000px сильно сказывается на размере игрового приложения. Вместо этого рекомендуется использовать анимацию частей тела, это уменьшит размер, а результат будет даже лучше. Минусом данного метода является то, что анимировать части тела придётся каждую по отдельности, что увеличивает объём выполняемой работы и затраченное на разработку время [4].

Выводы

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

Литература

  1. Тимоти Олби. Компьютерная графика в кинематографе/ Тимоти Олби. - СПб.: BHV, 2004. - 256 c.
  2. Тозик, В.Т. 3ds Max Трехмерное моделирование и анимация на примерах / В.Т. Тозик. - СПб.: BHV, 2008. - 880 c.
  3. InstantHTML5 2DPlatformerISBN-13: 978-1849696784, 2013. - 53.
  4. Getting Started with Unity 5.x 2D Game Development/ Francesco Sapio - Packt Publishing, 2017.- 458 с.