Blame | Last modification | View Log | Download
Статья для ZXF'8123456789*123456789*123456789*123456789*1ЭПОПЕЯОчень часто, узнав о том, что выходочередной крутой разработки для Спектрумаотложен на неопределённый срок, невольнозадаёшься вопросом - почему? Как авторы,сами назначивший срок выхода, не смоглиуложится в него? Неужели это так трудно -писать программы: выучил ассемблер, иклепай килобайт за килобайтом...Думаю, у вас есть редкая возможностьсамим разобраться, что к чему. Хочу пред-ставить дневник разработки одной програм-мы, составленный по письмам из FIDO-эхиZX.SPECTRUM. Намеренно не включаю никакихкомментариев, однако уточню, что не всё,что было писано более года назад, соот-ветствует действительности. А что это запрограмма, догадайтесь сами :)-----------------------------------------12 Jul 96------------...если серьёзно, то с полгода как про-ходила Doom-demo из Харькова.Я сейчас тоже doom'аю над этой идеей.Нельзя же народ кормить только Дураками,Буратинами и Энлэошками. Жду этого En-Light'а, чтобы увидеть результаты конку-рентов. Если пойму, что не смогу лучше,возьмусь за какой-нибудь WarCraft.17 Jul 96------------Вот как я представляю себе Doom наСпектруме:1. Экран - от 256х64 до 16х64 (ширинарегулируется с шагом 16 пикселов с цельюобеспечить наибольший комфорт играющему иподстройки под частоту проца его машины)2. Сектор обзора - 60 градусов.3. Размер текстур 64х64, количество -около 20-ти основных и столько жедополнительных (дополнительные хранятся встранице, их вывод будет несколько мед-леннее, поэтому использовать их придётсяреже).4. Максимальное увеличение - 2:1. Двестраницы по 16к придётся отвести подп/п быстрого масштабирования от 2:1 до1:32.5. Пол и потолок имеют одну высоту, нетекстурированы. Стены, скорее всего,расположены под углом 90 градусов друг кдругу. Короче, это больше Wolf, чем Doom.6. Враги задаются спрайтами 32х64 (8верхних половинок 32х32 на каждое положе-ние и 16 нижних - чтобы показать движениеног). С масками. Выдрать их думаю изDooma. Может, кто подскажет, как? А нет,так сам нарисую.7. Предметы - спрайты 32х32 с масками.Пули, снаряды и взрывы - тоже.Вот такой план.Вывод одной точки в среднем будет за-нимать 25 (!) тактов. Следовательно эк-ран, скажем, 128х64 - 200000 тактов. Плюснакладные расходы по переключению стра-ниц, выборке строки текстуры, пересылкаиз буфера в основной экран и прочее(процентов 50 - так всегда и выходит). Помоим расчётам выходит около 1/12 секунды.Короче, с выводом - никаких проблем.Проблемы с наложением спрайтов героеви предметов. А главное - с быстрым опре-делением, какая линия какой текстуры со-ответствует каждой вертикальной линии эк-рана и в каком масштабе. Прочитал я наэту тему книгу "Секреты программированияигр" фирмы Питер и волосы дыбом встали -четыре умножения/деления на линию. Ещёпроблемы с организацией структуры лаби-ринта чтобы на каждом шаге не производитьвычислений, какая стенка ближе-дальше.Однако, будем делать. Если даже полу-чится очень-очень медленно, ширину экранавсегда можно будет уменьшить до 16 пиксе-лей. И тогда будет очень-очень быстро :))21 Jul 96-----------Сюжет я ещё не придумал, но навскидку(если рассматривать как НЛО-3), примерно⠪:Люди после боёв с инопланетянами 2017года получили массу новых технологий, вы-шли в космос и построили много колоний,например, в солнечной системе или где по-дальше). Однажды всё это по непонятнымпричинам накрылось :(Задачей играющего будет летать по этимколониям (а их можно сделать 10..1000 :)и освобождать их от нечести, по пути спа-сая свои корабли и захватывая вражьи та-релки. В процессе игры надо будет вестивсякие исследования, искать какие-нибудькоды доступа, новое оружие - это мне де-лать не впервой :) Ну и опять докопатьсядо первопричины.А вот как раз освобождение баз, захва-ты НЛО и будут выполнены в виде Doom'a.Сюжет может быть каким угодно - например,остатки пришельцев скрылись под землю, итебе придётся бегать по канализациям илиниям метро :)))))Главное, чтобы всё было красиво и бо-лее-менее БЫСТРО (по западным стандартам8 кадров в секунду, но я удовлетворюсь и6-7). Тогда и скучать не придётся.27 Jul 96-----------Недели три потратил, прикидывая какDoom делать. Споткнулся на спрайтах геро-ев. При слишком большом приближении кним, время на их изображение (в 1-ю оче-редь - на масштабирование) становитсясравнимым со временем перерисовки экрана.А хранить заранее отмасштабированыеспрайты - ни каких 128к не хватит. Такчто эта идея попадает в долгий ящик - по-ка достаточного опыта не наберусь иливдруг поможет кто.Переходим к запасному варианту - НЛО-3a'la ВарКрафт :) Т.е. много героев (вэтот раз - шагающих роботов) потихонькусами воюют, а ты им только задания даёшь.Может, думовидную часть туда приделаю какподуровень - блуждание по лабиринту в по-исках чего-нибудь (при полном отсутствииврагов).30 Jul 96-----------Тут Макс Ивамото позвонил.Не рекомендует за думообразность брать-ся. У них экран 128x64 перестраивался за6 прерываний (6/50 секунды) - это в луч-шем случае. А в худшем - 10-12. И этобезо всяких персонажей! Так что, ну его,этот Дуум :) Пока все основательно нетурбируются :))09 Aug 96-----------НЛО-3. ЧЁРНЫЙ ВОРОН.Предварительная реклама.После многочисленных прикидок приступилк работе над игрой. Итак, это будет пол-ный WarCraft. Я бы и делал его, но т.к. вПитере над ним уже работают некие G-Soft,сменил сюжет - вдруг G-Soft дойдёт до по-бедного конца, зачем нам тогда дваWarCraft'a? :))Игровое поле 64x64 клетки, окно ото-бражения - 20x20 з/м, одна клетка - 2x2з/м, постройки - 4x4 з/м, графика - двух-цветная. Ну и так далее...Сроки выхода (даже приблизительные)мне пока неизвестны. Постараюсь не затя-гивать.18 Aug 96-----------Илья Фомин> Слава, давай, пиши, WARCRAFT- это RULEZZZ! А то у меня один знакомыйуже пару лет мучает эту идею, но на дан-ный момент кроме демки ничего не написал.Больших трудностей в игре две: сверх-быстрый (но не обязательно оптимальный)трассировщик маршрута и стратегия игрыкомпьютера. К счастью, именно в этих двухвопросах я считаю себя бо-ольшим специа-листом - знаю, как народ обмануть, что бывсе думали - ка-акая умная програма :)16 Sep 96-----------Работа в процессе. Напоминаю, что этобудет фактически WC-1. По ходу дела пре-фикс "НЛО-3" выброшен, так что это будетпросто "Чёрный ворон" (ну никак не при-стегнуть инопланетян к ВарКрафту :)Наконец-то я понял, каким образом ге-рои так быстро находят довольно приемле-мые маршруты передвижения, что составлялоглавную загвоздку в игре. Смогу сделатьтакже (или круче ;)Ещё не решил, как полностью "мышиную"игру перевести под клавиатуру/джойстик:интерфейс будет сильно отличаться от ори-гинала. На всякий случай запасайтесьКемпстон-мышами :)))28 Sep 96-----------НЛО-2 была ошибкой - слишком много за-трат человеко-часов. Надо что попроще,поменьше наворотов. Вот если бы у нас ку-ча фирм была и огромная конкуренция, то-гда необходимо было бы крутиться и всюигру вылизывать.Тем не менее для игры "Чёрный ворон"сделано предварительных заказов более,чем на 200$:Вступительная и завершающая демы -120$ - исполнитель X-TRADE.Две мелодии - 2х10$ - исполнитель Dan-gerous.24 цветные картинки - 24х20т.р. - ис-полнитель Денис Барков.Конечно, для двух последних пунктовлучше было бы привлечь москвичей (Scorpi-оn Club и KSA), но до Москвы 800км :((08 Nov 96-----------Вот как примерно будет выглядеть. Иг-ровое поле в окне 24х24 з/м, монохром. Попросьбе Ильи будет фоновая музыка (хотяи нелегко было совместить её с выводомграфики через стек :)17 Nov 96-----------Спрайты вновь выводятся через стек,причем прерывания могут наступать в любоймомент - даже тогда, когда стек стоит наизображении спрайта !Артём Харитонов> А в это время спрайт"колбаcит" по-cтpашномy :)))В том-то и дело, что спрайт остаётсяживой и невредимый.В двух словах, как это делается (приусловии, что обработчик прерываний имеетсвою область стека):Вариант "А" (предложен, например, Стал-кером): Хранить в памяти копию всехспрайтов, по приходу прерывания смотреть,где был стек, и если он был на спрайте,испорченная часть (2 байта) восстанавли-вается из копии. Недостаток: необходимодублировать спрайты.Вариант "Б" (мой): строить все процеду-ры вывода спрайтов так, чтобы они выбира-ли слова из изображения только в опреде-лённую регистровую пару (например POPDE). Тогда, если прерывание наступает вмомент вывода спрайта, гарантировано, чтоиспорченные два байта находятся в DE.Дальше - дело техники. И никаких дублейизображения.Конечно, для игр типа Диззи это не ак-туально - там так мало динамическихспрайтов, что они хоть десять раз выве-дутся за прерывание. Но для Дюн, Дуумов,ВарКрафтов - не помешает :)))22 Nov 96-----------Видимо, завтра человечки в игре ужезабегают, пока, правда, без определённойцели :)Трудности в Ч.Вороне пришли с нежданнойстороны. Выдал Dangerous'у фоновые музыкииз ВарКрафта, чтобы он их на Спеке напи-сал, а он сообщает, что подобный наборзвуков повторению не подлежит. Вот тебе имузыканты-профессионалы :(03 Dec 96-----------По крайней мере в версии с GeneralSound (если таковая будет) все мелодии иоцифровки будут загружаться перед игрой стретьего диска, который целиком будет го-товить и распространять X-Trade.19 Dec 96-----------Сергей Новиков> Как с вороной дела идут?Да идут себе :))Можно назвать приблизительный срок вы-хода - февраль (читай - апрель :). Боль-шой прикол в том, что наиболее трудныеместа пишутся сначала на Cи на РС, а по-том переносятся в ассемблер (ручками, ко-нечно). Получается быстрее и надёжнее. Вследующий раз думаю целиком сначала наИБМ состряпать, а только потом - перене-сти на ZX :))Готово много чего, но на плэй-эйбл де-му ещё не тянет - могут только ходить, ноне воевать. Самому интересно, насколькобыстро получится, т.к. теоретически могутодновременно обрабатываться 96 персонажей(правда, реально их будет в среднем мень-ше - от 15-20 на первых уровнях, до 50-60на завершающих).Скролл получился быстрый - гораздо бы-стрее, чем в НЛО1/2, т.к. графика пло-ская, и на время скролла все перемещенияприостанавливаются (чего раньше не было).Водичка анимированная (можно отключать,но на время вывода не влияет).Трассировщик маршрута - тоже вроде бы-стрый, хотя далеко не оптимальный. Однакочестно ищет, с какой стороны лучше обхо-дить препятствия. В среднем - не более5000-15000 тактов. Так как вызываетсяредко, на скорость игры влиять не будет.Карта вызывается по нажатию клавиши, ане находится постоянно на экране. Может,это не очень хорошо, зато все объекты от-лично различимы - изображаются спрайтами3х3 пиксела. Понятно, что из-за этогоскорость её обновления не высока. Но дляпользователя это будет не заметно, т.к.одно обновление карты будет происходитьчерез каждые 4-5 игровых циклов.Все кнопки на панели управления продуб-лированы горячими клавишами для неимущихмыши :) Используемых кнопок из-за этого -пол-клавиатуры (шутка).Врагов зовут просто кунгами, а не ор-ками.21 Dec 96-----------Сергей Новиков> ...кенгами :) Получшеничего не мог придумать?Поздно, батенька... Ты должен был самдогадаться, сам придумать, и сам мненамылить... А теперь они так уже называ-ются в рекламной статье :))))А если б ты знал, как остальные зовут-ся... Ж-[]ps: а кенги тоже неплохо, как это я неподумал :))pps: долго мучился со стрелочкой. Т.к.обновление экрана не синхронизировано спрерываниями, то стрелочка - большая про-блема. Сначала хотел, как в предыдущихиграх - курсор перерисовывается тольковместе с экраном. Но слишком разным можетбыть время пересчёта в ЧВ, поэтому наразных по сложности игровых уровняхстрелка бы двигалась с разной скоростью(даже настраиваемый параметр ввёл - ско-рость перемещения курсора - жуть). Воттолько недавно понял, как курсор на пре-рывания повесить, и чтоб ему пофиг было -обновляется в данный момент экран илинет.А ведь этот геморрой от отсутствия мы-шей у населения :)))17 Jan 97-----------Кстати, готова демка ЧВ для ZXF #6 -можно забирать - следуя традициям, яоставил в ней кучу глюков (шутка).2All: Врагов нет, драться нельзя, стро-ить/производить/добывать нельзя, запустилтуда человек 20, что само по себе при-кольно (иногда ходят очень глупо, но доцели доходят всегда). Карта есть, невиди-мые поля открываются. Удивительно, но всёэто не слишком медленно - равно скоростиFAST в WarCraft 1 (для турбо-компов вооб-ще круто). Короче для не-playable demoсойдёт. В полной версии гарантируетсяторможение не более, чем на 5-10%. Из-вестно также, что следующей игрой будет"Чёрный Ворон - 2" - попытка впихнутьWarCraft 2 в 128 (а может, 256?) кило-байт.30 Jan 97-----------Про " Чёрный Ворон":Работа вступила в решающую стадию -конец не за горами.Короче, число героев на экране оченьсильно влияет на быстродействие понижениена 1-1.5% на каждого героя/взрыв/снаряд/идр. Т.е. в показанном случае всё тормо-зится в 1.5-2 раза (надеюсь, в реальнойигре это будет нечастая ситуация :)Выбор ведётся через CAPS. При его удержа-нии можно определить рамку выбора (как вАртСтудио). Выделенные герои обводятсярамочками. Максимальная группа - 6 чело-век. С помощью SYM можно добавить/убратьгероя из группы.Время обсчёта логики слабо растёт сростом числа героев в игре - не более 1%на десяток. Особое опасение внушала про-цедура обхода препятствия (которая, в за-висимости от величины препятствия можетдостигать 15000 тактов), но, опыты пока-зали, что даже для такой большой группы,она вызывается, в среднем, 1 раз за 4кадра (очень смотрится, если их всех ку-да-нибудь заслать - просто караван :))26 Feb 97-----------Дмитрий Федотов> Вот тут мне сказали,что в фирме Скорпион появилась игрушкаЧерный Ворон на 2-х дисках.Нет, они просто сделали для себя новыйкаталог спектрумовских игр (цветной!!!) изабили рекламку под ЧВ авансом. Но там вконце идёт приписка срок выхода март-апрель.Дмитрий Федотов> за 6 у.е. - т.е. онауже готова??? Разъясни обстановку.Насчёт цены, я думаю, что по Питеруона будет ровно 30 т.р.Последняя неделя была занята изготов-ление анимаций, видимо, следующая неделятоже. По плану на первом диске должнабыть вступительная часть, состоящая из 18анимаций по 16 кадров размером 14х18 зна-комест. Плюс две финальные анимации по 48кадров того же размера. Вот такая вот ZX-multimedia :)) Из них готово чуть большеполовины. Думаю, всем должно понравиться:)) [мне - так очень]02 Mar 97-----------Статичная часть на флике конвертирует-ся на Спектрум в каждом кадре слегка поразному (может, вспомните Welcome Press#1, там это хорошо видно) - приходитсямного руками править. Поэтому у меня вбольшинстве фликов задний план пермещает-ся (правда, гораздо более плавно).А такой размер кадров я сделал из рас-чёта - 8 кадров в странице. А 14х18 чтобыспокойно LDIR-ами его перекидывать без"рванья" (ну не демо-мейкер я :))05 Mar 97-----------Все анимации, включая две финальные,сделаны (осталось только склеить). Наибо-лее гадко выглядит сцена с ползущими пау-ками - мороз по коже...01 Apr 97-----------Для ЧВ поддержку GS будет делатьStinger (А.Агеев).11 Apr 97-----------Особенно в нынешнее время, когда требо-вания пользователей к мейкерам становятсявсё выше. Это сильно касается real-timeстратегий. Не знаю, что представляют со-бой внутри "Dune2" и "WC" для Спектрума,но Чёрный Ворон написан на поистине, непобоюсь этого слова, объектном уровне :))Воздействия оказываемые, одним объектомна другой, обычно не вызывают немедленныхдействий, а генерируют признак события.Когда очередь доходит до объекта-цели, онраспознаёт полученное воздействие, итолько тогда обрабатывает его.Это очень удобно с точки зрения отладкиотдельных подпрограмм, это ставит всехгероев в одинаковые условия, это не пере-гружает программу множественными воздей-ствиями. Но это достаточно неприятно всмысле отладки взаимодействия между бло-ками (найти источник ошибки - трудно).11 Apr 97-----------Чёрный Ворон - демо v0.02Демо в формате .Z80.Музыка - от JAM из Московской области.Для прикола выберите Волшебника и нажмитена кнопку 'скорпионы'.А потом куда-нибудь всех пошлите. Незабыли, как разбегаются тараканы на кух-не, если ночью там включить свет? :)))19 Apr 97-----------Dangerous>> Самый большой в миpе глюк:Медноногов хочет сделать музыку для Чеp-ного Воpона как пpиложение на 3-ем дис-ке!!!Сергей Новиков> Оригинальный трюк. За иг-ру на 3 дисках народ больше заплатит, чемесли б она была на двух.Игра будет распространяться на 2-х дис-ках. Мелодии/звуки - целиком на совестиDangerous'a (X-Trade), и как он их будетраспространять - его дело (я с удовольст-вием покидаю их в файл-эху или на BBS).Вряд ли кто помнит, но выход GS планиро-вался ещё до НЛО-2, тогда тоже шла речь оподдержке (!). Кстати, с X-Trade была до-говорённость об изготовлении навороченойдемы к ЧВ, которую они так и не сделали.Третий раз обжигаться я не хочу.Звуковая поддержка будет загружатьсяодин раз перед игрой и вызываться из иг-ры (если X-Trade не забудет про обещаниепредоставить отлаженные подпрограммы под-держки GS :))21 Apr 97-----------Почти 500 килобайт на первом диске -видеоролик.Алекс Летаев> В запакованном состоянииили нет?476 - в пакованном, 794 - в непакован-ном. Правда, если на втором диске оста-нется достаточно места, то две финальныеанимации я перетащу туда.21 Apr 97-----------"Огибание препятствий" - в НЛО-1 онобыло из рук вон никакое - герой застревалу каждого столба. А пришельцы просто по-стоянно перемещались в полуслучайных на-правлениях - конечно, они куда-нибудь дапопадали :) [эффект Броуновского движе-ния]Расчёту маршрута в НЛО-2 посвященабольшая статья в ZXF #6 (c примером наБейсике :) Там применён метод волновойтрассировки.Расчёт маршрута в ЧВ - могу рассказатьтолько на пальцах. Герой идёт в направле-нии цели. Натыкаясь на препятствие, оносматривает его справа и слева по контуру(периметру? Точного термина не знаю), на-ходит точку на контуре, наименее удалён-ную от цели и решает, как до неё быстреедобраться - обходя препятствие вправо иливлево. Обходит препятствие и продолжаетдвижение напрямую к цели. И так он обхо-дит все препятствия, пока не дойдёт доцели.В идеале было бы хорошо предварительнозапоминать маршрут, что бы его можно былооптимизировать (сгладить), но на Спекеслишком мало памяти. Поэтому я запоминаютолько направление обхода текущего пре-пятствия и длину обхода, на что достаточ-но одного байта. На практике большой по-мехой являются другие движущиеся объекты.Однако более-менее работает (см. дему).08 May 97-----------Имхо, в последнее время всё самое кру-тое для ZX написано c помощью IBM/Amiga.Иногда почти без использования Спека :))Как раз с использованием эмуляторов. На-пример, так давно делает группа STEP(используя UKV 1.2)Что говорить, если даже потомственныймузыкант LAV при написании своих мелодийдовольствуется скромным звучанием эмуля-тора Шалаева, позабыв про прелести на-стоящего AY.Александр Лебедев> Слава когда начнёшьписать на IBM? :)Первый шаг уже сделан - прикупил книж-ку "Секреты программирования игр подWINDOWS 95" :))16 May 97-----------Чёрный Ворон - последний барьер.Работа над ЧВ несколько затормозилась.Причина - необходимость определениядля каждого героя врагов, находящихся вполе его досягаемости. Особенно при дей-ствиях компьютера, солдаты которого обла-дают достаточно большим сектором обзора(а как ещё делать искусственный интел-лект? :) Попытка решить в лоб (сравнением"всех против всех") - не принесла успеха.Надо надеяться, задача разрешима. Ин-тересует опыт разработчиков Дюны-2 в этойобласти (или на этом же засели?)18 May 97-----------В применении к правилам Чёрного Воронаосмотр большого сектора - достаточно че-стная игра, т.к. играющий-человек вообщеспособен видеть все открытые поля. Я бы судовольствием разрешил тоже самое компью-теру, но:а) обработка такого объёма информацииявно не по силам маленькому Спекки;б) даже получив её, я вряд ли смогупридумать достойные правила использоватьеё (напоминает подобную проблему в "Ду-раке", где в режиме "шулер" компьютер,зная все карты в на руках противника и вколоде, просто не в состоянии реально ис-пользовать эту ценнейшую информацию :))С другой стороны, чтобы игра была абсо-лютно честной, компьютер должен во всёмуподобиться человеку - иметь свою картуневидимых полей, посылать разведчиков,чтобы расширить свой сектор обзора. Этонехило "утяжелило" бы программу.Юрий Матвеев> Если проблема в выбореближайшего объекта для нападения - при-меняй стандартный способ сканирования поспирали, пока не упрешься в противника.После этого - атака.Этот способ тоже не очень хорош. Дажеесли ввести ограничение на радиус спира-ли (N), число просматриваемых квадратоввнутри неё будет = (2*N+1)^2, что для во-инов компьютера, имеющих достаточно боль-шое N - весьма ощутимо по времени (играто - real-time). Да и для наших воинов всреднем N=2..4.Надо надеяться, задача разрешима.Юрий Матвеев> Еще бы :) Глянь на ваp-кpафты, дюны и пpочие комманды и конквей-еpы :)Ну, имея 133Мгц, я бы решил её в лоб ина бейсике :))21 May 97-----------Если я правильно решил, для нормальнойигры радиус видимости у всех солдат про-тивника должен быть как минимум чутьбольше Sight катапульты, чтобы они зара-нее могли отреагировать на её приближение- правило простое, но его надо реализо-вать - иначе несколько тормозных ката-пульт игрока разнесут всё в пух и прах.Тут весь спотыкач :((Сергей Новиков> Хорошо, ждем у барака,пока не наберется 4 юнита - и в бой. Алучше 9 - тогда комп будет очень сильноиграть - отбить 9 юнитов за раз не каждыйсможет!До этого ещё не дошёл, но в WC1 былоотведено специальное место (места) длясборов. Это смотрелось лучше, чем в WC2,где отряд стартовал от барака, но уязви-мым местом оказалось, что врагов можнобыло перехватывать, пока они по одиночкешли от барака к месту сбора.Сергей Новиков> можно ввести дополни-тельный режим - для компьютеров с турбоONLY - там и комп будет больше думать, иэффектов можно будет побольше понавешать(анимашек во время игры).Дык, осталось 4К с хвостиком, особо неразгуляешься :(( Не то что эффекты и ани-мации - думаю, а не выбросить ли мне му-зыку (всё-таки ещё 5к). Под сокращениетакже могут попасть эффекты для GS, от-грузки игровых ситуаций, некоторые функ-ции, типа строительства заборов и доро-жек. Сплошные траблы :(21 May 97-----------В отличии от НЛО-1/2, в ЧВ - направле-ние - чисто номинальный параметр. Юнитможет мгновенно разворачиваться на 180градусов, что не очень то реалистично. Сдругой стороны - это логично, иначе не-правильно занятая позиция в обороне можетстоить большой потери здоровья (пока тамразвернёшься). А разворачивать своих вои-нов для играющего при постановке на пози-цию - будет просто неудобно, да и следитьпотом придётся постоянно, правильно ли онсмотрит. Отсюда и обзор у них - круговой.21 May 97-----------Дмитрий Григорьев> Ну и пусть стоят исканируют. Лучом - хоть все поле. Цикловза 10 просканируют всю окружность. Есликого поймают - пусть гонятся за ними.Почему за 10? Может, больше? :)Идея понятна - частичный осмотр на ка-ждом цикле. Я тоже решил так поступить,если не придумаю чего получше. Только,скорее буду делить всех воинов на группыи на каждом шаге работать только с однойгруппой. Правда, это ухудшит реакцию :((26 May 97-----------Чтобы иметь всю полноту картины, хочурассмотреть способ, предложенный NickolayMezencef.(Напоминаю, что речь шла о сканирова-нии каждым героем real-time стратегий ме-стности вокруг себя на предмет выбора це-ли)"Почему бы вместо сканирования квад-ратов просто не посмотреть координатыобъектов противной стороны. Не думаю, чтодаже при максимальном количестве объектовс обеих сторон это заняло бы более преры-вания. Если время реакции составляет 1сек. (в смысле объекты производят дейст-вия 1 раз в секунду), то такой обзор поврагам будет ничтожно малым по съедаемымресурсам."Т.е. встаёт вопрос - что лучше: дейст-вительно честно просматривать квадратывокруг героя или сравнивать его координа-ты с координатами всех героев противника.В принципе, первый способ уже подробнообсуждался (в отличии от второго). Нико-лай предлагает использовать способ два соследующей оптимизацией:"Можно это дело еще оптимизировать: ко-гда объект совершает перемещение, он саминформирует враждебные объекты о своемвхождении в зону их видимости. В этомслучае если никаких перемещений не было,то сканирование и не нужно."Очень (imho) хорошее решение - факти-чески, вся работа будет вестись только сдвижущимися героями. Немного непривычно,т.е. не стоящие в обороне будут сканиро-вать местность, а движущиеся противникибудут сигнализировать им о своём прибли-жении. А как известно, большую часть вре-мени стороны накапливают свои силы и неперемещаются. Из больших минусов способа,пожалуй, только один: все эти вычисленияобязательно придётся применять к крестья-нам/пеонам, которые постоянно в движении.А их может быть не так и мало (обычно 15-25% от общей численности).Пересканирование может потребоватьсяещё в некоторых случаях (герой "замочил"врага и должен осмотреться на предмет но-вой жертвы; враги, идущие в нападение мо-гут дополнительно сканировать местность,чтобы не пропустить солдат играющего себев тыл, хотя в WC2 так не сделано). Но этодействительно мелочи :)* * *Чтобы логично завершить тему, хочу вдвух словах описать метод, на котором ре-шил остановиться.Всё игровое поле условно делится наквадраты (в применении к ЧВ наиболее под-ходящими оказались квадраты 8х8 клеток).Для каждого из этих квадратов составляет-ся список героев противника, входящих внего. Если в квадрате нет противников,список для него будет пуст.Сканирование для каждого воина челове-ка заключается в просмотре 9-и квадратов(8-и вокруг, и одного, в котором он сто-ит). Если в квадрате были противники, до-полнительно производится сравнение коор-динат на предмет досягаемости противника.Такая же процедура производится и своинами врага.Идея основана на том, что большую частьвремени все персонажи противоборствующихсторон находятся на значительном расстоя-нии друг от друга, и, следовательно, спи-ски связанные с осматриваемыми квадратамибудут по большей части пустыми.Как альтернатива, возможно применениеквадратов 4х4, но тогда для всех героев,чей Sight>4, придётся осматривать не 9, а25 квадратов :(Небольшой трудностью является составле-ние списков, но это уже просто маленькиетехнические проблемки :))12 Jun 97-----------Тут могу твёрдо обещать - Чёрный Воронбудет не тупее ВарКрафта :))13 Jun 97-----------Описатель одного юнита на Спектрумепрекрасно влезает в 20 байт (даже 19), вотличии от, например, НЛО-2, где требова-лось 32 байта. Выделенных 2К хватает на102 героя.Но вот попытка повторить WC2 кажетсядействительно затруднительной, т.к. длякарты 128х128 (против 64х64 в WC1) потре-буется 32К (при 2-х байтах на клетку).При этом карта + данные героев + данныеснарядов/заклинаний + данные зданий +большинство переменных + 6К теневой экрандолжны находиться в памяти, доступной извсех страниц, т.е. с #4000 по #C000, атам всего 32К :((Поэтому, если WC2 и быть на Спектруме,то с меньшей картой (80х80 или 128х64) итолько на 256к-машинах (и явно без воз-душных героев, иначе описатель клетки по-ля вырастет с 2х до 3х байт)21 Jun 97-----------Ладно, проблема с памятью вроде решилась(пока :). Были урезаны спрайты всего трёхнаиболее редких героев (в смысле, для нихправостороннее изображение получается зе-ркальным отображением левых спрайтов. Потаблицам это занимает ~3000 тактов) - де-мон, стеногрыз, костолом. Это дало допол-нительно 2,5к - должно хватить на самыйнавороченный интеллект :))Видимо, в игре будет 3 уровня сложно-сти:1. обычный (как в WC1), пара-тройка по-следних уровней отсутствует.2. сложный (враги поумнее + более жёст-кие правила)3. особо сложный (то же, что и 2, но сзапрещением отгрузок во время игры)В качестве основной оценки действий иг-рающего будет время прохождение уровней иигры в целом - imho, справедливо.Хотя к интеллекту я плотно пока так ине подобрался, зато удалось вычиститьпочти все глюки и доделать все недоделки:) В т.ч. введена система оповещающих ин-дикаторов (в правом нижнем углу), сооб-щающих о нападении, окончании строитель-ства/производства, разрушении зданий идр.24 Jun 97-----------Графика на Спеке занимает в восемь разменьше места, чем на РС; в два-четырераза меньше фаз, изображающих движе-ние/атаку, меньше спрайтов ландшафта -короче, влезает всё в ~80к.Миша Турновский> Для получения нормаль-ной стратегии imho надо 1000-1500 героев.Это слишком много. В WC1 обычно числоюнитов со стороны человека не превышает30-35, со стороны компьютера - 50-60 фи-нальные уровни). В WC2 это число в 1,5-2раза больше (в т.ч. из-за того, что игракомпьютера построена от обороны). Спек-трум вполне потянет (по замерам на 3,5мГц- укладывается между FAST и FASTER отWC1, а на 7мГц - вообще... :))26 Jun 97-----------Денис Паринов> Сколько будет уровней?Пока предполагается по 12 за каждуюсторону (12+12). Но почему-то подозреваю,что их будет больше. Ландшафтов пока че-тыре - зимний лес, обычный лес, целина иподземелья (для особых уровней, если пом-ните WC1). Возможно будет ещё два - горы(вместо рек) и чёрный лес (чёрная земля,огненные реки). Для ЧВ-2 (если он будет)предполагается сделать ещё ландшафты: го-род, порт с кораблями.01 Jul 97-----------Сегодня доделал последнее заклинание -вражеские смерчи, по виду больше похожиена фашистские кресты - почему-то ничеголучше не придумал :)01 Jul 97-----------Самая серьёзная из грядущих проблемдля Спека - отсутствие в продаже чистых5,25" дисков !!! Это пострашнее клятыххакеров будет :))01 Jul 97-----------В ЧВ компьютер будет действовать при-мерно по следующему плану:- все юниты будут делится на "посто-янный" и "дополнительный" состав;- постоянные - те, которые расставленына карте до начала игры - охранники икрестьяне. Крестьяне заранее делятся надобывающих золото/лес и, возможно, на ре-монтников. Новые крестьяне появляютсятолько в случае их гибели. Охрана в слу-чае гибели не восстанавливается (обычныйуровень сложности), или восстанавливается(повышенная сложность);- дополнительные появляются по ходу иг-ры (по мере накопления ресурсов или поистечении некоего времени или ...) и об-разуют группы нападения. По достижениинекоего числа дополнительных юнитов всеони отправляются в завоевательный поход(цель - чаще всего "town-hall", но необязательно).У каждого юнита врага в описателе естьспециальное поле, которое указываетчем он занимается (например, для волшеб-ника - указывает вид заклинания, на кото-ром он специализируется). Другое полеуказывает, чем он действительно занят.Пока оно не 0 (задание выполняется), ком-пьютер не трогает этот юнит. Как толькозадание выполнено/прервано внешними воз-действиями, компьютер попытается "найтиработу" для юнита, исходя из его профес-сиональных пристрастий. Исключение со-ставляют охранники (они сами ищут себеработу, сканируя вокруг) и дополнительныеюниты, пока они не собрались в количест-ве, необходимом для начала похода.Примерно так. Но, конечно возможны ва-рианты...10 Aug 97-----------John Stunner> А как там ЧВ?Живёт своей загадочной жизнью. А вооб-ще, лето ведь сейчас, в Питере 25'С :)Т.е. предыдущий месяц - как-то вяло :(15 Aug 97-----------Чёрный Ворон - Demo v0.04Cобственно, вот, в формате .z80. Как ипланировалось, это последняя демо-версия,дальше - только игра...Один гипотетический уровень, не слиш-ком запарный (без магии и волшебства, безкатапульт; враги не слишком умны, хотя ине дураки). Проходится, вроде, до конца.В случае победы выдаёт "Well Done", иначе- "R.I.P."Символично, что ровно год назад былиначаты работы над ЧВ...Специально к Еnlight'97! ;)ps: внимание, при игре без мышки рукисводит судорогой через 30 мин! Ж-)30 Aug 97-----------Алекс Коваль> Я сделал это! Да! Я про-шел ее! Дему эту, доконал таки!!! Там вконце атрибутами написано WELL DONE.Именно так!!!Алекс Коваль> Круто! Если это будет по-следний уровень, то логику можно и не ме-нять.Вообще-то это был первый уровень ;)А братан мой не прошёл :( А ещё гово-рит - буду у тебя бета-тестером. Вот тебеи любители warcraft'а на РС :))04 Sep 97-----------Про ЧВ: в последние дни была проведенакапитальная доработка трассировщика со-гласно сообщённым глюкам:а) воины противной стороны при трасси-ровке считаются проходимыми, поэтому, ес-ли перегородить мост или другое узкое ме-сто своими солдатами, оно не будет счи-таться непроходимым для врага (как в де-ме);б) проходимыми считаются теперь и движу-щиеся воины, что даёт возможность прохо-дить большими группами через узкие прохо-ды без разбегания отряда. С помощью до-полнительных ухищрений удалось достичь100% проходимости отряда;в) исключены закручивания (когда воиндолго ходит вокруг пустого места);г) гораздо лучше теперь обстоит дело свыходом из узких тупиковых проходов.Кроме того, по просьбам трудящихся:а) чтобы атаковать своего воина, надонажать специальную клавишу. Таким обра-зом, исключена возможность случайно убитьсвоего воина в пылу борьбы. Введена фик-сация цели - выбрав цель, нельзя случайновыбрать другую до отпускания SPACE. Зах-ват цели индицируется миганием курсора;б) запрещено строить здания на каменныхдорожках и тропинках, чтобы нельзя былопостроить непроходимую преграду из зданий(как это возможно в деме). То же относит-ся и к заборам (в уровнях, где возможноих строить);в) другие мелочи.Видимо, к конце недели будет завершенастратегическая часть (наконец-то ;) иначнётся работа над уровнями.11 Sep 97-----------Денис Дмитриев> не пойму, зачем группасделана макс. 6 воинов?Сам не знаю... Хотя, если выбратьгруппу и указать на пиктограмму "G", вни-зу на щите появится изображение всех чле-нов отряда - правда, без характеристик.13 Sep 97-----------Paul Falcon> А в чем будет заключатьсяпереход от уровня к уровню ?Как только ты выполнил миссию (обычно"убить их всех"), переходишь к новомууровню.ps: Я тут вспомнил, что художник (Д. Бар-ков) выдал всего 10 межуровневых картиноки свалил на РС :( Пришлось в спешном по-рядке делать ещё 22 (отсюда, наконец, имне стало понятно, что всего уровней бу-дет 16+16 :)Идя на поводу у пользователей, пришлосьвсю графику делать цветной.Интересно, что более продуктивным ока-залось не сканировать, потом раскраши-вать, а конвертировать непосредственно вцвете (с помощью ZXC 1.1), а потом дора-батывать в ручную (в среднем доработказанимает 1.5-2.5 часа). Всю работу уда-лось выполнить за пять (!) дней.Imho, получается что на Cпеке не должностоять вопросов с качественной графикой -фактически любую картинку можно очень ка-чественно (и быстро) конвертировать в 4-5梥⮢.13 Oct 97-----------Тут выяснилось, что ЧВ включён в новыйкаталог Логроса/Nemo (а в каталоге фирмыСкорпион он уже с апреля :), и что людиактивно шлют деньги. Хоть я и не давалтвёрдых обещаний, но на всякий случайспешу успокоить покупателей насчёт вло-женных денег - всё будет о.к., причём от-носительно скоро ;)К концу этой недели будут завершенывсе 32 уровня. Что останется:- к каждому уровню надо задать массупараметров;- убитые крестьяне пока не заменяютсяновыми;- хотя все заклинания готовы, маги иколдуны компьютера не умеют пока их при-менять;- всё ещё нет работы с диском;- нет защиты (никак не решу, на какомспособе остановится, всё больше мне нра-вится метод, применяемый в Turn и ZXFor-mat);- Ларьков должен отдать мне пентагон,который никак не приедет с Инлайта;- вроде, всё!В завершении я её немного потестирую -на предмет глюков, конечно, проходить несобираюсь - задолбало за год :) Кста,проходимость некоторых уровней под сомне-нием, но продвинутый геймер навернякасправится.На вторую часть (миссии на стороне кун-гов), наверное, навешу пароль, которыйсообщу через месяц/полтора после началапродажи.15 Nov 97-----------Мы с Растером вызвали друг друга насоц. соревнование на предмет: "Кто раньшевыйдет - ZXF #7 или ЧВ?" Проигравший от-даёт победителю 1 (одну) банку пы-ыва :)ps: c ЧВ финишные проблемы - глобальнаянехватка памяти :((( День за днём идётбитва за каждый байт. Не в смысле оптими-зации, а в смысле урезания спрайтов и вы-брасывания кусков кода.Зато уже есть вариант под TR-DOS (вформате FDI) с несколькими уровнями,Finаl-Cut'ами и возможностью отгрузок.Отгрузки получились очень большими (около20 Кб), поэтому будут вестись на отдель-ный TR-DOS диск. Предусмотрена работа сдвумя дисководами (спасибо эмуляторуUKV), причём можно выбирать, какой диско-вод подо что использовать. Второй диск -всегда 5.25" (чтобы поцарапать его :), апервый - 3.5/5.25 на вкус покупателя. Каки отгрузочный (тоже любой). Думаю, этонормально, т.к. проведённые опросы не вы-явили людей, пользующихся только 3.5-дисководами.Как и говорилось, по тех. причинамподдержка GS не была включена в игру, всетапе поэтому появилась пара новых пунк-тов - "цветная/нецветная игра" и "выбордиска для отгрузок"Сразу после загрузки начинается беско-нечный демо-режим для тех трейдеров, кто,по методе Логроса, держит на торговойточке рабочий компьютер. Сам могу смот-реть часами, как в деме дерутся :))Формат второго диска (где уровни) про-думан в этот раз таким образом, что онабсолютно не зависит от 1-ого. Поэтому,вполне вероятно появление в дальнейшемдисков с доп. миссиями. Кроме новых уров-ней заранее предусмотрена возможность из-менить графическое оформление ландшафтов,кнопок, музыкальное сопровождение и межу-ровнёвую графику. Может быть, за выпускновых миссий возьмутся наши так называе-мые хакеры, однако к подобной возможностиследует относится скептически :))По прежнему нет защиты (некуда размес-тить), но будет :)23 Nov 97-----------Руслан Щербатюк> Hикто не слышал -уже a'la War-Craft сделан?Выход (в Питере) назначен на 6 декаб-ря. Запасной вариант - неделей позже.Сейчас идёт авторское бета-тестирование.Пока засел на девятом уровне (за людей)- не могу освободить крестьян.Приятно фактически 100%-е отсутствиеглюков - пока обошлись без зависаний.Даже страшный глюк с хождением воинов полесу и домам обезврежен (вроде бы :)Руслан Щербатюк> А UFO-3 не собирают-ся делать.Про это никто не слышал...26 Nov 97-----------Защита пока не вставлена, но 26 уров-ней из 32х оттестированы.Двенадцать из них я честно прошёл, ос-тальные, вроде, тоже должны проходиться.Самый тяжёлый уровень (пока) - "Люди#13". Хотел было выкинуть, но с 50-й по-пытки случайно прошёл :-) Брат свиде-тель.05 Dec 97-----------Чёрный Ворон НЕ выходит завтра!Hу, во-первых, потому что вышел ZXFormat 7. Грех не почитать свежий номер.Во-вторых, возможность этого не исклю-чалась.В-третьих, просто не получилось :( Не-устойчиво читает/пишет отгрузки, защитаглючит.Так всегда бывает, когда что-то изкусков лепится в одну кучу...Значит - выход назначается окончатель-но на 13-е декабря (ну и число, однако.Хорошо, хоть не пятница :)В связи с этим - о распространении подругим городам:Распространение начнётся неделей поз-же, чтобы успеть обкатать игру в Питере.Как всегда, этим занимаются Логрос, Зо-нов, Hемо.Со мной можно связаться по тел: (812)-143-33-03.12 Dec 97-----------Чёрный Ворон - v1.00.Как и предполагалось, завтра первые 30комплектов поступят в продажу. Это, ско-рее, бета версия. Уровни за кунгов - подпаролем.В течении недели надеюсь получить со-общения о возможных глюках, чтобы принеобходимости доработать программу. По-этому окончательная версия (1.01) выйдетчерез неделю. Как минимум, по причинетого, что не удалось закончить описание иподготовить наклейки/вкладыши/конверты.P.S. Может быть, стоило отложить выходещё на недельку, но - раз обещал... :-)13 Dec 97 (04:54)-------------------Алекс Петровский> Когда будет DOOM иЧеpный Воpон - кто знает, люди?Когда будет Дуум - не знаю, а ЧёрныйВорон v1.0 уже существует в течении 10минут в количестве 34 экземпляра!!!17 Dec 97-----------За всё время эксплуатации найден покаодин глюк сборки - невидимые поля послеотгрузки из чёрных превращаются в белые(лечится входом в setup - пофиксено).Была ложная тревога от члена Омега-групппро неработоспособность лесопилки.В целом реал-тайм стратегия для спек-трумистов, конечно, в новинку. Самыепродвинутые добрались только до пятогоуровня (и то, подозреваю, добавив себеденег - а на пятом уровне деньги не по-могают ;)Игра не пошла на новом мегабайтномКАЙ'е (что поделать, ну не везёт мне наКАЙ и всё-тут). Глюк будет пофиксен.По просьбам трудящихся пароль со вто-рой части игры будет убран.По просьбе Сергея Зонова будет вариантс двумя дисками под 3,5" - как толькобудут проведены научные изыскания по ме-тодам их царапанья :)Соответственно, релизная версия 1.01выйдет в эту субботу (20-ого декабря).22 Dec 97-----------Вышла. Работоспособность гарантирована.Пожалуй, один глюк пока остался - есливместо отгрузки игры дать игре "левую"информацию - может повиснуть. Мораль: ненадо этого делать. Когда-нибудь поправ-лю...Удивительно, что, хотя внутри програм-ма представляет собой "маленький Вин-доуз'95", работает без сбоев как часы :)А в 1.00 грамотные люди (например, Са-ша из Omega group) дошли аж до 9-огоуровня (!), где пока и сидят. Причём почестному (!), без добавки денег (т.к.если там добавить всего 100 монет - уро-вень проходится без труда)По просьбе трудящихся вставлена защитаот Теневого Монитора. Защищает она илинет, не могу сказать (не имею Скорпио-на), но зато ни Пентагон, ни Скорпион невешаются при её работе :)Первые 24 комплекта уехали в Ростов-на-Дону.26 Dec 97-----------Первая приятная новость:Дмитрий из G-Soft прошёл все 16 уровнейза людей (!) в v1.01.По его мнению, наибольшую трудность со-ставило прохождение 15 и 16 уровней из-заналичия демонов и далеко отстоящих шахт.Финальный мультик ему понравился :)Hе удивительно, что это именно G-Soft,т.к. они в своё время выпускалиWarCraft-demo в ZX-Formate, и поэтомулучше всех "въехали" в ЧВ.01 Jan 98-----------Владимир Спашко> Чёрные Вороны доехалиноpмально и начали свой путь в наpод :-)Писать о впечатлениях нет смысла- этонадо видеть!!! Пеpвые успехи одного изфанатов - 9 уpовней за людей за двое су-ток с пеpеpывами на сон и еду.Классно!Сорри, что к тебе ушли версии, гденельзя отгружаться на диск "Б:" :((( Ес-ли кого в Ростове-на-Дону это сильнодостаёт, потом перепишешь им первый дисктеледиском или макдональдом (или я обме-няю).Кстати, про версии:1.00 - тестовая бета-версия. Hа всякийслучай я сделал её непроходимой (а тоопять хакеры поломали бы и все свои глю-ки на меня свалили бы :))). Поразитель-но, что их обменяли всего шесть штук(хотя в инструкции явно сказано о необ-ходимости обмена). Двое дошли аж до 12уровня - и обломались :((1.01 - релизный вариант, полностьюпроходимый (если уметь играть ;)Поправлено всё, о чём сообщили пользо-ватели.1.01A - а) исправлен глюк с запретомотгрузок на "Б:" (просто долго никто незамечал); б) Талабрук случайно был на-зван Варлоком (пофиксено).1.01B - а) иногда можно было строитьзаборы там, где это нельзя (пофиксено);б) G-Soft нашёл глюк, облегчающий разра-ботку заклинаний (пофиксено).Все 1.01х помечены как 1.01 (номерверсии - в описании). Первые и вторыедиски от любых версий 1.01х совместимымежду собой. Однако отгрузки - не со-вместимы (в связи с тем, что в отгрузкувходят физические адреса некоторых под-программ). Других версий не предвидится.Игра за кунгов: пока не поступало ин-формации о прошедших её дальше второгоуровня. Впрочем, это старая информация.Уровни за кунгов отличаются, на мойвзгляд, большим разнообразием - большемест, где надо подумать.02 Jan 98-----------Пока все Hовый год отмечали, G-Soft'ывчетвером за кунгов играли :) Прошли по-ка до 9-ого уровня. Говорят - трудно.Особо трудным показался уровень 7("острова"), хотя выбранный ими вариантпрохождения имхо не лучший. Hа мойвзгляд, трудными являются также:9й ("объединение войск");12й (самый трудный из подземных);16й (возможно, непроходим).Однако продвинутый геймер справится!----------------------------------------------------------------------------------Полезно видеть, что на пути любой игрывстают довольно сложные проблемы, веду-щие, порой, даже к смене сюжета!А такие вещи, как изготовление видеоро-лика, конвертация графики или созданиеаудиоэффектов, уважающий себя гейм-мейкерпроходит с лёта, незадумываясь, пустьранее этого и не делал :)С горячим приветом, Слава2:5030/362.4@fidonet