Adventurer
#09
30 апреля 1999 |
|
Презентация - редактор уровней для игры Черный Ворон: Black Raven Editor v1.0
BLACK RAVEN EDITOR v1. 01 demo (редактор миссий) ────────────────────────────── (C) 1999 Compu-Studio Ltd Хаккер не пират, а чистильщик, способствующий естественному отбору в эволюционном развитии общества и гонимый этим же обществом, как гоним любой хищник от стада блеющих баранов. (из наболевшего) Кто первый украл, тот и автор. (Русское Радио) Привет всем, кто читает эти строки! Меня зовут Max . Я и вся моя команда рады новой встрече с фанами Спектрума ! На этот раз мы представляем вашему вниманию демонстрационную версию редактора миссий к игре "Чёрный Ворон-1" . Но не спешите жать на reset - это не обычное дэмо, ка- кое все привыкли видеть! Мы не делаем глючный нерабочий soft, поэтому выпустили почти законченную версию редактора. Оста- лось нереализованным только создание пей- зажа. Всё остальное, как мне кажется, уже готово. Данная версия выходит для тести- рования на предмет глюков, а также для определения спроса на подобного рода программные продукты. После завершения работы над полноценным редактором наша студия намерена выпустить второй диск с новыми миссиями к игре "Чёрный Ворон" . Так что следите за рекламой и спешите де- лать заказы! Адрес и контактные телефоны студии в конце этого текста. По традиции, не нами установленой, я в двух словах опишу возможности редакто- ра. Итак, ты можешь (даже сейчас!) счи- тать с диска отгрузку игры или ту же отг- рузку, но в виде стандартного TR-DOS 'ов- ского файла, установить или удалить любых воинов за любую из противоборствующих сторон, расставить или удалить любые зда- ния или шахты, откорректировать запасы денег в шахтах и на своем счету (в Швей- царии :), переустановить производитель- ность родильных домов, замаскированных под крепости и всякие там башни, а также произвести запись полученных изменений на диск в виде файла или отгрузки. По ходу редакции имеются различные мелочи, о ко- торых, если не забуду, расскажу в процес- се повествования. Да, ребята! DIV состря- пал крутую возможность в редакторе: рота- ция поля по вертикальной или горизонталь- ной оси вращения. Даже не переделывая ни- чего в старой отгрузке, оставшейся после прохождения первого диска, сделай ротацию и всё - новый уровень готов! До боли зна- комые проблемы (демоны валят толпами сверху) сразу преобретут другой оттенок - валят снизу, и идти уже надо в другую не- ведомую, с другой точки зрения, сторону. Воистину круто получается! Учитывая то, что такой переворот занимает мизерное ко- личество памяти, я удивляюсь - почему Медноногов не сделал в игре такой возмож- ности? Или подсказать было некому? Valex тоже в долгу перед DIV 'ом не остался и сделал ещё один полезный при- бамбас в редакторе - распечатка всего иг- рового поля на принтер! Пока по стандарт- ному для Спектрума порту Lprint 'а. В де- монстрационной версии нет настроек на другие порты. Также пока нет инициализа- ции других принтеров, отличных от нашего - СМ6337. Что дома стоит, под то и писали драйвер. В полной версии может сделаем своеобразный Set up. Я тоже решил блеснуть классом и предложил сделать файлово-отгрузочную систему, с чем все с радостью согласи- лись, т. к. держать целую пачку дисков под 8 файлов на диск уж больно не рацио- нально. Оконная оболочка тоже моя. Что за дэма, если в ней нет недоде- лок? Вот именно! А недоделаным остался пейзаж. Ну дэмка всё же! Не реализована также ротация поля в подземной миссии, хотя в полной версии редактора будет обя- зательно! Аппаратные требования для компьютера стандартные - 128 Кб и ни байта меньше! Всё остальное - особого значения не имеет: до фени стабильность шины и нали- чие/отсутствие кемпстон джойстика, аигри- ка и клавиатуры. А вот кемпстон мышку ты обязан иметь!!! Но не обязательно. Просто при её отсутствии прийдётся страдать не- меряно долго с перемещением курсора и ра- ботой в оконном интерфейсе. А именно та- кой дизайн программ мы поддерживаем в своих программах с самого первого запрог- раммированного нами байта. Закрывать те- кущее окно придётся нажатием fire за его пределами. Такие вот дела. А теперь, собственно, о самой прог- рамме поговорим. Наконец-то сбылась моя давняя и долговынашиваемая мечта написать прог, который полностью работал бы на мышке. И вот он перед вами. Управляете вы стрелочным курсором, которым бегаете по менюхам, чтото выбираете, переустанавли- ваете и в результате получаете новую мис- сию игры. Хочу сразу сказать, что этим редактором можно делать только "отгрузоч- ный" вариант миссии и не более. Ну не я же, в конце-то концов, написал саму игру с такими прибамбасами. Поэтому не оболь- щайтесь - деньги заработать сможет только тот, кто в состоянии переделать отгрузку в первоначальный вид и кто разберётся со структурой второго диска игры. Для прод- винутого хаккера это не составит особого труда ;))) Итак, программа расчитана на мышь. На 3 кнопки. Центральная используется под фиксацию скроллера экрана. Продублирована на клавиатуре под "М". Огневая кнопка мышки будет первая нажатая, отмена - про- тивоположная. После загрузки редактора и вдоволь наслушавшись музыки, нажмите лю- бую клавишу на клавиатуре. Информационное окно можно убрать уже только огневой кнопкой. После всего вышесделанного попа- даете непосредственно в редактор. Больше вые? онов не будет. Внешне редактор мы постарались сделать максимально похожим на игру. Но пара ньюансов всё же имеется. Так, после долгих и бессмысленных споров, мы пришли к единому соглашению, что наи- более приемлемым будет редактировать мис- сию не в стандартном виде 12х12 байт с размером спрайтов 2х2, а 24х24 с размером 1х1. Поэтому не удивляйтесь "мелкоте" графики, поработав немного и побегав ту- да-сюда по полю, вы поймёте все прелести этой "мелкоты". В нижней части экрана находятся ос- новные пиктограммы редактора. Через них вызываются все окна редакции и т. д. Большие на щите служат для информации об объектах. Мы не делали с ними ничего, так что на щит ты пойдёшь только, если выбе- решь шахту и захочешь изменить её ресур- сы. В правом верхнем углу находится ин- формация о твоих финансовых возможностях и количестве дров. Если нажать огонь в этой области, то выпадет окошко для кор- рекции. Самое любимое, если деньжат не хватает. А где же воины? Вот это вопрос! Я и сам хотел бы это знать. Ну никак не полу- чается в одном знакоместе изобразить что-то внятное, поэтому мы приняли за стандарт одинаковые спрайты с тем лишь различием, что у твоих воинов щит проз- рачный, а у неприятеля чёрный. Для пони- мания "кто есть кто" придется ткнуть кур- сором в интересующий объект и посмотреть, что выдала программа на щит. По другому никак. Да, в режиме "Нормальный" нет вообще изображений воинов и дыма пожарищ. Связано это с тем, что на данный момент у нас возникли ограничения памяти, поэто- му в окончательной версии при её наличии мы сделаем такой вывод на экран. А если нет, то, по большому счёту, это не так уж и важно. Режим реальных спрайтов пей- зажа сделан для контроля глюков при его создании и не более. Так что как получит- ся сделать, так и будет. Я надеюсь, что у вас проблем с общим восприятием не будет, поэтому перехожу к описанию возможностей вызываемых окон, пока не забыл, для чего я вообще загрузил текстовый редактор и чего это я тут всем загружаю;) С выбором воинов и зданий проблем быть не должно. Сделано все мак- симально просто и доходчиво, поэтому для танкистов help писать не буду - сними шлем и всё сам поймёшь. Скажу только, что ДЛЯ КАЖДОГО КЛАССА ОБЪЕКТА СУЩЕСТВУЕТ СВОЯ ЗАТИРАЧКА, КОТОРАЯ НАХОДИТСЯ В ТОМ ЖЕ САМОМ ОКНЕ, ГДЕ И УДАЛЯЕМЫЙ ЕЮ ОБЪЕКТ! Просьба это помнить и не пытаться удалить здание затирачкой из окна воинов и наобо- рот. В нашем редакторе нельзя делать маз- ню на поле, поэтому здания и воинов не поставишь друг на друга или в реке. Коро- че, всё приближено к игре по-максимально- му. Приоритетом идёт пейзаж. Если хочешь влепить где-то домик, а не получается - тогда сначала расчисть местность, а затем уже занимайся строительством. В демо-вер- сии пока прийдётся ставить там, где это возможно. Дисковые операции чтения/записи воз- можны двух видов: как отгрузка игры и стандартный файл TR-DOS . При записи отг- рузкой сделана проверка на чистоту диска от каких-либо файлов по значению в сис- темном секторе. В случае наличия на диске файлов будет предложено лишний раз подт- вердить правильность выбора диска для за- писи отгрузки во избежание случайной пор- чи информации. При чтении миссии в виде файла де- лается отбор по следующим параметрам: ад- рес загрузки должен быть #7700, а размер #4900. Тип файла "C". Имя может быть как на русском языке, так и на NATO'вском. Для ассемблерного задания требования та- кие же: адрес загрузки #7A6B, размер 256 байт. При наличии таких файлов будет представлен весь список. После загрузки делается проверка файла, и если что-то не то попало под установленные нами условия, тогда будет выдано соответствующее сооб- щение. В случае с чтением миссии при пе- репутывании файлов убивается системный костяк уровня, поэтому будет предложено его восстановить через очистку миссии. В случае с ассемблерным заданием автомати- чески подставится "убей всех". Для тех, кто хотя бы немного знает ассемблер, расскажу о методе набора зада- ния. Это самое интересное занятие, скажу я вам. В оригинале почти все задания сво- дились к тому, чтобы убить всех и выжечь всё. Мы изменили жизнь к лучшему! Но для начала я расскажу о структуре отгрузки, необходимых системных переменных, исполь- зуемых для такого рода деятельности. Итак, поехали: В игре доступно по-максимуму: 8 шахт, по 32 здания за игрока и компьютер, по 48 воинов за тех и других и всего 6 твоих пленников. У компьютера пленных быть не может, а жаль. Информация о всех объектах размещена в специальных буферах по следующим адресам: #7BC0 - ДАННЫЕ ШАХТ. #7C00 - ДОМА USER. #7D00 - ДОМА КОМПЬЮТЕРА. #B800 - ВОИНЫ USER. #BB00 - ВОИНЫ КОМПЬЮТЕРА. #BE00 - ПЛЕННИКИ. Описатели для "недвижимости" имеют размер 8 байт, а для воинов и рабочих по 16 байт. Для зданий описатель выглядит так: +0 +1 +2 +3 +4 +5 +6 +7 XX YY NN ЗД FF 00 TT TT Значения для вас имеют только XX, YY и NN. Все остальные не важны. По XX, YY лежит информация о местонахождении здания в игровом поле, выраженная в "строка" и "колонка". Если там нули - здание разру- шено! Если по +3 (здоровье) тоже ноль, объект мёртв. По NN - номер здания, т. е. его имя: ВАРИАНТ ИМЁН ПРИ ИГРЕ ЗА ЛЮДЕЙ #7C00 #7D00 0 - ГОРОДИЩЕ ФОЛЬВАРК - 0A 1 - КРЕПОСТЬ - 0B 2 - ЛЕСОПИЛКА - 0C 3 - ЦЕРЬКОВЬ СВЯТИЛИЩЕ - 0D 4 - КУЗНИЦА - 0E 5 - КОНЮШНЯ СТОЙЛО - 0F 6 - БАШНЯ БАШНЯ ТЬМЫ - 10 7 - ХРАМ ВОРОН - 11 8 - ИЗБА ХИБАРА - 12 Значения не меняются от принадлеж- ности миссии, т. е. до фени, за кого иг- раешь. Самое главное - код имени. А там игра сама разберётся, что надо писать на щите. При игре за кунгов номера левого и правого столбика размениваются. Теперь имена воинов при игре за лю- дей. Играя за кунгов имей ввиду, что со- держания столбиков размениваются, но коды имён остаются прежними! #B800 #BB00 0-КРЕСТЬЯНИН 9-ПЕОН 1-КРЕСТ. С ЛЕСОМ 10-ПЕОН С ЛЕСОМ 2-КРЕСТ. С ЗОЛОТОМ 11-ПЕОН С ЗОЛОТОМ 3-ЛУЧНИК 12-ЛАНГОЛЬЕР 4-ПЕХОТИНЕЦ 13-КУНГ 5-СВЯЩЕННИК 14-НЕКРОМАНТ 6-ВОЛШЕБНИК 15-ВАРЛОК/ТАЛАБРУК 7-КАТАПУЛЬТА 16-КАТАПУЛЬТА 8-ВСАДНИК 17-ГРЮНВЕР ───── 20-СКОРПИОН 18-ПАУК 21-ПОЛОЗ 19-СКЕЛЕТОН 22-КНЯЗЬ 23-ГРИЗОЛЬДА 26-СТЕНОГРЫЗ 25-ДЕМОН 24-КОСТОЛОМ Последние воины могут быть как на одной стороне, так и на другой. Эти персонажи не имеют стратегической ценности, т. к. или не могут сражаться, или плодятся кем-либо на определённое время. Ну да что я тут распинаюсь - поиграй и вспомни. Описатель для воинов и рабочих: +0 +1 +2 +3 +4 +5 +6 +7 X1 Y1 00 00 NN ЗД МГ 00 +8 +9 +10 +11 +12 +13 +14 +15 00 00 X2 Y2 00 00 X3 Y3 Значения для вас интересны только +0 и +1, а также +4. Первые два обозначают позицию персонажа на поле, а по +4 лежит его имя. А теперь приведу примеры заданий и особенности их набора. Для этого загрузи самый любимый свой теневой ассемблер и понабирай следующие алгоритмики: ;пример задания "развали Ворона" ORG #7A6B ;стандарт!!! JR MM ;всегда делай RET ;начало таким! MM PUSH IX ;на всякий случай LD IX,#7D00;дома компа LD DE,8 ;шаг по данным LD B,32 ;кол-во домов max MM1 LD A,(IX+2);имя здания CP #11 ;код Ворона JR NZ,MM2 ;не тот LD A,(IX+0);позиция здания OR A ;разгромил? LD A,#01 ;маркёр победы JR Z,MM3 ;победа!!! MM2 ADD IX,DE ;следующий DJNZ MM1 LD A,(#7A62) MM3 LD (#7A64),A POP IX RET ;пример универсального задания по уничто- ;жению церкви или святилища противника. ORG #7A6B JR KK RET KK PUSH IX LD IX,#7D00 LD DE,8 LD B,32 KK1 LD A,(IX+2) CP #03 ;церковь JR Z,KK4 CP #0D ;святилище JR Z,KK4 KK2 ADD IX,DE DJNZ KK1 LD A,(#7A62) KK3 LD (#7A64),A POP IX RET KK3 LD A,(IX+3);здоровье здания OR A JR NZ,KK2 ;ещё живое INC A ;победа! JR KK3 ;пример вывода воина к выходу ORG #7A6B JR LL RET LL PUSH IX LD IX,#B800;твои воины LD B,48 ;кол-во воинов max LL1 LD A,(IX+4);имя воина CP 22 ;код князя JR Z,LL4 CP 23 ;код Гризольды JR Z,LL4 LL2 LD DE,16 ;шаг по данным ADD IX,DE DJNZ LL1 LD A,(#7A62) LL3 LD (#7A64),A POP IX RET LL4 LD L,(IX+0);позиция воина LD H,(IX+1) LD DE,#0703;позиция перед SBC HL,DE ;выходом (ПРИМЕР) JR NZ,LL2 ;не стоит на нуж- LD A,#01 ;ной позиции. JR LL3 ;уже стоит ;пример задания "убей Талабрука" или Князя ORG #7A6B JR ZZ RET ZZ PUSH IX LD IX,#BB00;воины компа LD DE,16 ;step LD B,48 ZZ1 LD A,(IX+4);имя воина CP 22 ;код князя JR Z,ZZ4 CP #0F ;код Талабрука или JR Z,ZZ4 ;варлока! ZZ2 ADD IX,DE DJNZ ZZ1 LD A,(#7A62) ZZ3 LD (#7A64),A POP IX RET ZZ4 LD A,(IX+0) OR (IX+1) JR NZ,ZZ2 ;ещё жив INC A ;труп JR ZZ3 ;пример задания "убей всех". ORG #7A6B JR WW RET WW LD A,(#7A62) LD (#7A64),A RET Полученый кодовый блок надо при по- мощи STS 'а записать на диск с адрес #7A6B, размер #0100. Имейте ввиду, что редактор делает отсеивание файлов по ад- ресу загрузки и его длине! Так что если я сказал #0100, то так и делай и не зани- майся самодеятельностью. Теперь следует особо отметить тот факт, что адреса переменных и таблиц опи- сателей приведены для той версии игры, которая мне досталась и которую я взломал и адаптировал под 512 Кб. А именно Black Raven 1. 01 . В ZX-Format#8 Медноногов упоминал о модификациях игры, а это может привести к несовпадению адресов, хотя и маловероятно. Но тем не менее следует об- ратить внимание, если вдруг что-то у вас не пойдёт так, как надо. Я желаю знать о всех проблемах, с которыми вы столкнётесь по ходу работы в редакторе или с получен- ной в нём отгрузкой. Полную версию редак- тора, а также диск с новыми миссиями мож- но заказать непосредственно у авторов. Диск с миссиями будет иметь полноценный вид игры, т. е. продолжение "Чёрный Во- рон-1" . АДРЕС СТУДИИ И КОНТАКТНЫЙ ТЕЛЕФОН: 343116 Михаил Максименко дом 79 квартира 12 м-н "Западный" г. Димитров Донецкая область Украина (06239) 6-21-26 после 18.00 msk
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября