Как включить ботов в quake 3 arena

Обновлено: 18.05.2024

Quake 4

Quake 4

Quake 4 запись закреплена

Как создать ботов для игры, Quake 4?

1. Для начала, скачиваем вот эти 2 файла.

2. Q4max помещаем в папку с игрой.
Если у вас есть Q4max и вы незнаите версию файла, то помещайте файл с заменой.

3. Q4max-aas это боты. Помещаем эти файлы в папку Q4max.

4. Заходим в мод Q4max (в папке есть лаунчер и через него запускайте мод)
Когда вы вошли в Q4max, заходим "Сетевая игра" далее "Создать игру"
Как же создать ботов?
Находим "Min Bots" пишем там, своё число.
Далее выбирайте карту.

Quake III Arena - Консольные команды Quake3 или как оптимизировать игру под себя

Консольные команды Quake3 или как оптимизировать игру под себя

Перед вами первая часть посвящённая настройкам Quake. Обсуждаем,что не понятно спрашиваем.

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

Приступим. Для начала создай произвольный файл с именем, к примеру, аналогичным твоему нику (jakie.cfg), в который мы запишем конфиг.

Конфиг (каждый из файлов) очень удобно разбить на логические разделы. Потом можно будет легко его редактировать, а не искать по полчаса какую-то забытую команду.

Некоторые сведения: команда bind (резервирует за клавишей) определенное действие; переменные могут иметь значения true-верно ("1") или false-неверно ("0"); команду seta можно и не писать, ее пишут так, для понта; все, что идет после значка "//", Ку3 не воспринимает, поэтому ты можешь таким образом делать для себя пометки. После тире ("—") я буду объяснять значение команды.

Вступление

Unbindall — стереть все "забайденные" ранее кнопки.

Clear — очистить экран.

Графика и звук

seta com_blood "0" — тебе нужны пятна крови? Ну их. только мешают.

seta cg_brassTime "0" — и гильз не надо.

seta cg_draw3dIcons "0" — в меню не трехмерные иконки.

seta cg_draw2d "1" — . а двухмерные

seta cg_gibs "0" — и джибзов (мяса от трупов) не надо.

seta cg_marks "0" — . следов на стенах (от выстрелов оружия) тоже не надо.

seta cg_shadows "0" — . и теней

seta cg_simpleItems "1"— оружие, которое валяется на арене, будет в виде иконок, а не моделей, вибирайте как вам нравится

seta r_mode "3" — важный параметр: в каком разрешении ты будешь играть. Большинство "отцов" ставят "3" или "4". (3 — 640x480, 4 — 800x600). Советую "3" поставить

seta r_colorbits "0" — если повышать это значение, графика становится несколько мрачнее и угрюмее. Многие играют на "16"

seta r_detailtextures "0" — отключить детализацию текстур

seta r_drawSun "0" — отключить обработку (рендеринг) солнечного света..

seta r_dynamiclight "0" — . и динамическое освещение.

seta r_fastsky "0" — небо будет совсем некрасивым, зато быстрым; также можно будет увидеть врага по ту сторону телепорта

seta r_flares "0" — отключить ореол вокруг источников света

seta r_ignorehwgamma "0" — у меня стоит значение по умолчанию. Если поставить "1", то графика станет "мутнее" и светлее

seta r_intensity "1" — параметр гаммы. Если ставить больше 1, изображение становится ярким. У меня стоит 1.4 В общем, дело личное

seta r_picmip "5"— очень важный параметр: насколько уродскими будут текстуры. Значение параметра не должно привышать 5. это просто таике правила на соревнованиях, а вообще онечно можно ставить сколько угодно большое число.

seta r_simplemipmaps "1" — нужна для "ухудшения" mipmapping (графика станет более "сглаженной", но и более быстрой)

