Возможности Windows 10*, о которых должны знать все разработчики игр

Рисунок 1. Windows* 10 — это общая операционная система
для целого ряда устройств

В Windows 10 реализован целый ряд новых и улучшенных возможностей. Кроме того, эта операционная система должна объединить широчайший диапазон игровых платформ с приложениями универсальной платформы Windows (UWP). Благодаря расширенной поддержке устройств-трансформеров можно использовать более естественные режимы взаимодействия. Поскольку все платформы работают под управлением вариантов одной и той же операционной системы, все приложения устанавливаются из одного и того же магазина. Что касается игр для ПК, то возможности их установки еще лучше благодаря поддержке Steam*. Каким бы ни был способ установки игр, DirectX* 12 вдохнет в них новую жизнь за счет существенно расширенных возможностей.

Потенциал DirectX 12

DirectX 12 — это самая последняя версия графического пакета API корпорации Microsoft, предназначенного для управления и оптимизации функций мультимедиа, и в частности для обработки графики в играх. Более того, игровые консоли Xbox* произошли от первоначально задуманного DirectX Box. Неудивительно, что эта технология по-прежнему является фундаментальной для разработки игр.

DirectX* 12 brings PCs console-level optimization

Рисунок 2. Благодаря DirectX* 12 на ПК можно реализовать
оптимизацию уровня игровых консолей

 

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

Одна из важнейших проблем, связанных с появлением любой новой технологии, состоит в том, какую долю существующих материалов и процессов разработки придется переделать для поддержки новой технологии. К счастью, при переходе с DirectX 11 на DirectX 12 процессы остаются неизменными. Можно использовать прежние текстуры и модели, форматы, цели рендеринга, вычислительные модели и т. д. Наиболее важные изменения касаются кода настраиваемых игровых движков, причем в сети MSDN опубликованы официальные инструкции по переводу этих движков на новую версию. В большинстве случаев разработчики используют существующий движок, поддержка DirectX 12 уже реализована в Unreal* и Unity* (в частности, со значительным ускорением за счет распределения нагрузки на несколько ядер процессора, но будут и другие усовершенствования). Если учесть встроенную поддержку DirectX 12 в процессорах Intel®  Core™ 6-го поколения, это даст возможность игровым движкам эффективно использовать все ресурсы системы.

Распространение через Steam

Steam — ведущая система распространения игр для ПК. С помощью Steam геймеры узнают о новых играх, приобретают и устанавливают их. Кому-то может показаться странным, что корпорация Microsoft поддерживает внешний магазин приложений (вместо своего собственного), но здесь нет конкуренции в одной и той же области: магазин приложений для Windows предназначен для всех устройств под управлением Windows (по данным за прошлый год, их количество превысило 1,5 миллиарда), чтобы можно было покупать приложения на смартфоне, находить и загружать игры для Xbox One и ПК.

Геймеры не будут столь охотно переходить на новую ОС, если окажется, что большая часть их игровой библиотеки содержится в программе, которая может не поддерживаться. К счастью, Steam* в Windows 10 обладает полной обратной совместимостью и не требует никаких изменений (помимо обновления драйверов видеоадаптера).

Существует даже плитка Steam, чтобы создавать плитки для быстрого доступа к отдельным играм. Корпорация Microsoft стремится обеспечить безупречную работу Steam в Windows 10, и это приносит свои плоды: согласно проведенному в Steam анализу оборудования, Windows 10 стала второй по распространенности операционной системой в Steam. Более четверти пользователей перешли на эту ОС в течение всего нескольких месяцев после ее выпуска.

Рисунок 3. Уступая лишь операционной системе Windows* 7 (44,86 %), операционная система Windows 10 продолжает распространяться (ее доля составляет 27,42 %) с темпами, равными суммарным темпам распространения всех остальных операционных систем

Гибкость на трансформерах

Современные устройства-трансформеры могут использоваться как в режиме планшета, идеально подходящего для мобильных игр, так и в режиме ноутбука с высококачественной графикой и высокой производительностью, необходимой для игр на ПК. Сочетание гибких возможностей сенсорного экрана и ноутбука предоставит геймерам универсальное решение с идеальными методами взаимодействия для разных задач. Возможности пользователей по управлению в играх дополнительно расширяются с помощью таких решений, как Intel®  RealSense™ SDK, поддерживающих использование на персональных компьютерах трехмерных камер и голосовых команд (вот краткое руководство по использованию этой технологии в Windows 10).

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

Интеграция всего мира Windows

Концепция «Написать код приложения один раз и запускать его на любых системах», ранее считавшаяся идеалом, становится более достижимой благодаря распространению приложений для универсальной платформы Windows (UWP). Корпорация Майкрософт проводит стандартизацию всех платформ под знаменами Windows 10, образуя тем самым великолепную возможность для многократного использования кода. Разумеется, у разработчиков по-прежнему есть возможность написать разные версии для разных платформ, но теперь можно написать код игры, которая будет работать на ПК, игровых консолях Xbox One, планшетах, смартфонах и даже очках виртуальной реальности HoloLens*, сможет охватывать целые семейства устройств со схожими аппаратными ресурсами.

One Windows platform

 

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

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

Существует целый ряд ресурсов с технической информацией, например материалы Майкрософт на конференции GDC 2015, касающиеся многих аспектов, не раскрытых в этой статье: Крис Тектор (Chris Tector) и Дон Бокс (Don Box) рассказывают о работе систем в этой парадигме, Билл Шифельбайн (Bill Schiefelbein) демонстрирует участие геймеров и разработчиков игр в новом виде социальной сети на основе приложения Xbox, Виджей Гаджала (Vijay Gajjala) и Брайан Тайлер (Brian Tyler) рассказывают об использовании API Xbox Live для быстрого применения этих новых возможностей, а Крис Карла (Chris Charla) представляет программу для независимых разработчиков ID@XBOX, дающую возможность самостоятельной публикации наравне с остальными (включая даже бесплатное получение двух комплектов разработчика при наличии адреса электронной почты на веб-сайте компании).

Подключение через приложение Xbox

Приложение Xbox (игровой центр на ПК, распространяющий функциональность Xbox Live на другие устройства) объединяет воедино все игровые возможности. Это приложение объединяет друзей-геймеров в подобие интересной, динамичной и увлекательной социальной сети, способствуя развитию культуры игроков.

Рисунок 4. Приложение Xbox* расширяет возможности геймеров

Игроки могут записывать видеоролики и делать снимки экрана в своих играх, чтобы обмениваться ими друг с другом. Дополнительная возможность — запись последних 30 секунд игрового процесса на случай, если вдруг произойдет что-то интересное, но непредвиденное. Поскольку сеть друзей и подписчиков распространяется на разные платформы, любая игра получает одинаковый уровень распространения: даже пользователи, запускающие приложение Xbox на мобильном устройстве, смогут смотреть видеоролики, снятые в игре.

Принцип единого входа, реализованный в учетных записях Xbox, упрощает сопоставление профилей пользователей и возлагает выполнение всех рутинных задач на операционную систему (включая и импорт друзей из Facebook*). Поскольку приложения для Windows снабжены манифестами с явно указанной информацией, система может управлять установкой и обновлением, что экономит немало рабочего времени разработчикам (что особенно важно после выпуска игры в продажу).

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

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

Дополнительно: передача с Xbox One на ПК

Игровая консоль Xbox One дает возможность не только играть и общаться с друзьями на разных платформах, но и передавать игровой процесс на любой ПК с Windows 10, находящийся в этой же сети. Разумеется, необходимо учитывать ряд особенностей, чтобы обеспечить удобство игры в этом случае, но сама возможность играть без привязки к телевизору очень важна.

Streaming gameplay to anywhere on your network.

Рисунок 5. Передача игры в любое место сети

Обоюдная польза

Если вы — геймер или разработчик игр для ПК или Xbox One, то операционная система Windows 10 окажется вам очень полезна. Возможности, предоставляемые приложением Xbox и интерфейсами API, закладывают основу для более широкого и глубокого привлечения игроков. Новая версия решений Майкрософт отвечает всем требованиям игроком в отношении производительности и простоты использования, чтобы сделать игры более увлекательными и интересными на всех уровнях.

Дополнительные сведения

Происхождение названия Xbox: http://www.economist.com/node/5214861

DirectX 12: http://blogs.msdn.com/b/directx/archive/2014/03/20/directx-12.aspx

Значение DirectX 12 для геймеров и разработчиков: http://www.pcgamer.com/what-directx-12-means-for-gamers-and-developers/

Важные различия между Direct 3D 11 и Direct 3D 12: https://msdn.microsoft.com/ru-ru/library/windows/desktop/dn899194(v=vs.85).aspx

