Сам себе гном. Основы варения бюргерского пива из хомячков

Сам себе гном. Основы варения бюргерского пива из хомячков

Вскрытие — Сам себе гном. Основы варения бюргерского пива из хомячков
О гномоводы и гномоведы, ликуйте! Свершилось чудо! Открыта полная формула ДНК самого удивительного из созданий во всем подземном мире — ГНОМА. Тысячи ученых трудились многие годы, скрестили немало троллей и личинок, разбили немало колбочек с растворами по
Игроманияhttps://www.igromania.ru/
Вскрытие
Сам себе гном. Основы варения бюргерского пива из хомячков
   О гномоводы и гномоведы, ликуйте! Свершилось чудо! Открыта полная формула ДНК самого удивительного из созданий во всем подземном мире — ГНОМА. Тысячи ученых трудились многие годы, скрестили немало троллей и личинок, разбили немало колбочек с растворами подозрительных цветов и на лабораторных спиртовках поджарили огромное количество хомячков. И их усилия увенчались успехом. Теперь мы знаем не только детальное внутреннее устройство Гнома, но и вполне можем изменить его под собственные нужды и вкусы.
    
   В шахту!

   

   "Гномы" — игра нестабильная, порой необоснованно сложная и затягивающаяся, а процесс копания
   Гномские проблемы
   
   "Гномы" — игра замечательная, но все ее достоинства омрачает необыкновенно глючный и нестабильный движок. Жаль, что братья наши немцы уделили так мало внимания оптимизации. Но все можно исправить, особенно если ты мастер виртуального скальпеля.
   Эта проблема — хроническое отсутствие звука на некоторых звуковых картах семейства SB Live!. Проблема возникает оттого, что звуковая карта конфликтует с видео. Исправить это, а также устранить назойливые тормоза, можно, выставив ползунок аппаратного ускорения на единицу до максимума. Этот ползунок находится здесь: Панель управления\Система\Быстродействие\Графика. По словам разработчиков, это должно помочь.
в потемках может вывести из себя кого угодно. И что самое неприятное, коды для "Гномов" недоступны. Вот последнее обстоятельство мы и сможем исправить. А заодно покопаемся в игровых ресурсах (там есть на что посмотреть), и (кто знает?), может быть, нам удастся сделать из старых добрых "Гномов" совсем другую игру. Мы будем рассматривать русскую версию "Гномов" от 1C/Snowball Interactive, так как другие в России не распространены.
    
   Разведка на местности

   
   Для начала проведем рекогносцировку и разведаем общее положение дел у пациента. Сразу видны целые россыпи полезных ресурсов. Посмотрим на них повнимательнее.
   В папке Manual основного каталога игры лежит весьма детальный справочник по гномоведению. Из него можно почерпнуть массу интересных особенностей этого нелегкого дела.
    Но самые вкусные вещи лежат в папке Data. В файле Data\messages.txt находятся все игровые сообщения и их переводы на русский язык. При этом активно используются метасимволы подстановки, такие как %1. Вы можете изменить любое игровое сообщение, сделав его более оригинальным. Например, у меня дружественный клан в момент воровства говорит не скучноватую стандартную фразу, а "А ну стой, воришка!".
    Если вы хорошо знаете немецкий и не удовлетворены переводом Snowball, можете сделать альтернативный перевод. Вот только, изменяя сообщения, ни в коем случае не трогайте символы подстановки. Они должны остаться на тех же самых местах, где были до правки.
    В файле msgmisses.txt того же каталога находятся все символические названия, используемые в игре. Среди них порой попадаются и русские варианты. Надписи, начинающиеся со слова Dummy, — объекты-пустышки, служащие для внутриигровых целей. Не стоит здесь что-либо изменять — это может отразиться на работоспособности игры.
    В файле quotes.txt хранятся любопытные изречения таких великих личностей, как Конфуций, Эйнштейн, Линкольн, Шекспир, Гете и, разумеется, разработчики игры. Если вы хорошо знаете немецкий, непременно загляните в этот файл. Некоторые изречения вызывали у автора этих строк неестественно долгие приступы смеха. Но русского перевода, к сожалению, нет.
    В папке Data нас интересует еще один файл — start.avi. Как вы, наверное, уже догадались, это вступительный ролик.
    
   Копаем глубже

   
   Давайте теперь исследуем поддиректории Data. В папке Data\Music в открытом виде лежит вся игровая музыка в формате mp3. Вы можете легко заменить любой трек из "Гномов" на свое любимое музыкальное произведение или же использовать эту музыку для подсобных целей. В папке Data/Sound обосновались игровые звуки в формате wav, которые также легко поддаются изменению.
    С музыкой и звуками разобрались, теперь перейдем к внутриигровой графике. Вся графика хранится в формате tga, который вполне сносно переваривается любым продвинутым графическим редактором, например, Photoshop. Вы можете изменить все текстуры в игре, раскрасив их в любимые цвета. Только одно предупреждение: формат tga содержит, кроме всего прочего, еще и альфа-канал прозрачности. Некоторые графические редакторы легко откроют и сохранят гномовскую графику, а альфа-канал будет игнорироваться. Это может привести к тяжелым последствиям. Поэтому пользуйтесь только проверенными в лабораториях и испытанными в подземельях