seta r_subdivisions "115" — отвечает за "кривые" контуры (углы стен, объектов). Если поставить 115, то кривых поверхностей в игре не будет (правда, иногда можно будет увидеть части тел и предметов через стену, что можно даже не считать глюком

seta r_swapInterval "0" — забавная штука. Если поставить больше "1", то начнутся просто кошмарные глюки. Ставь "0"

seta r_textureMode "GL_LINEAR_MIPMAP_NEAREST" — текстуры станут совсем гнусными, но это даст выигрыш в скорости

seta r_vertexLight "1" — полное освещение: намного лучше видимость и нет теней

seta s_musicvolume "0" — отрубаем музыку и разгружаем процессор

seta cg_drawRewards "0" — отключить награды. Можно и оставить, но они парой мешаются на экране.

seta cg_drawGun "0" — не отображать модель оружия на экране, которая порой мешает увидеть атакующего (хотя это дело вкуса)

seta cg_autoswitch "0" — не переключаться на только что найденное оружие

Рельса

Для самого рулезного оружия всех времен и народов советую выделить отдельную графу

seta r_railWidth "20" — ширина луча рейла

seta r_railCoreWidth "1" — ширина "ядра" луча рейла

seta r_railSegmentLength "10" — длина луча

seta cg_railTrailTime "400" — сколько "висит" в воздухе луч

seta in_mouse "1" — с ней или без?

seta sensitivity "11" - без комментариев

seta cl_mouseAccel "0" — отключить акселерацию мыши. Все советуют играть без неё.

seta m_filter "0" — фильтрация не нужна (если опция включена, Квака будет как бы "смягчать" движение мыши, но это у нее получается не очень удачно)

Передвижение

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

seta cg_bobroll "0"

seta cg_bobpitch "0"

seta cg_bobup "0"

seta cg_runroll "0"

seta cg_runpitch "0"

cg_fov 90 — очень важный параметр: широта поля зрения (перспектива взгляда, иначе говоря). 90 - значение по умолчанию. У меня тоит 105. У некоторых 120.

bind e "+forward"— вперед

bind d "+back" — назад

bind s "+moveleft" — стрейф влево

bind f "+moveright" — стрейф право

bind space "+moveup" — прыжок (обычно ставят пробел)

bind w "+movedown" — присесть

bind MOUSE1 "+attack" — левая кнопка мыши для стрельбы

bind Mouse2 "+zoom" — снайперский режим на второй кнопке мыши

bind "1" "weapon 1" — кулак

bind "2" "weapon 2" — чейн

bind "4" "weapon 3" — шотган

bind "5" "weapon 4" — гренейд-ланчер

bind "3" "weapon 5" — базука

bind "c" "weapon 6" — шафт

bind "g" "weapon 7" — рельса

bind "a" "weapon 8" — плазма-ган

bind "b" "weapon 9" — бфг

Вся разбиндовка в качестве примера. Конечно же вы можете разбиндить оружие по себя как вам удобно.

Интерфейс

bind TAB "+scores" — показать очки

bind ESCAPE "togglemenu" — главное меню

"toggleconsole" — вызвать консоль

seta cg_drawfps "0" — не показывать счетчик fps

seta cg_drawtimer "1" — показывать время

seta cg_lagometer "1" — лагометр

bind F12 "screenshot" — тут, думаю, все ясно

Настройка сети

seta cl_maxpackets "60" — максимум пакетов от сервера к клиенту

seta rate "25000" — скорость передачи кадров

seta sv_fps "120" — нужно выставлять этот параметр на 120 — возрастут fps и, вследствие этого, прыгучесть (появится возможность запрыгивать в ранее недоступные "нычки").

seta g_syncronousClients "0" — чтобы писать демки, надо ставить "1", но это может вызвать торможение игры

seta com_maxfps "120" — максимальное количество кадров в секунду

cl_motd "0" — чтобы полчаса не ждать коннекта к серверу. Обычно эта проблема встречается на машинах с WindowsNT


Есть свой сервак квейка на е+,хочу закинуть туда спайтер ботов для тренировки.но не знаю как сделать.Кто знает подскажите(желательно подробно)) и какими командами ими управлять..заранее спасибо.


