Главная Мой профиль Регистрация Выход Вход
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход
Вход
Навигация по сайту
Результаты матчей
Tula Team (T|T)
11-0
Arise
13-3
Quick Fire (qf)
9-3
AllBlacks
12-2
Новости
Мини-чат
200
Мы открыты для вас
Итак по многочисленным просьбам играющих я тут выложил некоторую информацию по биндам и конфигурации игры...
 
 
Многие слышали что с правильным "конфигом" игра начинает просто летать, и что "про" игроки играют только на своих компах, потому что там прописаны суперконфиги, и что если поставить "крутой конфиг", то даже "нубы" смогут влет выносить "папок" и так далее и тому подобное... Толпы начинающих игроков бросаются рыться в поисковиках, задавая фразы типа "конфиги для игры в dods". Знающие английский ищут "config dods", жаждущие скилла ищут "конфиги для снайпера dods", а самые продвинутые даже "dods консоль". Многие находят, некоторые даже ухитряются подлючить, но лишь единицы понимают что именно они делают. Результат как правило один - после всех поисков, выспрашиваний на форумах, возни с установкой - разочарованное "ыыы" и переустановка стима :)
Пожалуй, пришло время поговорить о конфигах и скриптах и прояснить эти вопросы. И для начала разберемся, что же это за чудодейственный конфиг и зачем же он нужен.
 
 
 
О конфигах и скриптах
 
 
1 Конфиг
 
Начать с того, что сленговое слово "конфиг" имеет в обиходе довольно много значений, единственно правильное из которых конечно "конфигурационный файл", то есть файл, хранящий настройки игры. Как правило первое что делает человек в новой для себя игре - пытается найти все функции, разобраться с управлением и настроить его так как ему удобно. И вполне естественно, что он желал бы чтобы все настройки остались неизменными до следующей игры. При этом он совершенно не подозревает о том, что нажимая кнопку ОК и сохраняя настройки, он тем самым изменяет содержимое файла настроек "config.cfg", того самого мистического "конфига".
 
Опции
 
 
Сам файл расположен в папке игры "Day of Defeat Source" и является в действительности обычным тектовым файлом, который можно редактировать например во встроенном текстовом редакторе Windows - WordPad (NotePad - блокнот - для этого не годится, он не поддерживает расширенную кодировку).
Как правило его можно найти по следующему пути:
<Диск>:\Program Files\Steam\steamapps\<Имя>\day of defeat source\dod\cfg\config.cfg
Причем вместо "<Диск>" нужно подставить имя системного логического диска (как правило "C"), а вместо "<Имя>" - ник при регистрации в стиме (например "VasjaOfDeath"). Можно для уверенности проделать следующую операцию: в настройках игры поменять например значение клавиши "Использовать предмет" на клавишу ввода ("Enter"), затем выйти из игры, найти предполагаемый конфиг и открыть его с помощью WordPad. Среди прочего в списке обнаружится строка
bind "ENTER" "+use"
В данном случае bind - это консольная команда, привязывающая к клавише "Enter" игровую команду "+use".
Как правило все конфигурационные файлы состоят из таких вот наборов команд, исполняемых каждый раз при старте игры. Все команды построены по примерно одинаковому принципу:
команда параметр1 параметр2 .. параметрN
В нашем примере у команды два параметра, но их может быть и больше и меньше (а может и вообще не быть). Параметры разделены пробелом и как правило заключены в кавычки (этого зачастую можно и не делать, но для надежности кавычки лучше ставить всегда).
 
2 Консоль
 