83 Kb
"Игромании" редакторами. Photoshop — идеально подходит. А вот и сама графика.
   Data\Ground — текстуры земли. В файлах, начинающихся с Gnd_, лежат собственно текстуры, а в файлах, начинающихся с Msk_, — маски. В подпапке detail лежат спрайты и текстуры подножной мелочи — зелень, веточки, камешки и... лава.
   Data\Gui — текстуры интерфейса игры (Graphic user interface). Кнопки, линии, курсор, иконки, элементы управления, даже шрифты — все там. Вот уж есть где разгуляться буйной фантазии гномоведов, не обделенных художественным вкусом. Может, вам придет в голову превратить подземно-мрачноватый облик игры в поднебесно-воздушный?
   Data\Templates — папка с заготовками уровней. Что это такое? Ни для кого не секрет, что "Гномы" автоматически генерируют уровни, как это было, например, в Diablo. Однако совершенно случайный уровень — скорее предмет выставки художников-абстракционистов, чем удобный игровой плацдарм. Поэтому для создания новых уровней используется блочный алгоритм. Его суть в том, что при генерации случайным образом на карту выкладываются не отдельные объекты, а их совокупности, образующие цельный смысловой блок.
    Своеобразные микрокарты есть для пещер, туннелей, совокупностей растений и хомячков, элементов базы противников и т.д. И вот из них, а не из примитивных объектов, создается карта. В папке Data\Templates лежат эти самые описания микрокарт, из которых собираются уровни.
    Основные данные о структуре блока содержатся в файлах с расширением pmp. Если вы откроете такой файл в текстовом редакторе, увидите странную мешанину символов и спецзначков. Изменив какой-нибудь значок, вы тем самым измените соответствующий кусок микроблока. И посреди пещеры неожиданно вырастет гриб или разольется лавовый поток. Любопытно поэкспериментировать с изменением микрокарт. Однако перед любыми экспериментами не забывайте сохранять копию изменяемого файла — мало ли что.
   Data\Texture — одна из самых интересных папок игровых ресурсов. Именно здесь хранятся текстуры игровых объектов, фоны и спрайты, а также элементы оформления. Все легко поддается изменению.
    В папках m032, m064, m128 и m256 хранятся одни и те же "шкурки" гномов разного качества, предназначенные для разных разрешений экрана. И если вы решите заменить что-либо из этого комплекта, не забудьте сохранить измененные "шкурки" в каждой из этих папок с соответствующим качеством. Особое внимание обратите на файл texlevels.txt. В нем хранятся описания всех "шкурок" с указанием, какому качеству "шкурка" из какой папки соответствует. Изменив "шкурку", не забудьте внести поправки и в этот файл.
    
   Нити кукловода

   
   В процессе поиска разных интересностей в ресурсах "Гномов" мы избегали папку Scripts. И это неспроста. В ней содержатся ключи к управлению и жизнедеятельности гномов — игровые скрипты. Естественно, такую вкусную вещь мы оставили на десерт.
    Каждый игровой скрипт — отдельный файл с расширением tcl. Написаны скрипты на странной помеси С++ и Visual Basic, сдобренной изрядной долей авторских нововведений. Но ничего — секретные лаборатории "Игромании" и не такое расшифровывали. Сперва, чтобы нам было сухо и комфортно копаться в скриптах, давайте познакомимся с некоторыми особенностями этого гибридного языка.
    После символов "//" и "#" всегда следуют комментарии. Это пояснения разработчиков относительно того, что та или иная строчка делает. К сожалению, большая часть этих комментариев написана по-немецки, хотя временами встречаются длинные английские тексты. Вообще, это довольно странно. Создается впечатление, что команда разработчиков игры была интернациональной.
    Почти каждая законченная строчка скрипта оканчивается на ";". Команды, стоящие в фигурных скобках, представляют собой единый подблок, выполняющий какую-то функцию. По названию подблока (которое указывается до открывающейся скобки) можно легко судить о том, что она выполняет.
   Вот и весь необходимый минимум знаний, который нужен вам для работы со скриптами. Остальное рассмотрим по дороге.
   Папка ai содержит единственный файл — std_ai.tcl. Он отвечает за искусственный интеллект в игре. Здесь можно поправить практически все: параметры гномов, их образ действия и методы достижения целей. Правда, без хорошего программистского образования здесь не разобраться. А посему переходим к следующей папке.
    В папке classes размещаются много подпапок со скриптами, отвечающими за героев, декорации, предметы,
92 Kb
режимы работы и жизнедеятельности "Гномов".
    В папке Gameplay лежат скрипты, которые определяют порядок следования миссий и методы загрузки карт. Папка Init не представляет для нас особой ценности — там находятся, как вы могли догадаться, процедуры инициализации геймплея.
    Папка Misc содержит скрипты, которые не могут быть отнесены ни к одной из предыдущих групп. Они заслуживают нашего пристального внимания в силу своей неординарности, но не сейчас. Всему свое время.
    Давайте лучше копнем в папку text. Здесь содержатся не только все игровые тексты и сообщения, но и скрипты, отвечающие за их вывод. Покопавшись в скриптах, вы сможете легко изменить любой игровой текст. Только обращайте внимание на комментарии авторов вроде "// ---— do not change anything above this line ---". Не советуют — значит, не будем. В такие моменты разработчики не шутят. Изменять можно надписи в кавычках после команды print, которая отвечает за вывод текста на экран. Интересно, а в каком виде будет выводится текст? Это определяется директивой, которая стоит перед этой командой. Например, textwin указывает, что надпись надо выводить в заголовок или основную часть окна. На то, что текст будет выводиться в заголовок, указывает команда ohlp_ttheadlinestyle.
   В остальных папках вы найдете скрипты, отвечающие за диалоги между гномами. Обязательно загляните сюда. Очень многие фразы, которые вы не увидите в игре, написаны с изрядной долей юмора. Да к тому же по-русски.
    
   Мы наш, мы новый мир построим

   
   Мы вооружились детальными знаниями о структуре и
   Блуждание в потемках
   
   Этот совет поможет тем, кто терпеть не может копать без ощутимой цели впереди. Многие игроки недоумевают, почему, во-первых, ключевые объекты находятся в совершенно произвольных местах и, во-вторых, как, черт возьми, до них дорыться. Терпение, только терпение.
   В "Гномах", как я уже говорил, локации генерируются на лету. Причем не перед загрузкой карты, а в процессе копания. Этим объясняется феномен, что если копать в любую сторону, обязательно раскопаешь какую-нибудь пещеру. Игра как бы замечает, что игрок начинает скучать, и подсовывает ему еще один интересный (ну или не очень) объект для исследования.
   Чтобы отловить ключевые объекты (крепость троллей, Врата и так далее), присматривайтесь к нераскопанным участкам карты, примерно представляйте себе размер объектов и где они могут разместиться. На большинстве уровней главной ошибкой игроков бывает то, что они копают вширь, когда надо копать вглубь. Именно там сосредоточены все основные объекты.
размещении скриптов в игре и можем приступать к тотальному изменению игрового мира. Еще раз повторяю, что с помощью скриптов в "Гномах" можно сделать тотальную конверсию игры, приспособить ее под свои вкусы. Однако описывать все эти возможности — значит отнимать хлеб у своих коллег на несколько лет вперед. Поэтому ограничимся наиболее интересными изменениями, а все остальное вы легко сможете найти, основываясь на наших первоначальных изысканиях.
   Берем файл Scripts\classes\zwerg\z_events.tcl. В нем есть интересная строчка за номером 1826. В этом месте происходит сравнение текущего возраста гнома с максимальным значением — 24. Если гном старше — запускается процесс старения, кончающийся летальным исходом. Обидно! Так сделаем наших гномов практически бессмертными! Для этого изменяем это значение на, скажем, 1000. И все. Остается только подправить периоды старения (ниже в этом же файле число 24 встретится несколько раз), и получаем аналог известного кода god.
   Хотите изменить рождаемость ваших гномов? И это сделать несложно. В очень многих скриптах есть параметр willing_to_reprod (желание к репродукции... хм). Стоит везде изменить этот параметр с 0 на 1, и грядет демографический взрыв.
    В папке Scripts\classes\zwerg находим файл z_spare_reprod.tcl. В нем есть командный блок sparetime_reprod_check. Как видно из названия, именно здесь проверяется желание гнома размножаться. Это происходит только при достаточном количестве хитпойнтов, хорошем настроении, богатом рационе и отсутствии опасности. Так почему бы не обеспечить все эти условия не на реальном, а на программном уровне? Для этого в начало блока вписываем:
   set_attrib this atr_Hitpoints 1
   set_attrib this atr_Mood 1
   set_attrib this atr_Nutrition 1
   set_attrib this atr_Alertness 1

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

   
   В папке Scripts\misk есть интересный файл techtreetunes.tcl. Он отвечает за дерево технологий. Внимательно присматриваемся... И что мы видим? Строчки типа "set tttpreinv_Feuerstelle {Grillpilz Zelt Feuerstelle}". Это не что иное, как ветка технологического дерева. В левой части — название технологии, здания или изобретения, а в правой — список предметов, умений или технологий, которые требуются для его открытия/производства. Иногда в фигурных скобках перечисляются не просто объекты/технологии, а численные величины. Например, выражение "exp_Stein 0.03". Оно означает, что для постройки данного здания требуется навык "Камень", равный 0.03. Чем это может быть нам полезно? А тем, что мы можем легким мановением руки заставить здания строиться без ресурсов, технологии — открываться без опыта, а
101 Kb
заклинания и умения — применяться без всяких навыков. Халявная жизнь, одним словом. А устроить себе дольче вита совсем просто: надо только удалить все в фигурных скобках около соответствующих зданий/предметов/технологий. И объект этот будет производиться за просто так.
    А можно и приколоться. Например, благодаря строчке "set tttmaterial_Kristall {Hamster}" в игре мы будем производить кристаллы из... хомячков!
    Все в дело — из грибов добываем железо, воздух разлагаем на палатки и лестницы, из хомячков гоним пиво... что за жизнь! Кстати, а как реализовать последний пункт нашей предвыборной программы на пост Одина — гнать пиво из хомячков? Да очень просто: set tttmaterial_Bier {Hamster}. Избиратели будут в восторге.
    Давайте теперь займемся хомячками. За них отвечает скрипт Scripts\classes\characters\hamster.tcl. Ищем, что бы изменить. Видим подозрительную фразу: "set_attrib this weight 0.01". А что если эту цифру заменить на 1? Легкий в оригинале хомячок станет тяжелее мастодонта. А если в строке "set scan_range 4" вместо 4 поставить число побольше, то хомячок будет видеть пытающегося его поймать гнома чуть ли не за полкарты. Ну а если вам надоело гоняться за непослушными хомячками, почему бы их не парализовать? Пишем "set is_paralyzed 1", и все хомяки замерли в священном ужасе, ожидая нашего прибытия.
    Продолжим поиски. В той же папке открываем файл wuker.tcl и сразу же видим строчку "set enemy_classes {Zwerg Spinne Drachenbaby Troll Lavabrut Kristallbrut}". Удаляем из фигурных скобок слово Zwerg, и вукеры станут нашими лучшими друзьями.
    Еще одна любопытная деталь, не имеющая отношение к скриптам, но крайне интересная. В файле Scripts\classes\zwerg\names.txt содержатся имена всех гномов. Если вашего имени здесь нет, можете вписать, ну или изменить на что-либо более интересное. Только обращайте внимание на надписи "MALE" и "FEMALE", чтобы не назвать бравого гнома-вояку, скажем, Ингой.
    
   * * *

   
   Вот и все премудрости. С полученными знаниями вы без труда найдете в обширных игровых скриптах "Гномов" что-либо, что вы захотите изменить... Удачи вам в разборе гномьего движка. И да пребудут ваши хомячки вечно резвыми!
   P.S. Выражаю глубокую благодарность посетителям форума "Гномов" за любознательность и страсть к новым открытиям. Если бы не они, кто знает, начал ли бы я исследовать ДНК "Гномов"...
Комментарии
Загрузка комментариев