Предыдущая Следующая
2.1.1. Уровни абстракции
Схема взаимодействия DirectX и компьютерной системы на уровне абстракции может «вылиться» примерно в следующий рисунок (рис. 2.1). Как видно из этой схемы, любая игра базируется на классах DirectX, которые, в свою очередь, взаимодействуют с операционной системой или специальными сервисами, включающими в себя драйвера устройства и другие API.
Такой подход в реализации многоуровневых прослоек позволяет программисту не обращать внимания на аппаратную часть устройства и спокойно работать с программным кодом. В итоге для программиста абсолютно не важно (в идеале), какое аппаратное обеспечение имеет это устройство, он работает непосредственно с кодом игры и библиотечными классами DirectX.
Останавливаться подробно на устройстве и работе библиотеки DirectX в этой главе и всей книге мы не будем, поскольку к нашей теме DirectX не имеет прямого отношения и служит просто звеном одной цепочки, о котором обязательно нужно было упомянуть.
2.2. Новые реалии
Время вносит в жизнь свои коррективы. В какой-то момент стали очень бурно развиваться мобильные устройства, а также у Microsoft появился определенный интерес к рынку консольных приставок. Этот интерес материализовался кон-
Рис. 2.1. Схема взаимодействия DirectX и аппаратной части устройства
солью Xbox, а затем появилась и вторая версия приставки с несколько видоизмененным названием Xbox 360. После этого корпорация Microsoft имела на руках три разные платформы - компьютерную Windows, мобильную Windows Mobile и консольную приставку. Для всех трех платформ игровая спецификация была абсолютно разной.
Разработчики, создавая игру для PC, могли перенести ее на Xbox, но для этого приходилось тратить очень много времени. Порой проекты для обеих платформ делали две разные команды, а точнее одна команда создавала, а другая адаптировала. С этим нужно было что-то делать.
Создание общей спецификации для всех платформ семейства Microsoft стало большой головной болью для программистов, работающих в корпорации. Чтобы создать такую спецификацию, необходимо было создать общую
инструментальную базу, один общий язык программирования, а также общую библиотеку классов. Но задача была решена.
Сейчас в качестве инструментальной базы выступает инструментарий Visual C# Express или Visual Studio. Общим языком программирования стал язык C#, который безусловно проще и лучше своих прародителей C/C++/Java. Общей библиотекой классов стала платформа XNA Framework, которая включает огромный набор системных инструментов для решения большинства серьезных задач. В итоге мы имеем одну спецификацию, меньше головных болей и безболезненное портирование игр с одной платформы на другую. Правда, перед XNA Framework у Microsoft был еще один промежуточный этап понимания того, как должна быть устроена подобная библиотека, и этот этап был ознаменован выходом Managed DirectX. Предыдущая Следующая
|