e+ и spiterbot - это разные моды, если ты обладаешь хоть какими то навыками в программировании, сможешь найти исходники и того и другого, совместить их и сделать отдельный мод - тогда можно.


Хорошо,а как просто добавить ботов в е+ на сервак? потому что addbot не работает..и возможно ли сделать както ботов посильнее,а то со стандартними вобще никак не интересно(


Боты посильнее, но так, чтобы из себя представляли только бот-файл (а не как spiterbot, который только идёт как мод/клиент) - тогда VolandBot - умеет менять оружия в зависимости от ситуации, например. Не найдёшь сам, обращайся.


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

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


Так как у меня была одна неделя до моего следующего контракта, я решил закончить мой цикл статей id. После Doom,Doom Iphone, Quake1, Quake2, Wolfenstein iPhone и Doom3, я решил изучить код, который я еще не рассматривал: idTech3 — 3D движок Quake III и Quake Live.

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

• Часть 2: двухъядерное средство визуализации с материалами на основе шейдеров (создано через OpenGL Fixed Pipeline)
• Часть 3: новая сетевая модель, основанная на snapshots
• Часть 4: виртуальные машины играют главную роль в движке, комбинирующие мобильность/безопасность Quake1 и скорость Quake2
• Часть 5: новый искусственный интеллект для ботов.
Я был особенно впечатлен:

• Системой виртуальных машин и соответствующим инструментарием, которые в целом составляют 30% кода. С этой точки зрения idTech3 представляет собой мини-операционную систему, обеспечивающую системные вызовы трех процессов.
• Изящная сетевая система на основе снимков и самоанализе памяти.

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

Первый контакт

Архитектура

Удобный способ понять архитектуру: надо сначала рассматривать ПО как черный ящик получающий входные сигналы (стрелки вверху слева) и генерирующий выходные (стрелки внизу):


Теперь посмотрим внутреннюю структуру в виде белого ящика с 6 модулями(quake3.exe, renderer.lib, bot.lib, game, cgame и q3_ui) взаимодействующими следующим образом:


Нужно понять 2 важные вещи в проекте:

• Явное разделение клиента и сервера (это было изложено в общих чертах в Q&A, который я сделал с Джоном Кармаком.

— Серверная часть ответственна за поддержание состояния игры, определение, что нужно клиентам и соединения их по сети. Она статически линкуется с bot.lib, который является отдельным проектом из-за его хаотической истории разработки.

— клиентская часть ответственна за предсказание, где находятся объекты (для компенсации задержки) и рендеринга изображения. Она статически линкуется с проектом рендеринга: отдельный проект, который позволил бы Direct3D или даже ПО для рендеринга включить очень просто.

С точки зрения кода, здесь частично развернутый цикл, иллюстрирующий обрабатываемые и отправляемые события клиента и сервера:

Вот полностью развернутый цикл, который я использовал как карту, пока изучал код.
Интересную вещь можно заметить здесь, которая прекрасно иллюстрирует как важны виртуальные машины: нигде мы не видим вызова RE_RenderScene(функция, которая отбирает и дает команды OpenGL). Что вместо этого происходит:


Статистика

Вот некоторые статистические данные от cloc:



На круговой диаграмме прекрасно видно, насколько необычны пропорции, так как 30% кода занимают инструменты.

Это объясняется отчасти потому, что в idtech3 реализованы функции ANSI C компилятора: Little C Compiler (LCC) с открытым исходным кодом используется, чтобы генерировать байт-код для виртуальных машин.

Выделение памяти

Здесь использовались два обычных аллокатора:
Zone Allocator: работает во время выполнения, выделение маленькой и кратковременной памяти
Hunk Allocator: работает во время загрузки уровня, большое и долговременное выделение памяти, в которую загружается содержимое pak файлов(геометрия, карты, текстуры, анимация).

Рекомендую почитать

По истории Quake — Masters of Doom.
Две лучшие книги по компиляторам, чтобы лучше понять виртуальные машины Quake.
Статья, чтобы понять что такое LCC Intermediate Representation

Читайте также: