Игры
6 сентября 2004, 00:33

Особенности тестирования и настройки Doom3

...а также полное описание всех команд и переменных внутри игры. Долгожданный Doom3 всё откладывали и откладывали. И вот наконец, в августе 2004 года этот вожделенный продукт появился на рынке. И что же мы имеем?

Вот и дождались мы Doom3. В сети мгновенно появилось огромное количество обзоров игры в основном говорящих о супер красивой графике и мега мощном геймплее. Тёмные коридоры, хищные монстры и ужасные вопли наполнили уже дома многих любителей погеймится в компьютерные игры. Более того, многие люди специально апгрейдили компьютер под эту игру, решая, что вот эта видеокарта однозначно потянет Doom3. Этот процесс начался уже довольно давно, поэтому многие наивные души, купившие себе видеокарту пару лет тому назад для Doom3 сейчас думают, что были неправы. Поводом для многих споров, касающихся требований к железу новоявленного героя, была альфа версия, украденная с E3. В тот момент было много споров. Те, у кого игра безбожно тормозила, в один голос кричали – “Кармак умный, он сделает так, что Doom3 в максимальном качестве будет работать со скоростью скорострельного пулемёта даже на GeForce 4 MX-Series, а в альфа версии нет оптимизаций под современные процессоры и специфику графических карт”. Те, кто обладал большим опытом – возражали, и говорили, что финальная версия будет медленнее, чем вызывали у любителей GeForce 4 MX-Series припадки ненависти с выделением энергии на все окружающие предметы. Время шло. Долгожданный DooM всё откладывали и откладывали. И вот наконец, в августе 2004 года этот вожделенный продукт появился на рынке. И что же мы имеем?

А имеем мы три поколения сменившегося железа со времён кражи Альфа версии. Да-да, когда появилась Альфа версия, мы все читали статьи о GeForce4 Ti4600, а ATI вообще в серьёз не воспринимали. Топовый процессор на тот момент был Intel Pentium 4 2.8ГГц без HyperThreading, а 90% пользователей мечтало поиграть в DooM на 1400 Athlon. И всё это топовое железо того времени, финальная версия Doom считает хламом. Большинство видеокарт продающихся даже на настоящий момент на рынке в средних и нижних ценовых диапазонах, то есть 50-200 долларов, тоже не потянут Doom в концепции “Играйте в игры, как их задумывал разработчик”. Но не в одной видеокарте дело. Минимальные требования игры звучат так:

“Pentium 4 chip or AMD Athlon 1500, 384 megabytes of memory, two gigabytes of hard drive space, an nVidia GeForce 3 graphics card or better or an ATI Technologies 8500 or better. If you’re still keeping a GeForce 2MX/4MX and an older Pentium III in your PC, now’s the time for an upgrade and here are a few tips.”

Начнём разрушать иллюзии с памяти. Установленное опытным путём минимальное количество памяти, на котором можно “играть” в Doom на конфигурации HIGH это 768Мбайт. На 512Мбайт вы будете играть примерно 2\3 времени, одну треть игрового процесса компьютер будет играть сам с собой, а точнее со своим жёстким диском, измеряя возможности по выращиванию SWAP-файла до заоблачных величин. Про 384Мбайт даже думать страшно, потому что там играть будет можно только в перерывах между постоянной работой жёсткого диска. Панацеей от подобной болезни послужит переключение графики в режим Medium, но как упоминалось в предыдущем абзаце, это уже будет компромисс.

Далее, Doom умеет тормозить и сам по себе. В некоторые моменты игры, начинается дозагрузка текстур, и машина замирает на 1-5 секунды, даже если оперативной памяти в компьютере 1Гбайт. Особый аншлаг бывает в ситуациях, когда вы открываете дверь в большое пространство, где естественно прячется куча монстров. Дверь открывается и вы видите всё еще закрытую дверь, хотя она должна бы открыться. Вы дёргаете мышью – никаких действий. И вдруг, вы стоите к двери спиной, а вашу спину уже глодает пара чертей. Пока вы смотрели на якобы закрытую дверь, машина загружала текстуры пространства за дверью, действия вашей мышки были записаны, а как только загрузка текстур закончилась, воспроизведены.

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