Теперь поговорим об оболочке, в которой исполняются команды. Обычно вся работа движка Source скрыта от пользователей, как и в любой системе, но для продвинутых есть возможность прямого доступа к системе выполнения команд, а именно - командная консоль. По сути это просто дополнительное окно, в котором как в чате есть строка редактора и история сообщений (в данном случае системных). По умолчанию консоль не активирована, поэтому для начала нужно в настройках клавиатуры вызвать панель "Дополнительно" и поставить галочку напротив "Включить консоль разработки".
 

 
Консоль
 
 
После этого обычно c нажатием тильды (клавиша "~" или попросту "ё" ) открывается командная консоль. На некоторых клавиатурах с нестандартной раскладкой может потребоваться вмешательство в конфиг. На немецкой клавиатуре, например, тильда находится совсем в другом месте и вызывается сложной комбинацией клавиш. В этом случае необходимо прописать в конфиг команду
bind "\" "toggleconsole"
В сложных случаях можно все равно заставить консоль открыться вместе со стартом игры, дописав в ярлык DoDS к строке с путем к файлу "Steam.exe" параметр "-console". Выглядеть это будет примерно так:
<Диск>:\Program Files\Steam\Steam.exe -applaunch 300 -console
Кстати, начальная активация консоли возможна также командой
con_enable "1"
Добившись открытия консоли, попробуйте для начала ввести в командную строку уже известную команду bind - с нажатием первых же клавиш появляется меню подсказки (очень удобно если не помнишь в точности правильное написание).
 

 
Консоль 2
 
 
Введите до конца команду (вернем клавише ее исконное значение)
bind "e" "+use"
После выхода из игры, эта запись добавится в файл "config.cfg", но.. о, ужас! bind "ENTER" "+use" тоже все еще там! То есть теперь у нас есть две клавиши, ответственных за использование предметов. Конечно, никакой особой проблемы в этом нет и клавишу ввода можно легко "перебиндить" на что-либо другое, удалить из конфига или "разбиндить" в консоли:
unbind "ENTER"
И нет проблем. Пример этот здесь был нужен только как предупреждение: движок игры пытается "запомнить" все, что так или иначе попадает в командную строку (другое дело, что не все он может запомнить, но об этом позже), поэтому перед началом серьезных экспериментов с конфигурационными файлами и консолью, стоит скопировать свой рабочий конфиг в отдельную папку, либо в ту же папку "cfg", но с другим именем, например "config.cfg.old". Конечно, достаточно удалить "кривой" файл и система создаст при старте новый, с настройками по умолчанию, но тогда придется заново возиться с выбором всех настроек. А так - переписал файл из старого и продолжай эксперименты.
 
 
3 Команды и переменные
 
 
 
Команда bind конечно чудо как хороша, но толку от нее для улучшения игровых параметров конечно - маловато будет, скажет нетерпеливый игрок. До поры до времени это конечно так, но ведь мы еще не добрались до скриптов... Хотя один полезный игровой аспект все же придумать можно:
bind "ENTER" "say sorry, i'm noob in this game!"
Очень полезно, особенно после того как завалишь одной гранатой двух-трех игроков своей команды :) ("say" выводит все послестоящее в общий чат игры, можно заменить на "say_team", чтобы написать в чат своей команды).

Но все же займемся более насущным, а именно: какие же команды заставляют игру "летать"? К ним относятся особый род команд, изменяющих содержимое системных переменных. Системные или по-другому, консольные переменные хранят глобальные настройки игры. Они всегда содержат только один параметр и этот параметр и становится значением переменной.

Переменные различают по специфическим приставкам, называемым префиксами, определяющими область применения команд. Наиболее распространенные системные переменные начинаются следующими префиксами:
cl_ - client - многопользовательский клиент
mat_ - material - материальная подсистема
net_ - networking - подключение к сети
phys_ - physics - физика
r_ - renderer - прорисовка видеоизображения
sv_ - server - настройки сервера

Хорошим примером использования консольных переменных может служить например очень полезная команда "cl_downloadfilter".
Если вы часто скитаетесь по малознакомым серверам, то наверняка сталкивались с проблемой закачки ненужных файлов, начиная с безобидных (то есть маловесящих) звуковых эффектов и заканчивая полновесными мегабайтными саундтреками. Втречаются сумасшедшие админы, пытающиеся подчас запихнуть на сервер целый хит-парад. И хуже всего то, что подключаясь на такие сервера ради любимой карты со стандартными настройками, приходится весь этот хлам качать, так что подключившись, поиграть уже и не успеваешь. Для борьбы с такого рода "спамом" можно прописать в конфиг следующую строку:
cl_downloadfilter "nosounds"
Эта команда блокирует закачку всех дополнительных звуков, что позволяет сэкономить кучу времени (к сожалению эта команда срабатывает не для всех серверов - люди, настраивающие сервера, знают о командах и переменных как правило намного больше чем пользователи).
Кроме того существует еще одна более радикальная версия:
cl_downloadfilter "none"
В этом случае не будут подгружаться вообще никакие файлы, в том числе правда и новые карты.
Чтобы вернуться к стандартному значению (разрешать загрузку файлов с сервера), пишем следующее:
cl_downloadfilter "all"

Однако тут же возникает вопрос: как сделать чтобы когда нужно ставился фильтр звуков, или даже полностью запрет на закачку, а когда не нужно чтобы можно было возвращаться к стандартным настройкам? Неужели каждый раз лазить в конфиг и при этом мучительно вспоминать как же там правильно пишется название параметра?
Можно конечно записать все три параметра в конфиг и деактивировать два из них, поставив перед каждой строкой символы комментария "//". Выглядеть это будет примерно так:
cl_downloadfilter "nosounds"
//cl_downloadfilter "none"
//cl_downloadfilter "all"
Этот вариант хорош только удобством редактирования, но игру нужно каждый раз запускатъ заново. Как динамическую альтернативу, при частой смене настроек, можно предложить использование консольной команды "exec". С ее помощью можно подгружать собственные конфигурационные файлы пользователя. Тогда в файле config.cfg остаются только закоментированные значения (чтобы не забыть), а действующие настройки выносятся в отдельные файлы.

Для блокирования загрузки звуков создадим к примеру текстовый файл "nosounds.txt", и пропишем в него уже знакомое:
cl_downloadfilter "nosounds"
После сохранения файла в извесную уже нам папку cfg (где лежит и конфиг), необходимо поменять его расширение, так чтобы он назывался "nosounds.cfg". Пользовательский миниконфиг готов. Аналогично создаем файл "sounds.cfg", в который заносим команду со значением по умолчанию "all". Теперь во время игры вызываем консоль и пишем:
exec nosounds
Все - фильтр включен. Чтобы снова разрешить загрузку выполняем
exec sounds
Конечно, создавать отдельные файлы для одной-единственной команды - это перебор, быстрее и проще выполнить ее напрямую из консоли, но на этом примере мы видим, что конфигов может быть и не один и что при необходимости настройки можно изменять прямо во время игры, одной командой.

Подведем итог. Итак, мы получили представление о том что такое конфиг, зачем нужна консоль и как задавать команды и переменные. Кстати говоря, полный список команд можно всегда найти на сайте сообщества разработчиков Valve. Справочник этот, правда, на английском и к большинству команд (а их там тысячи) даже и описания никакого нет, но великая правда состоит в том, что для эффективного вмешательства в настройки игры достаточно использовать не более 50 из них, а знать для повседневного использования нужно и того меньше - штук 10. Главный вопрос тут в том, чего именно хочется добиться или даже скорее, что нужно исправить?
      Основными проблемами пользователей в онлайн-играх типа DoDS являются, разумеется, отсутствие достаточно мощного железа и отсутствие же стабильной высокоскоростной связи (как правило решение этих вопросов также упирается в отсутствие денег :) ). В этом смысле использование правильного конфига может оказать большую помощь, для некоторых просто неоценимую. Итак, разберемся в чем же состоит проблема, чтобы определиться как ее решать (статья предполагает наличие понимания структуры и грамматики конфигов движка Source - см. выше, а также присутствие базовых знаний в устройстве компьютеров и в операционной системе Windows).
 
 
4 Требования
 
 
Игры на движке Source в общем-то относительно малопрожорливы в отношении ресурсов, но все же создают трудности для стареньких компьютеров. Основная проблема конечно - скорость просчета изображения. Как и во всех трехмерных играх, она очень зависит от процессора и видеоускорителя (видеокарты). Напомним официально описанные требования к железу:
Рекомендовано: 2.4 GHz Processor, 512MB RAM DirectX 9 graphics card
Требования надо сказать вполне современные, несмотря на то, что игра вышла уже больше двух лет назад (сентябрь 2005го). А ведь развитие компьютерной техники идет согласно закона Мура, который гласит, что число транзисторов на микросхемах каждые два года удваивается. В реальных условиях (и не только российских), большинство домашних систем находятся где-то рядом с указанными характеристиками, чаще немного ниже. Двухядерность, к сожалению, ощутимого прироста не дает, поэтому по-прежнему приходится ориентироваться только на частоту.
Минимум:1.2 GHz Processor, 256MB RAM DirectX 7 graphics card
Следует заметить, что минимальные требования означают всего-навсего, что игра запустится и даже как-то будет работать. А что если видеопамяти не 256 а 128? И как быть с ноутбуками? У многих из них графика не особо наворочена, да и частота процессора пониже чем у десктопов... Кроме того, видеопамять является в данном случае вовсе не качественной, а признаковой характеристикой. Ничего не сказано ни о частоте самой памяти ни видеопроцессора, нет никаких указаний на требуемые размеры пиксельных шейдеров... В любом случае, систем только-только удовлетворяющих минимуму хватает, и их владельцам хочется играть пусть не так же, но хотя бы приближенно к уровню комфортности своих более везучих (или состоятельных) собратьев.
 
 
5 3D видео
 
 
Прорисовка изображения является наиболее интенсивной задачей в трехмерных играх. Подробное описание технологии слишком обширно чтобы его здесь приводить, ограничимся основными этапами, которые позволят позднее получить представление о том, что происходит в подсистеме видео с изменением настроек.
Этап первый - моделирование. Здесь задействованы центральный процессор и оперативная память, изредка используются расчетные возможности видеоускорителя. Все объекты, будь то элементы местности, предметы или фигуры игроков, должны быть привязаны к системе координат и сориентированы в игровом пространстве, проверяется физика (столкновения игроков с предметами и между собой, влияние ветра на подвижные объекты вроде висящих проводов и тд). Все расчеты ведутся в векторном виде (каждый объект как набор ящиков - boxes), без учета перекрытия объектов. То есть если вы стоите и тупо пялитесь в стенку, за которой идет настоящая баталия, процессор все равно просчитывает все, что находится в "поле зрения" (и даже немного больше) как бы просвечивая рентгеном, почему - увидим дальше.
Второй этап - просчет непосредственной видимости объектов (vertex shading). Все векторные объекты обретают объем с помощью треугольников, образующих поверхность - их называют вершинами (от английского термина vertex - угол, вершина). При этом учитывается, видны ли вершины пользователю или перекрываются самим объектом. То есть вершины, расположенные сзади не прорисовываются, вершины, перекрытые частично, разбиваются на более мелкие и прорисовывается только часть из них. Этим занимается как правило видеокарта, если она этого "не умеет", то задача ложится на процессор.
Третий этап - наложение текстур и просчет освещения (rendering, pixel shading). Собственно здесь пиксели изображения и приобретают свой цвет. При этом происходит как бы "натягивание" материи текстур (часто - одновременно наложение нескольких) на каркасы объектов. Кроме того, на данном этапе учитывается глобальное и локальное освещение, влияющее в итоге на яркость каждого пикселя. Важным моментом является предварительный просчет "глубины" - пиксели, находящиеся ближе к зрителю "перекроют" пиксели в глубине. Возвращаясь к нашему примеру со стеной - здесь у нас будет большая экономия времени расчета, поскольку прорисовка "невидимых" пикселей не производится, но при этом мы видим к примеру отсветы вспышек выстрелов и дым пролетающих гранат базуки. "Прорисовывание" пока что происходит только в особой области памяти - фреймовом буфере. Наиболее сложный этап, практически всегда необходимо использование специфических свойств видеоускорителя. Некоторые операции может выполнять центральный процессор, но либо очень упрощенно, либо очень медленно.
Четвертый этап - наложение фильтров и эффектов (pixel shading). Здесь происходит пост-обработка изображения, на уже целиком сформированную картинку накладываются различные эффекты освещения (гамма-коррекция, слепящие блики) или эффекты связанные с геймплеем (размытие при контузии, эффект старого кино после смерти). Используется, аналогично предыдущему этапу, видеоускоритель либо - в редких случаях - процессор.
 
 
harrington
Что там за воротами (dod_harrington)? Этапы построения картинки: от векторных моделей к трехмерному изображению.
 
 
 
 
После этого происходит вывод изображения на монитор. Для тех кто осилил это описание еще раз замечу, что оно не претендует на полноту картины и дает лишь общее представление о работе, производимой компонентами компьютера для вывода одного-единственного кадра (фрейма) изображения в игре. Сколько таких кадров в секунду сможет отобразить компьютер - зависит как раз от возможностей компонентов и от требований к качеству прорисовки. Итак, первая важная характеристика, которую следует учитывать при оптимизации игры - fps.
 
 
 
Продолжение на следующей странице
 
 
Наш сервер
Музончик
Календарь
«  Февраль 2021  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
Наша игра
Кто онлайн
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Хостинг от uCoz