Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Что такое компьютерная игра с точки зрения программиста? Набор элементов: сюжет, звук, видео, набор скриптов или что-то другое?

ТехнологииПрограммирование+3
Евгений Чаплин
  · 1,7 K
Программист, гейм-девелопер, дизайнер, художник  · 18 нояб 2015

Любой сложный программный продукт — такой, как игра класса ААА вроде тех, что на обложке этого вопроса — это система невероятной сложности и масштаба. Рядовой программист, задействованный в подобном проекте, может за все время разработки не увидеть ничего кроме крохотного (и скучного!) уголка этой системы, никак не связанного с сюжетом, геймплеем или внешним видом игры. Например, он может заниматься подготовкой библиотек или инструментов, которые кто-то другой будет использовать в самой разработке. Представьте себе сияющий красавец-спорткар вашей любимой модели и задумайтесь: ведь есть где-то на свете инженер, который конструировал дверцу его бардачка. С его точки зрения этот автомобиль — почти как с нашей: очень крутая штука, которую сделал кто-то другой.

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

Но это мы все еще говорим о классе ААА, где бюджеты измеряются миллионами долларов, серые здания жадных игровых корпораций зловеще коптят небо черным дымом, несчастные люди с унылыми лицами как рабы вкалывают и погибают от истощения прямо за компьютерами, уступая место свежему пушечному мясу... (на самом деле нет, вот вам фотка из офиса Blizzard: wordpress.com ).

Но есть ведь еще студии поменьше, инди-студии или даже «студии» из одного человека. Многие прекрасные популярные игры пишутся относительно небольшими командами (Re-Logic), часто вдвоем (2D Boy), а иногда и один человек может написать мегахит с нуля (я даже не буду называть его вслух лишний раз). Для этих людей игра — это и сюжет, и звук, и видео, и набор скриптов, и все-все-все остальное. База кода, ресурсов и инструментов, тысячи заметок с идеями в любимой заметкохранилке, изрисованные набросками и схемами блокноты в клеточку, сотни файлов со всеми расширениями на свете, обычно хранящихся в общем репозитории, куда участники проекта ежедневно вносят изменения, приближая свое детище к релизу.