Методика тестирования

Многие производители игр на настоящий момент не очень то жаждут, чтобы их продукты использовали как бенчмарки. Это связанно с желанием остаться в стороне от жёсткой политической игры между производителями компьютерного железа. ID-Software никогда не относилась к этим компаниям и вряд ли когда-нибудь к ним присоединится, так как её продукты всегда использовались как основные бенчмарки для оценки производительности современного железа. Doom3 не исключение. Если не считать официального модуля Doom3 Benchmark для использования в компонентных бенчмарках, сама по себе игра так же является высококачественным измерителем производительности, способной работать как в пользовательском режиме, так и в режиме командной строки.

Консоль для ввода команд в Doom3 вызывается нажатием CTRL+ALT+”~”. Если вы планируете пользоваться консолью постоянно, то мы рекомендуем создать в каталоге /base файл autoexec.cfg и внести в него команду:

seta com_allowconsole "1"

После этого, консоль будет открываться по нажатию одной кнопки “~”. Что же касается созданного файла autoexec.cfg, то все записанные в него команды будут исполняться в момент запуска Doom3.

Финальная версия Doom3 поддерживает три вида демо файлов и мы рассмотрим их по порядку. Все демо файлы автоматически располагаются в каталоге “/doom3/base/demos/”, а скриншоты в каталоге “/doom3/base/screenshots/”.

Первый вид - это классические демо-файлы, в которых записаны все действия игрока после введения в консоли:

recordDemo \<name>

где \<name> имя файла, который будет сохранён в обозначенном выше каталоге с расширением  .demo.  Для остановки записи демо-файла используется команда:

stoprecording

Для воспроизведения записанного ролика используется команда:

playdemo \<name>

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

В отличие от Альфа версии, финальный Doom3 не требует никаких дополнительных настроек для нормальной работы команды timedemo и имеет нормально записанные, встроенные демо-ролики. Для измерения производительности используется команда:

Timedemo \<name>

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

Timedemoquit \<name>

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

logfilename \<name>
logfile 1

Где \<name> имя файла журнала. Данный файл будет сохранён в каталоге “/doom3/base/” Результат же будет находиться в конце файла. Подобная система очень удобна при построении бенчмарка на базе пакетных файлов операционной системы.

В Doom3 встроен уже записанный ролик demo1.demo , с помощью которого можно проводить тестирование. Скорее всего, данный ролик станет стандартом де-факто для тестирования производительности в Doom3, так как его не требуется скачивать с сайтов тестовых лабораторий и при этом он обладает всеми необходимыми для тестового ролика качествами.

Пример для одиночного результата:

Timedemo demo1.demo

Пример для автоматизированной системы:

Создать файл в “/doom3/base/– demoauto.cfg и вставить в него в следующие строки:

logfile 1
Set D1 "timedemoquit demo1"
vstr D1

Затем запустить Doom3 из командной строки со следующими параметрами:

start /wait doom3.exe +exec demoauto.cfg

Результат будет выведен в файл “/doom3/base/qconsole.txt”. Параметры Doom3 можно  менять с помощью файла “/doom3/base/DoomConfig.cfg”.

Второй вид демо - статический кадр. При записи такого ролика записывается положение всех персонажей и точки зрения камеры на момент введения команды:

demoshot \<name>

При этом записывается один кадр, в котором всё происходящее на экране, включая постоянно движущиеся элементы (машины, роботы, световые эффекты) - заморожено. Имена файлов подобных демо-роликов всегда начинаются на “shot\ __” а имя, указанное в переменной \<_name> прибавится к “_shot__ ”. Если имя не введено, то к “_shot__” будет прибавлен порядковый трёхзначный номер. Данная команда нужна для организации создания тестовых скриншотов с игры.

Воспроизведение статических демо файлов обеспечивается с помощью стандартной команды:

playdemo \<name>

После запуска ролика статичный кадр висит до нажатия кнопки “ESC” или следующей команды из консоли. Скриншот с экрана, при этом, можно сделать с помощью кнопки “PrinttScreen” или с помощью консольной команды:

Screenshot

Скриншот после этой команды будет сохранён в каталоге “/doom3/base/screenshots/” в стандарте TGA . Внутри игры так же записаны две статические сцены shot_demo001 и shot_demo002, которые мы рекомендуем использовать для сравнений качества графики.

Пример для одиночного результата:

playdemo shot_demo001
screenshot

Пример для автоматизированной системы:

Создать файл в “/doom3/base/– scr.cfg и вставить в него в следующие строки:

playdemo shot_demo001
wait 200
screenshot
playdemo shot_demo002
wait 200
screenshot
quit

Затем запустить Doom3 из командной строки со следующими параметрами:

start /wait doom3.exe +exec scr.cfg

Результат будет выведен в каталог “/doom3/base/screenshots/shotXXXXX.tga”. Параметры Doom3 можно менять с помощью файла “/doom3/base/DoomConfig.cfg”.

Третий вид – демо по лог файлу из командной строки. Данная функция позволяет записывать демо-ролик без предварительного введения команды записи ролика, то есть пост-фактум. К примеру, вы особо удачно прошли уровень, а ролик на запись не поставили. После введения команды:

writecmddemo \<name>

Ваши действия будут полностью восстановлены по консольному файлу-журналу и сохранены с момента загрузки карты до момента ввода команды. Всё бы ничего, но есть в этой команде и свои минусы. Так как запись идёт с записей в “командной строке”, а команда wait при игре не запоминается из-за работы в реальном времени, то все действия не имеют между собой промежутков и ролик воспроизводится почти со скоростью TimeDemo. Плюс, если искусственный интеллект переиграет действия монстров, к примеру, из-за изменения быстродействия компьютера, то сценарий сломается, и вы будете убиты в ролике, тогда как в реальности блестяще прошли это место. Повторное воспроизведение ролика всё может поставить на свои места. В связи с этим мы посчитали данную функцию недоработанной. Так же существует вариант, что мы просто не придумали ей правильного назначения.

Данные демо файлы сохраняются в стандартной директории с именем “\<name>.cmd” Воспроизвести записанный ролик можно с помощью команды:

Playcmddemo \<name>

Так же присутствует команда:

Timecmddemo \<name>

С нашей точки зрения результат её работы некорректен.

Профили

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

Профилей качества графики в игре четыре и все они отличаются друг от друга не так уж и сильно. Мы проанализировали разницу в профилях и составили следующую таблицу:

Расшифровка параметраПараметрLowMediumHighUltraHigh
Профиль конфигурацииcom_machineSpec0123
Разрешающая способностьr_mode3 (640x480)3 (640x480)4 (800x600)5 (1024x768)
Качество рендерингаr_rendererbestbestbestbest
Работа с шейдерамиr_cgFragmentProfilebestbestbestbest
Работа с шейдерамиr_cgVertexProfilebestbestbestbest
Тениr_shadowsONONONON
Форсировать загрузку текстурr_forceLoadImagesOFFOFFOFFOFF
Отключение бампингаr_skipBumpOFFOFFOFFOFF
Отключение бликовr_skipSpecularOFFOFFOFFOFF
Фильтрацияimage_filterGL_LINEAR_MIPMAP_LINEARGL_LINEAR_MIPMAP_LINEARGL_LINEAR_MIPMAP_LINEARGL_LINEAR_MIPMAP_LINEAR
Антиалиазингr_multiSamplesOFFOFFOFFOFF
Использовать кэшimage_useCacheOFFOFFOFFOFF
Использовать сжатые текстурыimage_usePrecompressedTexturesONONONOFF
Использовать компрессиюimage_useCompressionONONONOFF
Игнорировать высокое качествоimage_ignoreHighQualityONONOFFOFF
Использовать усиленную компрессиюimage_useNormalCompression22OFFOFF
Ограничение звуковой системыs_maxSoundsPerShaderONONOFFOFF
Уменьшить размер карт выпуклостиimage_downSizeBumpONOFFOFFOFF
Уменьшить размер карт бликовimage_downSizeSpecularONOFFOFFOFF
Уменьшить размер текстурimage_downSizeONOFFOFFOFF
Уровень анизотропииimage_anisotropy0188

