C/C++: Сделай свою моду для Кваки

Дубовцев Алексей

Xakep, номер #057, стр. 057-088-1


(mrorbit@mail.ru)

Делаем своими руками моду для Quake3

Мой дорогой друг, я знаю, что в твоей гениальной голове давно витает идея создать свою уникальную игру. Но, к сожалению, процесс написания игр слишком тяжел. Чтобы сотворить что-то более или менее приличное, необходимо быть хорошим дизайнером, программистом, сценаристом и еще Бог знает кем. А совместить все эти качества в одном человеке - крайне трудно. Поэтому я хочу предложить тебе кое-что другое. Прочитав эту статью, ты сможешь создать свою уникальную игру при помощи моды под Quake3. Итак, вперед, посмотрим, как это сделать легко и безболезненно.

Что же такое моды?

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

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

Quake, точно так же как и все современные программы, является игрой с двухуровневой архитектурой: движок и мода. Что такое мода, ты, наверное, и сам хорошо понимаешь. Скорее всего, у тебя стоит весьма популярный Osp, а может и экзотический Defrag. Теперь же твоя жизнь изменится - нам предстоит создать свою хакерскую моду, в которой ты, конечно же, будешь самым большим и сильным.

Немного рутины

Для начала тебе предстоит получить исходники базовой моды Quake3. Бесплатно их можно скачать с сайта idsoftware.com. Правда сервер ID часто бывает перегружен, поэтому проще поискать в инете файл Q3A_TA_GameSource_129h1.exe. Установив исходные коды моды на свой комп, первым делом обязательно загляни в папку, куда ты их поместил. Там должны находиться следующие три подпапки: bin_nt, code, ui (плюс файл с лицензией, который нас не интересует). В первой папке ты найдешь набор специальных утилит, начиная от собственного Quake-C компилятора (lcc.exe) и заканчивая утилитой для создания уровней (q3radiant_200f.exe). Правда, использовать данные утилиты мы с тобой не будем, по крайней мере, сегодня. В последнем каталоге лежит набор скриптов, отвечающий за создание пользовательского интерфейса Quake: менюшки, окошки и прочая лабуда. Куда более интересный каталог code. Это и есть священное место, где хранится святая святых - исходные коды базовой моды Quake3. Походи по этому каталогу, там ты обнаружишь кучу файлов с расширением "с". Это и есть программный код, отвечающий за каждый игровой шаг.

Содержание  Вперед на стр. 057-088-2