Преобразование приложений с Direct3D 11 на Direct 3D 12: https://msdn.microsoft.com/ru-ru/library/windows/desktop/mt431709(v=vs.85).aspx

Теперь все разработчики могут выпускать игры DirectX 12 с помощью обновленного движка Unreal Engine 4: http://www.windowscentral.com/any-developer-can-now-make-directx-12-game-updated-unreal-engine-4

Основатель Unity: сам по себе API DirectX 12 не дает заметного прироста производительности: http://gamingbolt.com/unity-founder-directx-12-api-alone-doesnt-give-a-significant-performance-boost

Описание продукта. Платформа процессоров Intel®  Core™ 6-го поколения:  http://www.intel.com/content/www/ru/ru/processors/core/6th-gen-core-family-mobile-brief.html

Valve собирает партнеров по игровым консолям для конкуренции с Microsoft и Sony: http://www.bloomberg.com/news/articles/2013-11-04/valve-lines-up-console-partners-in-challenge-to-microsoft-sony

Магазин Microsoft Xbox не пытается убрать Steam из Windows 10: http://venturebeat.com/2015/05/21/microsofts-xbox-store-isnt-trying-to-cut-out-steam-in-windows-10/

Корпорация Майкрософт: на рынке насчитывается полтора миллиарда устройств с Windows: http://www.neowin.net/news/microsoft-we-have-15-billion-windows-devices-in-the-market

Плитка Steam:   https://www.microsoft.com/ru-ru/store/apps/steam-tile/9wzdncrfhzkv

Майкрософт стремится поддерживать Steam и «помочь безупречно работать под управлением Windows 10»: http://www.technobuffalo.com/2015/08/07/microsoft-wants-to-support-steam-and-help-it-run-great-on-windows-10/

Обзор оборудования и программного обеспечения Steam, ноябрь 2015 г.: http://store.steampowered.com/hwsurvey

Intel RealSense: http://www.intel.com/content/www/ru/ru/architecture-and-technology/realsense-overview.html

Приступая к разработке приложений Intel®  RealSense™ SDK для настольных ПК с Windows* 10: https://software.intel.com/ru-ru/articles/get-started-developing-intel-realsense-sdk-for-windows-10-desktop-apps

Windows 10 на Surface Pro 3 — идеальный трансформер: http://www.gizmag.com/windows-10-surface-pro-3-review/38189/

Что такое приложение для универсальной платформы Windows (UWP): https://msdn.microsoft.com/ru-ru/library/windows/apps/dn726767.aspx

Динамическое обнаружение компонентов с помощью контрактов API (10 из 10): https://blogs.windows.com/buildingapps/2015/09/15/dynamically-detecting-features-with-api-contracts-10-by-10/

Универсальность: понимание жизненного цикла приложений для Windows 10: https://visualstudiomagazine.com/articles/2015/09/01/its-universal.aspx

MSDN Channel 9, конференция GDC 2015: https://channel9.msdn.com/Events/GDC/GDC-2015

Разработка игр для Windows 10: https://channel9.msdn.com/Events/GDC/GDC-2015/Developing-Games-for-Windows-10

Игровые возможности конечных пользователей в Windows 10: https://channel9.msdn.com/Events/GDC/GDC-2015/Gaming-Consumer-Experience-on-Windows-10

Разработка с Xbox Live для Windows 10: https://channel9.msdn.com/Events/GDC/GDC-2015/Developing-with-Xbox-Live-for-Windows-10?ocid=SessionsInEvent

Новые возможности для независимых разработчиков: https://channel9.msdn.com/Events/GDC/GDC-2015/New-Opportunities-for-Independent-Developers?ocid=SessionsInEvent

Возможности Xbox в Windows 10: http://www.xbox.com/ru-ru/windows-10/xbox-app

Центр разработчиков Windows: https://dev.windows.com/ru-ru/games

Использование поточной передачи игр в приложении Xbox под управлением Windows 10: https://support.xbox.com/ru-ru/xbox-on-windows/gaming-on-windows/how-to-use-game-streaming

Об авторе

Брэд Хилл (Brad Hill) — инженер по программному обеспечению в подразделении Developer Relations корпорации Intel. Брэд занимается изучением новых технологий на оборудовании Intel и обменивается лучшими методиками с разработчиками ПО на форумах Intel®  Developer Zone и на конференциях разработчиков. Он помогает студентам и разработчикам становиться разработчиками игр и изменять мир к лучшему.

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