среда, августа 17, 2005

Выступление Джона Кармака на QuakeCon2005

Updated 12.02.2006

GameSpy опубликовал заметку по мотивам выступления Джона Кармака на последнем QuakeCon. Эдакое изложение для простых смертных. Для непростых смертных есть видеозапись его выступления: 269MB, 94 минуты.

Кармак делает акцент на графику в играх. "Мы бы хотели делать что-то вроде того, что было во Властелине Колец, но только в реальном времени". Он очень скептично настроен по поводу усовершенствования искуственного интеллекта в играх. На это можно потратить много ресурсов, но не получить никакой отдачи. Он вспоминает, что люди, игравшие в первый Дум думали, что монстры действуют интеллектуально, хотя ничего такого не было.
Из всех игровых приставок Кармак выбирает Xbox 360, потому что здесь он может "говорить с железом напрямую, делать именно то, что я хочу". "Здесь лучшая среда разработки из всех приставок, что я видел". Еще он немного погоревал по поводу того, что рынок игр для приставок очень закрытый и пробиться разработчикам туда весьма непросто.

Ссылки по теме:
Перевод выступления Кармака на Quakecon 2004

Technorati tag:

3 коммент.:

Jim комментирует...

> люди, игравшие в первый Дум думали

Выдранная из контекста фраза сражает наповал :-)

Alena комментирует...

Full transcript of John Carmack's QuakeCon 2005 Keynote

Александр Васильев комментирует...

Алёна, спасибо за ссылку.

Прочитал полную запись. Вот сильно сокращённый перевод:

1) Индустрия стремительно развивается и требования к хорошей игре постоянно повышаются. Это хорошо.

2) Разработка на консолях: одинаковое железо - благо для разработчика. Три аспекта: первый - насколько хорошо железо. Второй - насколько интерфейс соответствует железу. Третий - документация и удобные инструменты для разработчика.

Однопроцессорность и многопроцессорность. Многопроцессорность - это здорово когда есть процессор в графической карте и ещё процессор в материнской плате. В множестве процессоров в материнской плате ничего хорошего нет, потому что мода на них приходит и уходит. Стоит ли тратить время на адаптацию кода в каждом конкретном случае, непонятно.

3) Графика, симулятор физической модели и искуственный интеллект.

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

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

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

Странно, что Майкрософт проталкивает стандарт HDTV как необходимое условие для игрушек на их консоли.

4) Игры для сотовых, поощрение инноваций и креативности.

Разработать хорошую игру для ПК стоит нескольких $10M. Сотовые телефоны - идеальная платформа для того, чтобы начать. Я написал игру для сотового. Я хочу попробовать использовать эту игру для старта бОльшего проекта. Я хочу попробовать этот способ разработки, хотя обычно люди поступают наоборот.

Я выпускаю исходный код игр под GPL, хотя он доступен и под другими лицензиями. И я жду-недождусь, когда кто-нибудь начнёт продавать свою игру под GPL, ничего не платя компании id, поставляя исходники вместе с игрой. Это будет круто!

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

Очевидно, что платформы сотовых телефонов эволюционируют так же, как и ПК. Через несколько лет бюджет игр для сотовых вырастет до тех же нескольких десятков миллионов долларов. Но пока они - идеальный вариант для старта.

5) Как должно развиваться железо? Железо развивается очень хорошо. Единственное чего мне хотелось - получить виртуализацию наложения текстур. Чтобы в результете железо позволяло накладывать на каждый предмет свою уникальную текстуру.

6) Вопрос: За и против многоплатформенной разработки?
Интересно, что платформы сейчас более-менее одинаковы по отношению друг к другу. Чтобы работало везде, проще начинать с CELL. Программировать проще, если начинать с 360. Портировать на консоли программы с PC очень сложно.

Сейчас Quake4 - пишется по-майкрософтовски. Две главные нити крутят игру и рендерер. Симулятор физики и оптимизацию рендерена планируется пихать в другие нити или процессоры (CELL).

7) Вопрос: Как насчёт ускорителя симуляции физической модели в железе?

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

8) Вопрос: Творчество при создании игр?

Сейчас люди предпочитают критиковать отсутствие творчества вместо того, чтобы заниматься делом. Много людей отказалось, когда мы начинали работу над игрой для сотового. Но малые платформы сейчас - это шанс. Код моих игр под GPL - тоже шанс. Добейтесть успеха с ними, и вы получите работу в индустрии игр.

9) Вопрос: Исходники под LGPL?

Меня несколько раздражает, когда люди ведут себя по-собственнически по отношению к своим небольшим добавлениям к коду, куда уже вложено куда больше усилий. GPL обязывает "отдавать обратно".

С другой стороны, есть много примеров поделок, для которых на первый взгляд кажется, что "сделано 90% от приличной коммерческой игры", тогда как на самом деле сделано только 10% или 15%. Поэтому я советую начинать с уже готового.

10) Вопрос: порядки быстродействия в графике?

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

11) Вопрос: сеть?

Сеть это здорово. Приятно было наблюдать за развитием популярности сетевой игры.

С увеличением ширины канала можно будет избавится от читерства - каждый ПК может быть всего лишь игровым терминалом, куда будет пересылаться сжатое видео. Майкрософт Live - тоже хорошо, потому что он сделал общение стандартом во многих играх.

...Тут Кармак говорит о каком-то летательном аппарате, который он конструирует и о своих Феррари, с которыми он уже расстался...

12) Вопрос: выражение лица у персонажей?

Это сложная проблема, следующая ступень в отрисовке графики. Я боюсь, что она сравняет бюджет разработки игр с бюджетом фильмов. Счёт пойдёт на сотни миллионов.

Пока что даже в кино получается отрисовывать лицо у "существа, которое не совсем человек". Вряд ли эту проблему можно решить в этом поколении железа.