Исследование и анализ использования низкоуровневых языков в разработке современных компьютерных игр - Студенческий научный форум

XII Международная студенческая научная конференция Студенческий научный форум - 2020

Исследование и анализ использования низкоуровневых языков в разработке современных компьютерных игр

Айсин Д.В. 1, Абрамова О.Ф. 1
1ВПИ (филиал) ВолгГТУ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Современные компьютерные игры в большинстве случаев не пишутся с нуля, их разработка происходит на уже готовом базовом программном обеспечении – игровом движке. Крупные игровые издатели имеют собственные игровые движки, созданные с учётом параметров производимого компанией продукта. Также большую популярность приобрели игровые движки общего назначения, подходящие для игр любого жанра, например «Unreal Engine» и «Unity». Разработка на готовом игровом движке как правило ведётся на языках высокого уровня, но низкоуровневые языки имеют применение в сфере разработки игр.

Несмотря на то, что большинство современных игровых движков написано на языках высокого уровня – как правило, С или С++ – обойтись без вставок блоков кода на языках низкого уровня – нельзя. Издатели ААА-проектов не ограничиваются одной игровой платформой и стремятся охватить весь спектр наиболее популярных их них, обычно это - PC, PlayStation и Xbox. В связи с этим возникает необходимость оптимизации для каждой, из-за различий в архитектуре данных устройств. На этом этапе и происходит внедрение низкоуровневой оптимизации. API – описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой. DirectX – это набор API, предназначенных в первую очередь для платформы Microsoft Windows, а также используется для Xbox. Другие платформы используют другие API, например OpenGL, Vulkan. При переносе игры на другую платформу возникают трудности с адаптацией под программное обеспечение и архитектуру платформы. Устранение несовместимости и оптимизация для нового устройства производится на низком уровне, происходит работа с так называемым «ядром» игры, при этом не затрагивается более высокоуровневый код, отвечающий за игровую логику, геймплей и интерфейс.

Наглядным примером трудностей переноса игры на другую платформу является недавнее портирование на PC игры «Red Dead Redemption 2», разработанной «Rockstar Games». Хоть «Rockstar» является одной из крупнейших студий, бюджет игр которой исчисляется миллионами долларов, игра имела ужасную оптимизацию для PC-платформы. Данный случай демонстрирует всю важность низкоуровневой оптимизации.

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

Библиографический список:

Электронный ресурс: https://gamedev.stackexchange.com/

Электронный ресурс: https://www.quora.com/

Электронный ресурс: https://en.wikipedia.org/

Электронный ресурс: https://www.gamedev.net/

Электронный ресурс: https://www.shamusyoung.com/

Просмотров работы: 20