Как можно заметить, самые слабые профили не отключают основных функций. К примеру, профиль Low обладает и картами отражений и картами выпуклостей, более того, даже качество обработки всех вершин не зависит от профиля. Так же, от профиля не зависит Антиалиазинг, который выставляется в закладке Advanced. Разница становится видна лишь в качестве загружаемых в акселератор текстур. UltraHigh профиль рассчитан на видеокарты, которые еще не существуют в природе, так как требует 512Мбайт локальной памяти на их борту. Это связано с использованием несжатых текстур и отключением всей компрессии данных, которые передаются в акселератор. Стоит обратить внимание, что даже UltraHigh конфигурация по умолчанию выставляет разрешение экрана в 1024х768,  а конфигурации Low и Medium вообще работают в разрешении 640х480. Далее, в профиле High, включается компрессия текстур. Более разницы между High и UltraHigh профилями нет. Medium конфигурация, включает опцию “игнорирования высокого качества”, усиливает компрессию текстур, что естественно сказывается на качестве графики, и включает ограничение на количество одновременно обрабатывающихся звуковых потоков внутри одного звукового шейдера. Наконец, Low профиль, в добавку ко всем вышеописанным ограничениям, уменьшает размеры текстур, а так же размер карт отражений и карт выпуклостей. Понятное дело, что для видеокарт с небольшим количеством локальной памяти Low конфигурация просто является отдушиной, так как можно будет уместить все данные в локальную память. Если же объема локальной памяти на видеокарте не хватит, то запустится механизм AGP DIME, который позволит хранить часть данных видеосистемы в оперативной памяти компьютера, которой и так не хватает для нормальной работы DooM.  Это очень сильно скажется на производительности, поэтому большой объем локальной памяти на видеокарте для Doom3 критичен.

Уровень анизотропной фильтрации, так же меняется в зависимости от профиля. При лучшем качестве включена восьмикратная анизотропная фильтрация, а в худшем она просто отключена. Но опять же, о влиянии анизотропии и антиалиазинга на Doom3 мы поговорим позднее. А сейчас мы рассмотрим разницу между профилями, как в плане качества, так и в плане производительности.

quality.gif

На этом динамическом скриншоте, вы можете очень чётко увидеть разницу в качестве между профилями. Как можно заметить, между низким (LOW) и средним (MEDIUM) качеством, разница довольно-таки заметна, хотя и не особо критична. Видна эта разница на качестве карт выпуклостей наложенных на висящий в воздухе корабль - посмотрите между трёх двигателей. Так же есть разница на дальних объектах, у которых слегка увеличивается чёткость. Но основной рывок в качестве происходит при использовании профиля высокого качества (HIGH). Обратите внимание, насколько улучшились текстуры на полу от использования восьмикратной анизотропной фильтрации и отключения «усиленной компрессии» в сочетании с «игнорированием высокого качества». Так же стали заметно лучше видны дальние объекты, к примеру, решётка под потолком в противоположной стороне зала, а так же колонны около двери, да и вообще, четкость дальних текстур стала заметно выше. Что же касается сверх высокого качества (ULTRA HIGH) - то тут всё сложнее. Сказать по-честному, разницы между HIGH и ULTRA HIGH мы не заметили. Качество графики между ними практически идентично, причём этой разницы невидно даже при увеличении разрешения до 1600х1200. Вспоминаются восклицания ценителей чистого звучания компакт дисков без примесей MP3 упаковки, разница есть – вы просто должны её услышать, а если не слышите, то это уже ваши проблемы. А вот на производительности, использование ULTRA HIGH профиля сказывается очень заметно.

image002.gif

Обратите внимание на разницу в скорости между LOW и MEDIUM конфигурациями, её практически нет, а вот разница в качестве есть, поэтому использование LOW профиля оправданно только если у вашей видеоплаты установлено 64-128Мбайт локальной памяти, да и то с большим натягом. А вот между MEDIUM и HIGH профилем падение производительности более чем заметно, но и качество улучшается соответственно. Если ваш компьютер не начинает просить об эвтаназии при использовании HIGH профиля, то его включение оправданно. Возвращаясь к ULTRA HIGH профилю, сразу хочется сказать, что подобная потеря производительности обесценивает его, так как разница в качестве не заметна, а потери в скорости очень серьезные - больше чем между MEDIUM и HIGH. Отсюда вывод, фактически выбор стоит между профилями MEDIUM и HIGH. Если компьютер не тянет HIGH, то стоит использовать MEDIUM, если же и последний тормозит, а играть очень хочется, то профили вам уже не помощники, нужно начинать увеличивать производительность за счёт отключения более серьёзных функций, которые перечислены в таблице профилей как незатронутые.

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

Далее мы рассмотрим влияние на производительность функций анизотропии и сглаживания.

Анизотропия и сглаживание

Функции анизотропии и антиалиазинга в современном игровом жанре используются на добивание. То есть, если у вашей видеокарты остались свободные ресурсы во время игры их можно с лёгкостью добить использованием этих функций. Что интересно, качество графики при этом улучшается кардинально. Использование этих функций в Doom3, который и без них тормозит безбожно даже на топовом железе, выглядит слегка странно. С другой стороны, нынешнее топовое железо через полгода обещает стать историей, поэтому у функций антиалиазинга и анизотропии есть большое будущее. Более того, анизотропная фильтрация включается автоматически при использовании HIGH профиля, который выбран у нас в качестве основной тестовой настройки, поэтому можно уже однозначно сказать, эти функции всё более и более становятся необходимыми для нормального геймплея в современные игры. Поэтому начнём мы именно с анизотропии:

anizo.gif

На этом динамическом скриншоте вы видите разницу внутри HIGH профиля с включенной анизотропией и отключенной. После этого становится понятно, что скачёк качества в HIGH профиле во многом обеспечивается именно использованием анизотропной фильтрации. Абсолютно понятно, что её использование делает мир заметно более чётким и её включение просто обязательно для качественной картинки в Doom3. Далее мы посмотрим на разницу между режимами антиалиазинга.

aa.gif

Скажем честно, в разрешении 1024х768 четырёхкратный антиалиазинг даже на 21” заметен, только если приблизиться к экрану, а во время игры на это вообще внимания практически не обращаешь. Тем не менее, если присмотреться к картинке со сглаживанием начинаешь понимать, что лесенки на линиях всё-таки мешают воспринимать картинку еще более реальной и устрашающей. Поэтому по возможности антиалиазинг включать всё-таки надо. Другая сторона медали – за качество нужно платить производительностью.

image001.gif

Иногда такие графики расстраивают, а иногда радуют. Этот график сделал очень смешанное чувство. Начнём с хороших новостей. Использование анизотропной фильтрации вне зависимости от разрешения практически бесплатно. То есть, играть без анизотропной фильтрации нет никакого смысла. Падение производительности от использования антиалиазинга незаметно вплоть до разрешения 1024x768 и только в верхних разрешениях падение становится линейным, и это плохая новость. С одной стороны, в нижних разрешениях использование четырёхкратного антиалиазинга более чем оправданно, с другой стороны, этот факт говорит о жуткой процессорозависимости. Посудите сами, тестирование проводилось на Pentium4 3.0ГГц с HyperThreading на видеокарте ATI X800Pro. При этом половина всех результатов «повисла» на процессоре, а ведь 3ГГц это очень не мало и подобной мощностью обладает очень небольшой процент основного парка машин. Это означает, что для уравнивания мощности ATI X800Pro необходимо иметь процессор частотой ближе к 4ГГц. А ведь ATI X800Pro даже из существующих видеокарт не является топовой, она просто принадлежит к сегменту Hi-End. Просто представьте, какая потребуется мощность центрального процессора для недавно анонсированных, но еще не вышедших на рынок чипов ATI и NVIDIA, чтобы CPU не был узким местом. Может быть, именно поэтому в ближайшее время использование антиалиазинга станет более чем оправданным, ведь его включение не будет сказываться на производительности при нехватке процессорной мощности.

Предварительное сводное тестирование

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

image003.gif

Как можно заметить, на процессоре повисает даже ATI 9700Pro, выпущенная на рынок уже больше полутора лет тому назад. В нижнем разрешении она даже обогнала более быструю карту ATI X800Pro, но в дальнейшем соотношение сил выровнялось до адекватного. Отвратительный результат получился у ATI 9800SE, карта показала неиграбельный результат уже на разрешении 1024х768.  ATI 9600XT соответствует  производительностью своей цене, а вот карта NVIDIA GeForce4 Ti4200 показала очень неплохой результат. Но с ней есть своеобразные проблемы, которые заслуживают отдельного описания.

Дело в том, что NVIDIA GeForce4 Ti4200 не имеет полной аппаратной совместимости с DirectX 9.0 и последней версией OpenGL библиотеки, отсюда в графике появились некоторые особенности. К примеру, для неё работает абсолютно другая карта освещения, отличная от карт ATI даже при беглом взгляде.

nv_ati.gif

Как вы понимаете, при подобной разнице в графике вести речь о сравнениях производительности с конкурентами некорректно, к тому же для NVIDIA GeForce 4, карты с аппаратной поддержкой DirectX 9.0 и не конкуренты. Просто данный факт показывает, что на картах без поддержки шейдеров второй версии Doom выглядит иначе, так как NVIDIA GeForce FX и NVIDIA GeForce 6 подобными особенностями не обладают. К сравнению качества графики и производительности мы вернёмся в полном сводном тестировании.

На этом мы заканчиваем обзор по тестированию в новой игре Doom3. Далее читайте справочный материал с полным описанием всех команд и переменных внутри игры. Приятного тестирования.

Интересные команды и особенности

Этот раздел мы оставили на последок. В нём мы постараемся дать краткий глоссарий для управления Doom3 из консоли.

Vid_restartБез параметровПерезагрузка видеоподсистемы. Требуется после изменения любых настроек видеосистемы, для того чтобы они вступили в силу.
R_mode ХX = 1,2,3,4,5,6,7,8Изменение разрешения экрана, где цифра соответствует разрешению: 1 – 320x2402 – 512x3843 – 640x4804 – 800x6005 – 1024x7686 – 1152x8647 – 1280x10248 – 1600x1200
r_multiSamples XX= 0, 2, 4, 6Включение режима антиалиазинга. Цифра означает количество семплов в маске: 0 - Выключение
image_anisotropy ХХ= 0 , 1, 8, 16Качество анизотропной фильтрации: 0 – Выключение
r_skipBump XX= 0, 1Отключение карт выдавливания на текстурах: 0 – Выдавливание включено1 – Выдавливание отключено
r_skipSpecularX= 0, 1Отключение карт бликов на текстурах: 0 – Блики включены1 – Блики отключены
r_shadowsX= 0, 1Отключение теней: 0 – Тени отключены1 – Тени включены
Map ХХ= Имя картыИмена карт можно увидеть в самой консоли нажав на табуляцию. По большей части все карты проходишь в момент прохождения игры, но есть карты, которые загружаются только командой map. Для примера, карта где лежат все карманные компьютеры со всей игры : Game/pdas.map Или три карты, которые предназначены для тестирования : Testmaps/lotsaimps.mapTestmaps/boxstack.mapTestmaps/box.map Так же, этой командой можно загрузить любую внешнюю карту.
s_restartБез параметровПерезагрузка звуковой подсистемы. Требуется после изменения любых настроек звуковой системы, для того чтобы они вступили в силу.
s_nosound XX= 0, 1Отключение звуковой подсистемы: 0 – Звук включен1 – Звук выключен
aviDemo ХХ= Имя демороликаЗаписать из файла demo ролика последовательность TGA картинок, с помощью которых можно позднее воссоздать AVI файл. Звуковой трэк записывается в WAV файл. Разрешение уменьшено. Разрешение TGA – около 400х400 точек.
aviGameБез параметровЗаписать последовательность TGA картинок с помощью которых можно позднее воссоздать AVI файл. Запись в реальном времени. Записывать практически невозможно, так как моргает весь экран из-за интерполяции картинки, а игра работает со скоростью 1-2FPS. Разрешение TGA – около 400х400 точек.
BenchmarkБез параметровИнтерполирует картинку и показывает количество кадров в секунду. За 10 секунд, получаешь 10 результатов. Лучше использовать при очень большом разрешении.
GodБез параметровРежим бога
NoclipБез параметровРежим хождения сквозь стены
KillMonsterБез параметровУбить всех монстров на уровне.
NotargetБез параметровМонстры больше на вас не наводятся, но если выстрелите, еще как наведутся
Give allБез параметровДать всё оружие и здоровье.
GfxinfoБез параметровИнформация о вашей видеокарте
conDump XX=Имя файлаСделать дамп с вашей консоли в файл.
Connect XX= номер подключенияПодключиться к серверу с номером подключения, обозначенным после команды lanscan.
Cvar_restartБез параметровПерезагрузить все переменные
Dir XX= имя каталогаВывести список файлов и директорий
Dirtree XX= имя каталогаВывести список файлов и директорий в форме дерева
DisconnectБез параметровОтключиться от сервера
EditorБез параметровЗапустить редактор карт. В этой статье мы намеренно обходим вопрос создания карт и всех команд для этого, находящихся внутри игры, так как это отдельная, очень объемная тема, заслуживающая описания не в рамках этой статьи. Однако стоит отметить, что в Doom3 встроен полноценный редактор карт.
Exec XX= имя конфигурационного файлаИсполнить конфигурационный файл с расширением .cfg. Может применяться в момент запуска игры в виде параметра к EXE файлу. Пример: Doom3.exe +exec X.cfg
ExitБез параметровВыход из игры
Freeze XX= секундыПолностью заморозить игру на X секунд. Работает только в режиме developer.
Gamekick XX= Имя игрокаВышибает из сетевой игры плеера по его имени
In_restartБез параметровПерезагрузить систему ввода (мыши, джойстики и т.д.)
KillБез параметровСамоубийство
LanscanБез параметровОтсканировать локальную сеть на предмет серверов и вывести их список
ListbindsБез параметровПоказать привязку кнопок управления к действиям в игре
ListcmdsБез параметровПоказать все команды консоли
listCvarsБез параметровПоказать переменные.
listGameCmdsБез параметровПоказать только игровые команды
listServersБез параметровПоказать локальные сервера
listSoundDecodersБез параметровПоказать звуковые декодеры
listSystemCmdsБез параметровПоказать только системные команды
loadGame XX= имя .save файлаЗагрузить игру. Имена .save файлов можно вывести табуляцией
MakeMegaTextureБез параметровСоздать огромные текстуры
nextMapБез параметровЗагрузить следующую карту
playerModel XX=Имя моделиПоменять внешний вид плеера
promptKeyБез параметровВывести окно для ввода CD-Key
QuitБез параметровВыйти из игры
Rcon??????
ReconnectБез параметровПодключиться к серверу после разрыва соединения.
saveGame XX= имя файлаСохранить игру.
Say XX= фраза, которую хотите сказатьСказать всем участникам сетевой игры фразу или предложение.
sayTeam XX= фраза, которую хотите сказатьСказать участникам вашей команды в сетевой игре фразу или предложение.
screenshotБез параметровСделать скриншот с экрана
serverForceReadyБез параметровПринудительная установка статуса готовности всех игроков к игре.
serverInfo XX= номер подключенияИнформация о сервере
serverMapRestartБез параметровПерезагрузить карту при сетевой игре
serverNextMapБез параметровЗагрузить следующую карту при сетевой игре
Set X YX= название переменной Y= значение переменнойВыставить и обозначить переменную
Setа X YX= название переменной Y= значение переменнойВыставить и обозначить переменную, которая потом будет сохранена в архив, и будет назначаться при следующей загрузке игры
Setu X YX= название переменной Y= значение переменнойПеременная будет показываться в User Info
Sets X YX= название переменной Y= значение переменнойПеременная будет показываться в Server Info
sizeDownБез параметровУменьшить область отображения
sizeUpБез параметровУвеличить область отображения
spawnServerБез параметровСоздать сервер для сетевой игры
Toggle X YX= название переменной Y= значение переменнойПереключить переменную. Может работать как команда SET. Пример Toggle X – если переменная 1 или 0, то переключает значение на противоположное Toggle X Y – присваивает переменной x значение Y
Unbind XX= название клавишиОтключает от клавиши управления действия
unbindallБез параметровОтключить действия от всех клавиш управления
Vstr XX= название переменнойИсполняет значение переменной как команду
Wait XX= количество фреймовЗадержка перед действием в заданное количество фреймов
weaponSplatБез параметровДолжна оставлять следы крови на оружии. У нас не заработало.
writeConfig XX= имя конфигурационного файлаСохранить настройки в конфигурационный файл

В следующей таблице приведены предметы, которые вы можете вызвать перед собой командой spawn или заполучить сразу к себе в арсенал командой give. Само собой, в арсенал монстра не положишь, поэтому give работает только для оружия, powerup и ключей. То есть для всего, что может быть в вашем арсенале. К примеру, команда:

spawn monster_boss_cyberdemon

...рождает прямо перед вами кибердемона во всей своей красе, естественно, настроенного по отношению к вам враждебно. Поэтому применять вышеописанную команду, мы рекомендуем совместно с командой god.

Патроны и энергия
ammo_bullets_small
ammo_bullets_large
ammo_shells_small
ammo_shells_large
ammo_clip_small
ammo_clip_large
ammo_grenade_small
ammo_rockets_small
ammo_rockets_large
ammo_cells_small
ammo_cells_large
ammo_belt_small
ammo_bfg_small
powerup_berserk
powerup_invisibility
powerup_megahealth
powerup_adrenaline
Ключи
---
item_key_blue
item_key_red
item_key_yellow
item_keycard_generic
item_keycard_aco
item_data_linker
item_medkit
item_medkit_small
item_backpack
item_pda
Оружие
---
weapon_bfg
weapon_chaingun
weapon_chainsaw
weapon_fists
weapon_flashlight
weapon_handgrenade
weapon_machinegun
weapon_pda
weapon_pistol
weapon_plasmagun
weapon_rocketlauncher
weapon_shotgun
weapon_soulcube
Монстры
---
monster_boss_cyberdemon
monster_boss_guardian
monster_boss_guardian_seeker
monster_boss_maledict_cinematic
monster_boss_sabaoth
monster_boss_vagary
monster_demon_archvile
monster_demon_cherub
monster_demon_hellknight
monster_demon_imp
monster_demon_imp_crawler
monster_demon_imp_crawl_armdoor
monster_demon_maggot
monster_demon_mancubus
monster_demon_pinky
monster_demon_revenant
monster_demon_tick
monster_demon_trite
monster_demon_wraith
monster_flying_cacodemon
monster_flying_lostsoul
monster_turret
monster_zombie_bernie
monster_zombie_boney
monster_zombie_commando
monster_zombie_fat
monster_zombie_fat2
monster_zombie_base
monster_zombie_jumpsuit
monster_zombie_maint_bald
monster_zombie_maint_no_jaw
monster_zombie_maint_nojaw
monster_zombie_maint_wrench
monster_zombie_maint_skinny
monster_zombie_suit_neckstump
monster_zombie_suit_bloodymouth
monster_zombie_suit_skinny
monster_zombie_labcoat_neckstump
monster_zombie_labcoat_limb
monster_zombie_labcoat_skinny
monster_zombie_labcoat_pipe
monster_zombie_tshirt_bald
monster_zombie_tshirt_blown
monster_zombie_maint_flashlight
monster_zombie_maint
monster_zombie_maint2
monster_zombie_maint_fast
monster_zombie_morgue
monster_zombie_sawyer
monster_zsec_machinegun
monster_zsec_pistol
monster_zsec_pistol_slowfire
monster_zsec_shield
monster_zsec_shotgun
light

Также смотрите полный список всех переменных Doom3.