• Авиасимуляторы (flying). Одни, как Microsoft Flight Simulator, предлагают насладиться полетом, другие, как серии Ace Combat или Blazing Angels, – схватками. А в сериях типа Star Fox и Star Wars: X-Wing vs. TIE Fighter можно даже слетать в космос.

Этот список жанров и поджанров лишь вершина айсберга. Существуют и другие классификации, где есть место, скажем, играм для взрослых, «серьезным играм»[21], рекламным, играм с боями на технике – эти жанры пересекаются с некоторыми перечисленными выше. А когда жанры или поджанры пересекаются, постоянно возникают новые. Например, в играх серии Grand Theft Auto сочетаются элементы приключенческого боевика, шутера от третьего лица, гонок, симулятора и аркадного экшена! А в Tuper Tario Tros[22] встречаются Super Mario Bros. и Tetris! Что же будет дальше? Какой жанр покорит всех в будущем? Кто знает, может, его придумаете вы!

Кто все это делает?

Существует много разных игр – и их создает много разных людей. На заре игровой индустрии разработчики чаще были одиночками: например, оригинальную Prince of Persia сделал один человек[23] – он выступал и программистом, и дизайнером, и аниматором. Даже музыку написал сам! Но по мере того как создание игр превращалось в серьезный бизнес, команды росли – в них входило по два, а то и по три программиста.

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

Людей, создающих игры, называют разработчиками (developers). Это аналог съемочной группы в кино или на телевидении – несколько творческих людей, которые вместе делают развлекательный продукт. Обычно в команду входит целый ряд разных специалистов; о них мы сейчас и поговорим.

Программист (programmer)

На языках вроде С++ или Java программист пишет код, генерирующий текст и визуальную составляющую игры; разрабатывает системы управления, позволяющие игроку взаимодействовать с игрой, и систему управления камерой, показывающую нам мир игры; программирует систему физики, в рамках которой существуют игровой мир и персонаж; пишет систему искусственного интеллекта для управления противниками и поведением объектов… ну, вы поняли.



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

Как и в других сферах, работа программиста в игровой индустрии становится все более специализированной. Но чем бы конкретно он ни занимался, ему нужно прекрасно разбираться в математике, 2D- и 3D-графике, физике, системах частиц, интерфейсах, искусственном интеллекте, системах ввода данных и устройстве сетей. Спрос на эти навыки всегда высок, и программисты нередко хорошо зарабатывают, приходя на проекты как наемные работники. Такой программист появляется в команде, пишет код, предлагает временные решения – и уходит на другой проект.

Художник (artist)

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