Принципы программирования ранней id Software

Разработка игр | |

GDC Europe 2016 Romero

Сооснователя id Джона Ромеро (John Romero) всегда относят к разработчикам, оказавшим наибольшее влияние на игровую индустрию. На прошедшей в Кёльне GDC Europe он поделился ключевыми принципами программирования, которых создатели Doom придерживались в 90-х годах.

Предупреждаем: Ромеро уточнил, что некоторые из них могут показаться безумными по современным меркам. Это директивы иного времени, но в 90-х они прекрасно подходили для id. Имея в составе меньше десятка разработчиков, студия за пять с половиной лет сотворила 28 игр, среди которых были и те, что положили начало культовым сериям: Commander Keen, Doom, Quake и другие.

Никаких прототипов – всегда поддерживайте код в готовом состоянии. Полируйте его на ходу.

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

Продолжая, Ромеро упоминает, что единственной свёрнутой игрой студии была Quake: The Fight for Justice. Работа над ней велась две недели (это была RPG), после чего решено было отбросить эту идею и двигаться дальше. С тех пор ко вселенной Quake id вернулась только спустя четыре года.

Критически важно, чтобы ваша команда всегда могла запустить игру. Сделайте движок пуленепробиваемым, чтобы при неудачной загрузке срабатывали установки по умолчанию.

Ромеро неоднократно подчёркивал, насколько важно искать способы повышения эффективности, в том числе гарантируя запуск игры командой разработчиков.

Ваш код должен быть максимально простым. Смотрите на свои функции, и думайте, где ещё их можно упростить.

Простота, опять же, важна всегда. Не только в программном коде, но и в процессах разработки и дизайне.

Хорошие игры удобнее делать хорошими инструментами. Уделите как можно больше времени средствам разработки.

«Мы сами – лучшая команда тестировщиков, и мы не должны позволять наблюдать ошибки и вылеты кому-то ещё», – говорит Ромеро. – «Не тратьте чужое время. Перед тем, как сдавать код, тщательно всё проверьте».

Он добавляет: «Как только нашли ошибку, исправляйте её. Не продолжайте работу, иначе новый код будет строиться на нестабильной основе».

Разрабатывайте игру в системе, превосходящей ту, в которой она будет работать.

Doom разрабатывалась для MS-DOS, но Ромеро говорит, что работа над игрой велась в более продвинутой операционной системе NextStep, предшественнице OS X.

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

Повторное использование кода не имело смысла для команды, фокусировавшейся на оптимизации текущего проекта (и, разумеется, тогда не было никаких Unity и Unreal Engine).

Инкапсулируйте функциональность для обеспечения согласованности дизайна. Это позволит минимизировать недочёты и сэкономит время, отведённое на дизайн.

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

Старайтесь, чтобы ваш код был прозрачным. Доступно объясняйте коллегам и руководителю, как вы решаете конкретную задачу.

На заре становления id в ней работало четыре человека: Ромеро, Джон Кармак (John Carmack), Том Холл (Tom Hall) и Адриан Кармак (Adrian Carmack). Они все сидели в одной комнате, программируя и слушая хеви-метал. Все знали, кто чем занимается, и это сыграло на руку студии.

Программирование – это форма искусства, основанная на логике. Каждый программист особенный.

Добавить нечего! Этот принцип работает и по сей день. Один из многообещающих разработчиков спросил Ромеро, выдыхался ли он когда-нибудь из-за бешеного темпа разработки. Тот ответил, что относится к программистам, которые настолько любят своё дело, что никогда не выдыхаются. И добавил, что нужно учитывать ещё один момент: до выхода самой известной игры id – Doom – было проделано очень много работы; Wolfenstein была его 87-й игрой, а Doom примерно 90-й.

Gamasutra: Programming principles from the early days of id Software.

Владимир FrostBite Хохлов frostbite@progamer.ru

Поделиться

Обсудить