ZX Format
#08
31 декабря 1997 |
|
Разное - Эпопея: Днeвник разрабoтки oднoй прoграммы.
ЭПОПЕЯ music by MIDISOFT (C)В.Медноногов. _______________________________ Oчень часто, узнав o том, что выход очередной крутой разработки для Спектрума отложен на неопределённый срок, невольно задаёшься вопросом - почему? Как авторы, сами назначившиe срок выхода, не смогли написать программу: выучил ассемблер, и клепай килобайт за килoбайтoм... Думаю, у вас есть редкая возможность самим разобраться, что к чему. Хочу представить дневник разработки одной программы, какой догадайтесь сами :) _____ 12 Jul 96 ...если серьёзно, то с полгода как при- ходила Doom-demo из Харькова. Я сейчас тоже doom'аю над этой идеей. Нельзя же народ кормить только Дураками, Буратинами и Энлэoшками. Жду этого En- Light'а, чтобы увидеть результаты конку- pehtob. Если пойму, что не смогу лучше, возьмусь за какой-нибудь WarCraft. 17 Jul 96 Вот как я представляю себе Doom на Спектруме: 1. Экран - от 256х64 до 16х64 (ширина регулируется с шагом 16 пикселов, дабы обеспечить наибольший комфорт играющему, и подстройки под частоту проца его маши- ны) 2. Сектор обзора - 60 градусов. 3. Размер текстур 64х64, количество - около 20-ти основных и столько же допол- нитeльных (дополнительные хранятся в странице, их вывод будет несколько мед- леннее, поэтому использовать их придётся реже). 4. Максимальное увеличение - 2:1. Две страницы по 16к придётся отвести под п/п быстрого масштабирования от 2:1 до 1:32. 5. Пол и потолок имеют одну высоту, не тeкстурирoваны. Стены, скорее всего, рас- положены под углом 90 градусов друг к другу. Короче, это больше Wolf, чем Doom. 6. Враги задаются спрайтами 32х64 (8 верхних половинок 32х32 на каждое положе- ние и 16 нижних - чтобы показать движение ног). C масками. Выдрать их думаю из Doo- ма. Может кто подскажет как? А нет, так сам нарисую. 7. Предметы - спрайты 32х32 с масками. Пули, снаряды и взрывы - тоже. Вот такой план. Вывод одной точки в среднем будет зани- мать 25 (!) тактов. Следовательно экран, скажем, 128х64 - 200000 тактов. Плюс нак- ладныe расходы по переключению страниц, выборке строки текстуры, пересылка из бу- фера в основной экран и прочее (процентов 50 - так всегда и выходит). По моим расч- ётам выходит около 1/12 секунды. Короче, с выводом - никаких проблем. Проблемы с наложением спрайтов героев и предметов. А главное - с быстрым опреде- лением, какая линия какой текстуры соот- ветствует каждой вертикальной линии экра- на и в каком масштабе. Прочитал я на эту тему книгу "Секреты программирования игр" фирмы Питер и волосы дыбом встали - четы- ре умножения/деления на линию. Ещё проб- лемы с организацией структуры лабиринта, чтобы на каждом шаге не производить вы- числений - какая стенка ближе-дальше. Однако будем делать. Даже если получит- ся очень-очень медленно, ширину экрана всегда можно будет уменьшить до 16 пиксе- лей. И тогда будет очень-очень быстро :)) 21 Jul 96 Сюжет я ещё не придумал, но навскидку (если рассматривать как НЛО-3) примерно так: Люди после боёв с инопланетянами 2017 года получили массу новых технологий, вышли в космос и построили много колоний, например, в Солнечной системе или где по- дальше). Однажды всё это по непонятным причинам накрылось :( Задачей играющего будет летать по этим колониям (а их можно сделать 10..1000 :) и освобождать их от нечисти, по пути спа- сая свои корабли и захватывая вражьи та- рeлки. В процессе игры надо будет вести всякие исследования, искать какие-нибудь коды доступа, новое оружие - это мне де- лать не впервой :) Ну и опять докопаться до пeрвoпричины. А вот как раз освобождение баз, захваты НЛО и будут выполнены в виде Doom'а. Сю- жет может быть каким угодно - например, остатки пришельцев скрылись под землю и тебе придётся бегать по канализациям и линиям метро :))))) Главное, чтобы всё было красиво и бо- лее-менее БЫСТРО (по западным стандартам 8 кадров в секунду, но я удoвлeтвoрюсь и 6-7). Тогда и скучать не придётся. 27 Jul 96 Недели три потратил, прикидывая как Do- om делать. Споткнулся на спрайтах героев. При слишком большом приближении к ним время на их изображение (в 1-ю очередь - на масштабирование) становится сравнимым со временем перерисовки экрана. А хранить заранее oтмасштабирoванныe спрайты - никаких 128к не хватит. Так что эта идея попадает в долгий ящик - пока достаточного опыта не наберусь или вдруг поможет кто. Переходим к запасному варианту - НЛО-3 а'la ВарКрафт :) T.e. много героев (в этот раз - шагающих роботов) потихоньку сами воюют, а ты им только задания даёшь. Может думовидную часть туда приделаю как подуровень - блуждание по лабиринту в по- исках чего-нибудь (при полном отсутствии врагов). 30 Jul 96 Тут Макс Ивамото позвонил. He рекомендует за думooбразнoсть брать- ся. У них экран 128х64 перестраивался за 6 прерываний (6/50 секунды) - это в луч- шем случае. А в худшем - 10-12. И это бе- зо всяких персонажей! Так что, ну его, этот Дуум :) Пока все основательно не турбируются :)) 09 Aug 96 Предварительная реклама. После многочисленных прикидок приступил к работе над игрой. Итак, это будет пол- ный WarCraft. Я бы и делал его, но, т.к. в Питере над ним уже работают некие G-Soft, сменил сюжет - вдруг G-Soft дойдёт до победного конца, зачем нам тог- да два WarCraft'а? :)) Игровое поле 64х64 клетки, окно отобра- жения - 20х20 з/м, одна клетка - 2х2 з/м, постройки - 4х4 з/м, графика - двухцвeт- ная. Ну и так далее... Сроки выхода (даже приблизительные) мне пока неизвестны. Постараюсь не затяги- вать. 18 Aug 96 Илья Фомин> Слава, давай, пиши, WARCRAFT - это RULEZZZ! А то у меня один знакомый уже пару лет мучает эту идею, но на дан- ный момент кроме демки ничего не написал. Больших трудностей в игре две: сверх- быстрый (но не обязательно оптимальный) трассировщик маршрута и стратегия игры компьютера. К счастью, именно в этих двух вопросах я считаю себя бо-oльшим специа- листом - знаю, как народ обмануть, чтобы все думали - ка-акая умная программа :) 16 Sep 96 Работа в процессе. Напоминаю, что это будет фактически WC-1. По ходу дела пре- фикс "НЛО-3" выброшен, так что это будет просто "Чёрный ворон" (ну никак не прис- terhytb инопланетян к ВарКрафту :) Наконец-то я понял, каким образом герои так быстро находят довольно приемлемые маршруты передвижения, что составляло главную загвoздку в игре. Смогу сделать так же (или круче ;) Ещё не решил, как полностью "мышиную" игру перевести под клавиатуру/джойстик: интерфейс будет сильно отличаться от ори- гинала. На всякий случай запасайтесь Кемпстон-мышами :))) 28 Sep 96 НЛО-2 была ошибкой - слишком много зат- рат человеко-часов. Надо что попроще, по- меньше наворотов. Вот если бы у нас куча фирм была и огромная конкуренция, тогда необходимо было бы крутиться и всю игру вылизывать. Тем не менее для игры "Чёрный ворон" сделано предварительных заказов более, чем на 200$: Вступительная и завершающая демы - 120$ - исполнитель X-TRADE. Две мелодии - 2х10$ - исполнитель Dan- gerous. 24 цветные картинки - 24х20т.р. - ис- пoлнитeль Денис Барков. Конечно, для двух последних пунктов лучше было бы привлечь москвичей (Scorpi- on Club и KSA), но до Москвы 8OOkm :(( 08 Nov 96 Вот как примерно это будет выглядеть. Игровое поле в окне 24х24 з/м, монохром. По просьбе Ильи будет фоновая музыка (хо- тя и нелегко было совместить её с выводом графики через стек :) 17 Nov 96 Спрайты вновь выводятся через стек, причем прерывания могут наступать в любой момент - даже тогда, когда стек стоит на изображении спрайта ! Артём Харитонов> А в это время спрайт "колбасит" по-страшному :))) В том-то и дело, что спрайт остаётся живой и невредимый. В двух словах, как это делается (при условии, что обработчик прерываний имеет свою область стека): Вариант "А" (предложен, например, Стал- kepom): хранить в памяти копию всех спрайтов, по приходу прерывания смотреть, где был стек, и если он был на спрайте, испорченная часть (2 байта) вoсстанавли- вается из копии. Недостаток: необходимо дублировать спрайты. Вариант "Б" (мой): строить все процеду- ры вывода спрайтов так, чтобы они выбира- ли слова из изображения только в опре- делённую регистровую пару (например, POP DE). Тогда, если прерывание наступает в момент вывода спрайта, гарантировано, что испорченные два байта находятся в DE. Дальше - дело техники. И никаких дублей изображения. Конечно, для игр типа Диззи это не ак- туальнo - там так мало динамических спрайтов, что они хоть десять раз вывe- дутся за прерывание. Ho для Дюн, Дуумoв, ВарКрафтoв - не помешает :))) 22 Nov 96 Видимо, завтра человечки в игре уже за- бегают, пока, правда, без определённой цели :) Трудности в Ч.Вороне пришли с нeжданнoй стороны. Выдал Dangerous'у фоновые музыки из ВарКрафта, чтобы он их на Спеке напи- сал, а он сообщает, что подобный набор звуков повторению не подлежит. Вот тебе и музыканты-профессионалы :( 03 Dec 96 По крайней мере в версии с General So- und (если таковая будет) все мелодии и оцифровки будут загружаться перед игрой с третьего диска, который целиком будет го- tobutb и распространять X-Trade. 19 Dec 96 Сергей Новиков> Как с вороной дела идут? Да идут себе :)) Можно назвать приблизительный срок вы- хода - февраль (читай - апрель :). Боль- шой прикол в том, что наиболее трудные места пишутся сначала на Си на PC, а по- том переносятся в ассемблер (ручками, ко- нечно). Получается быстрее и надёжнее. В следующий раз думаю целиком сначала на ИБМ состряпать, а только потом - перенес- ти на ZX :)) Готово много чего, но на плэй-эйбл дему ещё не тянет - могут только ходить, но не воевать. Самому интересно, насколько быстро получится, т.к. теоретически могут одновременно обрабатываться 96 персонажей (правда, реально их будет в среднем мень- ше - от 15-20 на первых уровнях, до 50-60 на завершающих). Скролл получился быстрый - гораздо быстрее, чем в НЛО1/2, т.к. графика плос- кая и на время скролла все перемещения приостанавливаются (чего раньше не было). Водичка анимированная (можно отключать, но на время вывода не влияет). Трассировщик маршрута - тоже вроде быстрый, хотя далеко не оптимальный. Од- нако честно ищет, с какой стороны лучше обходить препятствия. В среднем - не бо- лее 5000-15000 тактов. Так как вызывается редко, на скорость игры влиять не будет. Карта вызывается по нажатию клавиши, а не находится постоянно на экране. Может, это не очень хорошо, зато все объекты от- лично различимы - изображаются спрайтами 3х3 пиксела. Понятно, что из-за этого скорость её обновления не высока. Ho для пользователя это будет не заметно, т.к. одно обновление карты будет происходить через каждые 4-5 игровых циклов. Все кнопки на панели управления прoдуб- лированы горячими клавишами для неимущих мыши :) Используемых кнопок из-за этого - пол-клавиатуры (шутка). Врагов зовут просто кунгами, а не орка- ми. 21 Dec 96 Сергей Новиков> ...kehramu :) Получше ничего не мог придумать? Поздно, батенька... Ты должен был сам догадаться, сам придумать, и сам мне на- мылить... А теперь они так уже называются в рекламной статье :)))) А если б ты знал, как остальные зовут- ся... Ж-[] ps: а кенги тоже неплохо, как это я не подумал :)) pps: долго мучился со стрелочкой. T.к. обновление экрана не синхронизировано с прерываниями, то стрелочка - большая проблема. Сначала хотел как в предыдущих играх - курсор перерисовывается только вместе с экраном. Ho слишком разным может быть время пересчёта в ЧВ, поэтому на разных по сложности игровых уровнях стрелка бы двигалась с разной скоростью (даже настраиваемый параметр ввёл - ско- рость перемещения курсора - жуть). Вот только недавно понял, как курсор на пре- рывания повесить, и чтоб ему пофиг было - обновляется в данный момент экран или нет. А ведь этот геморрой от отсутствия мы- шей у населения :))) 17 Jan 97 Кстати, готова демка ЧВ для ZXF #6 - можно забирать - следуя традициям, я ос- тавил в ней кучу глюков (шутка). 2All: Врагов нет, драться нельзя, стро- ить/производить/добывать нельзя, запустил туда человек 20, что само по себе при- кoльнo (иногда ходят очень глупо, но до цели доходят всегда). Карта есть, нeвиди- мые поля открываются. Удивительно, но всё это не слишком медленно - равно скорости FAST в WarCraft 1 (для турбо-компов вооб- ще круто). Короче, для не-playable demo сойдёт. В полной версии гарантируется торможение не более, чем на 5-10%. Из- вестно также, что следующей игрой будет "Чёрный Ворон - 2" - попытка впихнуть WarCraft 2 в 128 (а может, 256?) кило- байт. 30 Jan 97 Про " Чёрный Ворон": Работа вступила в решающую стадию - ко- нец не за горами. Короче, число героев на экране очень сильно влияет на быстродействие: пониже- ние на 1-1.5% на каждого героя/взрыв/сна- ряд/и др. T.e. в пoказаннoм случае всё тормозится в 1.5-2 раза (надеюсь, в ре- альной игре это будет нeчастая ситуация :) Выбор ведётся через CAPS. При его удержании можно определить рамку выбора (как в АртСтудио). Выделенные герои oбвo- дятся рамoчками. Максимальная группа - 6 человек. C помощью SYM можно добавить/уб- рать героя из группы. Время обсчёта логики слабо растёт с ростом числа героев в игре - не более 1% на десяток. Особое опасение внушала про- цедура обхода препятствия (которая в за- висимости от величины препятствия может достигать 15000 тактов), но опыты показа- ли, что даже для такой большой группы, она вызывается в среднем 1 раз за 4 кадра (очень смотрится, если их всех куда-ни- будь заслать - просто караван :)) 26 Feb 97 Дмитрий Федотов> Вот тут мне сказали, что в фирме Скорпион появилась игрушка Черный Ворон на 2-х дисках. Нет, они просто сделали для себя новый каталог спектрумовских игр (цветной!!!) и забили рекламку под ЧВ авансом. Ho там в конце идёт приписка - срок выхода март- апрель. Дмитрий Федотов> за 6 у.e. - т.e. она уже готова??? Разъясни обстановку. Насчёт цены, я думаю, что по Питеру она будет ровно 30 т.р. Последняя неделя была занята изгoтoвлe- нием анимаций, видимо, следующая неделя тоже. По плану на первом диске должна быть вступительная часть, состоящая из 18 анимаций по 16 кадров размером 14х18 зна- komect. Плюс две финальные анимации по 48 кадров того же размера. Вот такая вот ZXmultimedia :)) Из них готово чуть боль- ше половины. Думаю, всем должно nohpa- виться :)) [мне - так очень] 02 Маг 97 Статичная часть на фликe конвертируется на Спектрум в каждом кадре слегка по раз- ному (может, вспомните Welcome Press #1, там это хорошо видно) - приходится много руками править. Поэтому у меня в боль- шинствe фликов задний план перемещается (правда, гораздо более плавно). А такой размер кадров я сделал из расч- ёта - 8 кадров в странице. А 14х18, чтобы спокойно LDIR-ами его перекидывать без "рванья" (ну не демо-мейкер я :)) 05 Маг 97 Все анимации, включая две финальные, сделаны (осталось только склеить). Наибо- лее гадко выглядит сцена с пoлзущими пау- ками - мороз по коже... 01 Apr 97 Для ЧВ поддержку GS будет делать Stin- ger (А.Areeb). 11 Apr 97 Особенно в нынешнее время, когда трeбo- вания пользователей к мейкерам становятся всё выше. Это сильно касается real-time стратегий. He знаю, что представляют со- бой внутри "Dune2" и "WC" для Спектрума, но Чёрный Ворон написан на поистине, не побоюсь этого слова, объектном уровне :)) Воздействия, oказываeмыe одним объектом на другой, обычно не вызывают нeмeдлeнных действий, а генерируют признак события. Когда очередь доходит до объекта-цели, он распознаёт полученное воздействие и толь- ко тогда обрабатывает его. Это очень удобно с точки зрения отладки отдельных подпрограмм, это ставит всех героев в одинаковые условия, это не пе- рeгружаeт программу множественными воз- действиями. Ho это достаточно неприятно в смысле отладки взаимодействия между бло- ками (найти источник ошибки - трудно). 11 Apr 97 Чёрный Ворон - демо v0.02 Демо в формате .Z80. Музыка - от JAM из Московской области. Для прикола выберите Волшебника и нажмите на кнопку 'скорпионы'. А потом куда-нибудь всех пошлите. He забыли, как разбегаются тараканы на кух- не, если ночью там включить свет? :))) 19 Apr 97 Dangerous>> Самый большой в мире глюк: Медноногов хочет сделать музыку для Чер- ного Ворона как приложение на 3-ем дис- ке!!! Сергей Новиков> Оригинальный трюк. За иг- ру на 3 дисках народ больше заплатит, чем если б она была на двух. Игра будет распространяться на 2-х дис- ках. Мелодии/звуки - целиком на совести Dangerous'а (X-Trade), и как он их будет распространять - его дело (я с удо- вoльствиeм покидаю их в файл-эху или на BBS). Вряд ли кто помнит, но выход GS планировался ещё до НЛО-2, тогда тоже шла речь o поддержке (!). Кстати, с X-Trade была договорённость об изготовлении наво- рoчeннoй демы к ЧВ, которую они так и не сделали. Третий раз oбжигаться я не хочу. Звуковая поддержка будет загружаться один раз перед игрой и вызываться из игры (если X-Trade не забудет про обещание предоставить отлаженные подпрограммы под- держки GS :)) 21 Apr 97 Почти 500 килобайт на первом диске - видеоролик. Алекс Летаев> В запакованном состоянии или нет? 476 - в пакованном, 794 - в henakobah- ном. Правда, если на втором диске оста- нeтся достаточно места, то две финальные анимации я пeрeтащу туда. 21 Apr 97 "Oгибаниe препятствий" - в НЛО-1 оно было из рук вон никакое - герой застревал у каждого столба. А пришельцы просто пос- тoяннo перемещались в пoлуслучайных нап- равлeниях - конечно, они куда-нибудь да попадали :) [эффект Броуновского движeни- я] Pасчёту маршрута в НЛО-2 посвящена большая статья в ZXF #6 (c примером на Бейсике :) Там применён метод волновой трассировки. Расчёт маршрута в ЧВ могу рассказать только на пальцах. Герой идёт в направлe- нии цели. Натыкаясь на препятствие, он осматривает его справа и слева по контуру (периметру? Точного термина не знаю), на- ходит точку на контуре, наименее удалё- нную от цели, и решает, как до неё быст- рее добраться - обходя препятствие вправо или влево. Обходит препятствие и продол- жает движение напрямую к цели. И так он обходит все препятствия, пока не дойдёт до цели. В идеале было бы хорошо предварительно запоминать маршрут, чтобы его можно было оптимизировать (сгладить), но на Спеке слишком мало памяти. Поэтому я запоминаю только направление обхода текущего пре- пятствия и длину обхода, на что достаточ- но одного байта. На практике большой по- мехой являются другие движущиеся объекты. Однако более-менее работает (см. дему). 08 May 97 Имхо, в последнее время всё самое кру- тое для ZX написано c помощью IBM/Amiga. Иногда почти без использования Спека :)) Как раз с использованием эмуляторов. Нап- ример, так давно делает группа STEP (ис- пользуя UKV 1.2) Что говорить, если даже потомственный музыкант LAV при написании своих мелодий довольствуется скромным звучанием эмуля- тора Шалаева, позабыв про прелести насто- ящeгo AY. Александр Лебедев> Слава, когда начнёшь писать на IBM? :) Первый шаг уже сделан - прикупил книжку "Секреты программирования игр под WINDOWS 95" :)) 16 May 97 Чёрный Ворон - последний барьер. Работа над ЧВ несколько затормозилась. Причина - необходимость определения для каждого героя врагов, находящихся в поле его досягаемости. Особенно при действиях компьютера, солдаты которого обладают достаточно большим сектором обзора (а как ещё делать искусственный интеллект? :) Попытка решить в лоб (сравнением "всех против всех") - не принесла успеха. Надо надеяться, задача разрешима. Инте- pecyet опыт разработчиков Дюны-2 в этой области (или на этом же засели?) 18 May 97 В применении к правилам Чёрного Ворона осмотр большого сектора - достаточно честная игра, т.к. играющий-человек вооб- ще способен видеть все открытые поля. Я бы с удовольствием разрешил то же самое компьютеру, но: а) обработка такого объёма информации явно не по силам маленькому Спекки; б) даже получив её, я вряд ли смогу придумать достойные правила использовать её (напоминает подобную проблему в "Дура- ке", где в режиме "шулер" компьютер, зная все карты в на руках противника и в коло- де, просто не в состоянии реально исполь- зовать эту ценнейшую информацию :)) C другой стороны, чтобы игра была абсо- лютно честной, компьютер должен во всём уподобиться человеку - иметь свою карту невидимых полей, посылать разведчиков, чтобы расширить свой сектор обзора. Это не хило "утяжeлилo" бы программу. Юрий Матвеев> Если проблема в выборе ближайшего объекта для нападения - приме- няй стандартный способ сканирования по спирали, пока не упрешься в противника. После этого - атака. Этот способ тоже не очень хорош. Даже если ввести ограничение на радиус спирали (N), число прoсматриваeмых квадратов внутри неё будет = (2*N+1)^2, что для во- uhob компьютера, имеющих достаточно боль- шое N - весьма ощутимо по времени (игра то - real-time). Да и для наших воинов в среднем N=2..4. Надо надеяться, задача разрешима. Юрий Матвеев> Еще бы :) Глянь на варк- рафты, дюны и прочие комманды и кoнквeйe- ры :) Ну, имея 1ЗЗMгц, я бы решил её в лоб и на бейсике :)) 21 May 97 Если я правильно решил, для нормальной игры радиус видимости у всех солдат про- тивника должен быть как минимум чуть больше Sight катапульты, чтобы они зара- нее могли отреагировать на её приближение - правило простое, но его надо реализо- вать - иначе несколько тормозных ката- пульт игрока разнесут всё в пух и прах. Тут весь спотыкач :(( Сергей Новиков> Хорошо, ждем у барака, пока не наберется 4 юнита - и в бой. А лучше 9 - тогда комп будет очень сильно играть - отбить 9 юнитов за раз не каждый сможет! До этого ещё не дошёл, но в WC1 было отведено специальное место (места) для сборов. Это смотрелось лучше, чем в WC2, где отряд стартовал от барака, но уязви- мым местом оказалось, что врагов можно было перехватывать, пока они по одиночке шли от барака к месту сбора. Сергей Новиков> Можно ввести дополни- тельный режим - для компьютеров с турбо ONLY - там и комп будет больше думать, и эффектов можно будет побольше пoнавeшать (анимашек во время игры). Дык, осталось 4К с хвостиком, особо не разгуляешься :(( He то что эффекты и ани- мации - думаю, а не выбросить ли мне му- зыку (всё-таки ещё 5к). Под сокращение также могут попасть эффекты для GS, otr- рузки игровых ситуаций, некоторые функ- ции, типа строительства заборов и доро- жек. Сплошные траблы :( 21 May 97 В отличии от НЛО-1/2, в ЧВ - направлe- ние - чисто номинальный параметр. Юнит может мгновенно разворачиваться на 180 градусов, что не очень то реалистично. C другой стороны - это логично, иначе неп- равильнo занятая позиция в обороне может стоить большой потери здоровья (пока там развернёшься). А разворачивать своих вои- нов для играющего при постановке на пози- цию - будет просто неудобно, да и следить потом придётся постоянно, правильно ли он смотрит. Отсюда и обзор у них - круговой. 21 May 97 Дмитрий Григорьев> Ну и пусть стоят и сканируют. Лучом - хоть все поле. Циклов за 10 прoсканируют всю окружность. Если кого поймают - пусть гонятся за ними. Почему за 10? Может, больше? :) Идея понятна - частичный осмотр на каж- дом цикле. Я тоже решил так поступить, если не придумаю чего получше. Только скорее буду делить всех воинов на группы и на каждом шаге работать только с одной группой. Правда это ухудшит реакцию :(( 26 May 97 Чтобы иметь всю полноту картины, хочу рассмотреть способ, предложенный Nickolay Mezencef. (Напоминаю, что речь шла o сканировании каждым героем real-time стратегий мест- ности вокруг себя на предмет выбора цели) "Почему бы вместо сканирования квадра- тов просто не посмотреть координаты об- ъeктoв противной стороны. He думаю, что даже при максимальном количестве объектов с обеих сторон это заняло бы более преры- вания. Если время реакции составляет 1 сек. (в смысле объекты производят дейс- твия 1 раз в секунду), то такой обзор по врагам будет ничтожно малым по съeдаeмым ресурсам." T.e. встаёт вопрос - что лучше: дейс- твительно честно просматривать квадраты вокруг героя или сравнивать его координа- ты с координатами всех героев противника. В принципе, первый способ уже подробно обсуждался (в отличии от второго). Нико- лай предлагает использовать способ два со следующей оптимизацией: "Можно это дело еще оптимизировать: когда объект совершает перемещение, он сам информирует враждебные объекты o сво- ем вхождении в зону их видимости. В этом случае, если никаких перемещений не было, то сканирование и не нужно." Очень (imho) хорошее решение - факти- чески вся работа будет вестись только с движущимися героями. Немного непривычно, т.e. не стоящие в обороне будут ckahupo- вать местность, а движущиеся противники будут сигнализировать им o своём прибли- жении. А как известно, большую часть вре- мени стороны накапливают свои силы и не перемещаются. Из больших минусов способа, пожалуй, только один: все эти вычисления обязательно придётся применять к крeстья- нам/пеонам, которые постоянно в движении. А их может быть не так и мало (обычно 15-25% от общей численности). Пeрeсканирoваниe может потребоваться ещё в некоторых случаях (герой "замочил" врага и должен осмотреться на предмет но- вой жертвы; враги, идущие в нападение, могут дополнительно сканировать мест- ность, чтобы не пропустить солдат играю- щего себе в тыл, хотя в WC2 так не сдела- но). Ho это действительно мелочи :) Чтобы логично завершить тему, хочу в двух словах описать метод, на котором ре- шил остановиться. Всё игровое поле условно делится на квадраты (в применении к ЧВ наиболее под- хoдящими оказались квадраты 8х8 клеток). Для каждого из этих квадратов составляет- ся список героев противника, входящих в него. Если в квадрате нет противников, список для него будет пуст. Сканирование для каждого воина человека заключается в просмотре 9-и квадратов (8-и вокруг и одного, в котором он сто- ит). Если в квадрате были противники, до- пoлнитeльнo производится сравнение коор- динат на предмет досягаемости противника. Такая же процедура производится и с во- инами врага. Идея основана на том, что большую часть времени все персонажи противоборствующих сторон находятся на значительном расстoя- нии друг от друга, и, следовательно, списки, связанные с oсматриваeмыми квад- ратами будут по большей части пустыми. Как альтернатива, возможно применение квадратов 4х4, но тогда для всех героев, чей Sight>4, придётся осматривать не 9, а 25 квадратов :( Небольшой трудностью является составле- ние списков, но это уже просто маленькие технические проблемки :)) 12 Jun 97 Тут могу твёрдо обещать - Чёрный Ворон будет не тупее ВарКрафта :)) 13 Jun 97 Описатель одного юнита на Спектруме прекрасно влезает в 20 байт (даже 19), в отличие от, например, НЛО-2, где трeбoва- лось 32 байта. Выделенных 2К хватает на 102 героя. Ho вот попытка повторить WC2 кажется действительно затруднительной, т.к. для карты 128х128 (против 64х64 в WC1) потре- буется 32К (при 2-х байтах на клетку). При этом карта + данные героев + данные снарядов/заклинаний + данные зданий + большинство переменных + 6К теневой экран должны находиться в памяти, доступной из всех страниц, т.e. с #4000 по #C000, а там всего 32К :(( Поэтому, если WC2 и быть на Спектруме, то с меньшей картой (80х80 или 128х64) и только на 25бк-машинах (и явно без воз- душных героев, иначе описатель клетки по- ля вырастет с 2х до 3х байт) 21 Jun 97 Ладно, проблема с памятью вроде решилась (пока :). Были урезаны спрайты всего трёх наиболее редких героев (в смысле, для них правостороннее изображение получается зеркальным отображением левых спрайтов. По таблицам это занимает ~3000 тактов) - демон, стеногрыз, костолом. Это дало до- пoлнитeльнo 2,5к - должно хватить на са- мый навороченный интеллект :)) Видимо, в игре будет 3 уровня слoжнoс- ти: 1. обычный (как в WC1), пара-тройка пос- лeдних уровней отсутствует. 2. сложный (враги поумнее + более жёсткие правила) 3. особо сложный (то же, что и 2, но с запрещением отгрузок во время игры) В качестве основной оценки действий иг- рающeгo будет время прохождение уровней и игры в целом - imho, справедливо. Хотя к интеллекту я плотно пока так и не подобрался, зато удалось вычистить почти все глюки и доделать все недоделки :) В т.ч. введена система oпoвeщающих ин- дикатoрoв (в правом нижнем углу), сообща- ющих o нападении, окончании ctpou- тельства/производства, разрушении зданий и др. 24 Jun 97 Графика на Спеке занимает в восемь раз меньше места, чем на PC; в два-четыре ра- за меньше фаз, изображающих движение/ата- ку, меньше спрайтов ландшафта - короче, влезает всё в ~80к. Миша Tурнoвский> Для получения нормаль- ной стратегии, imho, надо 1000-1500 repo- ев. Это слишком много. В WC1 обычно число юнитов со стороны человека не превышает 30-35, со стороны компьютера - 50-60 фи- нальныe уровни). В WC2 это число в 1,5-2 раза больше (в т.ч. из-за того, что игра компьютера построена от обороны). Спект- рум вполне потянет (по замерам на 3,SмГц - укладывается между FAST и FASTER от WC1, а на 7мГц - вообще... :)) 26 Jun 97 Денис Паринов> Сколько будет уровней? Пока предполагается по 12 за каждую сторону (12+12). Ho почему-то подозреваю, что их будет больше. Ландшафтов пока че- тырe - зимний лес, обычный лес, цeлина и подземелья (для особых уровней, если пом- ните WC1). Возможно будет ещё два - горы (вместо рек) и чёрный лес (чёрная земля, огненные реки). Для ЧВ-2 (если он будет) предполагается сделать ещё ландшафты: го- род, порт с кораблями. 01 Jul 97 Сегодня доделал последнее заклинание - вражеские смерчи, по виду больше похожие на фашистскиe кресты - почему-то ничего лучше не придумал :) 01 Jul 97 Самая серьёзная из грядущих проблем для Спека - отсутствие в продаже чистых 5,25" дисков !!! Это пострашнее клятых хакеров будет :)) 01 Jul 97 В ЧВ компьютер будет действовать при- мерно по следующему плану: - все юниты будут делиться на "постоян- ный" и "дополнительный" состав; - постоянные - те, которые расставлены на карте до начала игры - охранники и крестьяне. Крестьяне заранее делятся на дoбывающих золото/лес и, возможно, на ре- mohthukob. Новые крестьяне появляются только в случае их гибели. Охрана в слу- чае гибели не восстанавливается (обычный уровень сложности), или восстанавливается (повышенная сложность); - дополнительные появляются по ходу иг- ры (по мере накопления ресурсов или по истечении некоего времени, или ...) и об- разуют группы нападения. По достижении некоего числа дополнительных юнитов все они отправляются в завoeватeльный поход (цель - чаще всего "town-hall", но не обязательно). У каждого юнита врага в описателе есть специальное поле, которое указывает, чем он занимается (например, для волшебника - указывает вид заклинания, на котором он специализируется). Другое поле указывает, чем он действительно занят. Пока оно не 0 (задание выполняется), компьютер не tpo- гает этот юнит. Как только задание выпол- heho/прервано внешними вoздeйствиями, компьютер попытается "найти работу" для юнита, исходя из его профессиональных пристрастий. Исключение составляют oxpah- ники (они сами ищут себе работу, сканируя вокруг) и дополнительные юниты, пока они не собрались в количестве, необходимом для начала похода. Примерно так. Ho, конечно, возможны ва- рианты... 10 Aug 97 John Stunner> А как там ЧВ? Живёт своей загадочной жизнью. А вооб- ще, лето ведь сейчас, в Питере 25'C :) T.e. предыдущий месяц - как-то вяло :( 15 Aug 97 Чёрный Ворон - Demo v0.04 Собственно, вот, в формате .z80. Как и планировалось, это последняя демо-версия, дальше - только игра... Один гипотетический уровень, не слишком запарный (без магии и волшебства, без ка- тапульт; враги не слишком умны, хотя и не дураки). Проходится, вроде, до конца. В случае победы выдаёт "Well Done", иначе - "R.I.P." Символично, что ровно год назад были начаты работы над ЧВ... Специально к Enlight'97! ;) ps: внимание, при игре без мышки руки сводит судорогой через 30 мин! Ж-) 30 Aug 97 Алекс Коваль> Я сделал это! Да! Я прошел ee! Дему эту, доконал таки!!! Там в конце атрибутами написано WELL DONE. Именно так!!! Алекс Коваль> Круто! Если это будет пос- ледний уровень, то логику можно и не ме- нять. Вообще-то это был первый уровень ;) А братан мой не прошёл :( А ещё говорит - буду у тебя бета-тестером. Вот тебе и любители warcraft'а на PC :)) 04 Sep 97 Про ЧВ: в последние дни была проведена капитальная доработка трассирoвщика сог- ласно сooбщённым глюкам: а) воины противной стороны при трасси- pobke считаются проходимыми, поэтому, ес- ли пeрeгoрoдить мост или другое узкое место своими солдатами, оно не будет счи- таться непроходимым для врага (как в де- ме); б) проходимыми считаются теперь и движу- щиeся воины, что даёт возможность прохо- дить большими группами через узкие прохо- ды без разбегания отряда. C помощью до- пoлнитeльных ухищрений удалось достичь 100% проходимости отряда; в) исключены закручивания (когда воин долго ходит вокруг пустого места); г) гораздо лучше теперь обстоит дело с выходом из узких тупиковых проходов. Кроме того, по просьбам трудящихся: а) чтобы атаковать своего воина, надо нажать специальную клавишу. Таким обра- зом, исключена возможность случайно убить своего воина в пылу борьбы. Введена фик- сация цели - выбрав цель, нельзя случайно выбрать другую до отпускания SPACE. Зах- ват цели индицируется миганием курсора; б) запрещено строить здания на каменных дорожках и tponuhkax, чтобы нельзя было построить непроходимую преграду из зданий (как это возможно в деме). To же относит- ся и к заборам (в уровнях, где возможно их строить); в) другие мелочи. Видимо, к концу недели будет завершена стратегическая часть (наконец-то ;) и начнётся работа над уровнями. 11 Sep 97 Денис Дмитриев> не пойму, зачем группа сделана макс. 6 воинов? Сам не знаю... Хотя, если выбрать груп- пу и указать на пиктограмму "G", внизу на щите появится изображение всех членов от- ряда - правда, без характеристик. 13 Sep 97 Paul Falcon> А в чем будет заключаться переход от уровня к уровню ? Как только ты выполнил миссию (обычно "убить их всех"), переходишь к новому уровню. ps: Я тут вспомнил, что художник (Д. Бар- ков) выдал всего 10 межуровневых картинок и свалил на PC :( Пришлось в спешном по- рядкe делать ещё 22 (отсюда, наконец, и мне стало понятно, что всего уровней бу- дет 16+16 :) Идя на поводу у пользователей, пришлось всю графику делать цветной. Интересно, что более продуктивным ока- залось не сканировать, потом раскраши- вать, а конвертировать непосредственно в цвете (с помощью ZXC 1.1), а потом дора- батывать вручную (в среднем доработка за- нимает 1.5-2.5 часа). Всю работу удалось выполнить за пять (!) дней. Imho, получается, что на Спеке не долж- но стоять вопросов с качественной графи- кой - фактически любую картинку можно очень качественно (и быстро) kohbeptupo- вать в 4-5 цветов. 13 Oct 97 Тут выяснилось, что ЧВ включён в новый каталог Логроса/Nemo (а в каталоге фирмы Скорпион он уже с апреля :), и что люди активно шлют деньги. Хоть я и не давал твёрдых обещаний, но на всякий случай спешу успокоить покупателей насчёт вло- жeнных денег - всё будет o.к., причём от- носительно скоро ;) К концу этой недели будут завершены все 32 уровня. Что останется: - к каждому уровню надо задать массу параметров; - убитые крестьяне пока не заменяются новыми; - хотя все заклинания готовы, маги и колдуны компьютера не умеют пока их при- менять; - всё ещё нет работы с диском; - нет защиты (никак не решу, на каком способе остановиться, всё больше мне нра- вится метод, применяемый в Turn и ZXFor- мат); - Ларьков должен отдать мне пентагон, который никак не приедет с Инлайта; - вроде, всё! В завершение я её немного потестирую - на предмет глюков, конечно, проходить не собираюсь - задолбало за год :) Кстати, проходимость некоторых уровней под comhe- нием, но продвинутый геймер наверняка справится. На вторую часть (миссии на стороне кун- гов), наверное, навешу пароль, который сообщу через месяц/полтора после начала продажи. 15 Nov 97 Мы с Растером вызвали друг друга на соц. соревнование на предмет: "Кто раньше выйдет - ZXF #7 или ЧВ?" Проигравший от- даёт победителю 1 (одну) банку пы-ыва :) ps: c ЧВ финишныe проблемы - глобальная нехватка памяти :((( День за днём идёт битва за каждый байт. He в смысле ontumu- зации, а в смысле урезания спрайтов и выбрасывания кусков кода. Зато уже есть вариант под TR-DOS (в формате FDI) с несколькими уровнями, Fi- nal-Cut'ами и возможностью отгрузок. Otr- рузки получились очень большими (около 20 Кб), поэтому будут вестись на отдельный TR-DOS диск. Предусмотрена работа с двумя дисководами (спасибо эмулятору UKV), причём можно выбирать, какой дисковод по- до что использовать. Второй диск - всегда 5.25" (чтобы поцарапать его :), а первый - 3.5/5.25 на вкус покупателя. Как и otr- рузочный (тоже любой). Думаю, это нор- мально, т.к. проведённые опросы не выяви- ли людей, пользующихся только 3.Sдискoвo- дами. Как и говорилось, по тех. причинам под- держка GS не была включена в игру, в se- тир'e поэтому появилась пара новых пунк- тов - "цветная/нeцвeтная игра" и "выбор диска для отгрузок" Сразу после загрузки начинается беско- нeчный демо-режим для тех трейдеров, кто, по методе Логроса, держит на торговой точке рабочий компьютер. Сам могу смот- реть часами, как в деме дерутся :)) Формат второго диска (где уровни) про- думан в этот раз таким образом, что он абсолютно не зависит от 1-ого. Поэтому, вполне вероятно появление в дальнейшем дисков с доп. миссиями. Кроме новых уров- ней заранее предусмотрена возможность из- менить графическое оформление ландшафтов, кнопок, музыкальное сопровождение и межу- рoвнeвую графику. Может быть, за выпуск новых миссий возьмутся наши так называe- мые хакеры, однако к подобной возможности следует относится скептически :)) По-прежнему нет защиты (некуда размeс- тить), но будет :) 23 Nov 97 Руслан Щербатюк> Никто не слышал - уже а'la War-Craft сделан? Выход (в Питере) назначен на 6 декабря. Запасной вариант - неделей позже. Сейчас идёт авторское бета-тестирование. Пока засел на девятом уровне (за людей) - не могу освободить крестьян. Приятно фактически 100%-e отсутствие глюков - пока обошлись без зависаний. Да- же страшный глюк с хождением воинов по лесу и домам обезврежен (вроде бы :) Руслан Щербатюк> А UFO-3 не собираются делать? Про это никто не слышал... 26 Nov 97 Защита пока не вставлена, но 26 уровней из 32х оттестированы. Двенадцать из них я честно прошёл, ос- тальные, вроде, тоже должны проходиться. Самый тяжёлый уровень (пока) - "Люди #13". Хотел было выкинуть, но с 50-й по- пытки случайно прошёл :-) Брат свидетель. 05 Dec 97 Чёрный Ворон HE выходит завтра! Ну, во-первых, потому что вышел ZX For- мат 7. Грех не почитать свежий номер. Во-вторых, возможность этого не исклю- чалась. В-третьих, просто не получилось :( He- устойчиво читает/пишет отгрузки, защита глючит. Так всегда бывает, когда что-то из кус- ков лепится в одну кучу... Значит - выход назначается окончательно на 13-e декабря (ну и число, однако. Xo- рoшo хоть не пятница :) В связи с этим - o распространении по другим городам: Распространение начнётся неделей позже, чтобы успеть обкатать игру в Питере. Как всегда, этим занимаются Логрос, Зонов, Немо. Co мной можно связаться по тел: (812)143-33-03. 12 Dec 97 Чёрный Ворон - v1.00. Как и предполагалось, завтра первые 30 комплектов поступят в продажу. Это, ско- рее, бета версия. Уровни за кунгов - под паролем. В течении недели надеюсь получить сооб- щения o возможных глюках, чтобы при необ- хoдимoсти доработать программу. Поэтому окончательная версия (1.01) выйдет через неделю. Как минимум, по причине того, что не удалось закончить описание и пoдгoтo- вить наклейки/вкладыши/конверты. P.S. Может быть, стоило отложить выход ещё на недельку, но - раз обещал... :-) 13 Dec 97 (04:54) Алекс Петровский> Когда будет DOOM и Черный Ворон - кто знает, люди? Когда будет Дуум - не знаю, а Чёрный Ворон v1.0 уже существует в течении 10 минут в количестве 34 экземпляра!!! 17 Dec 97 За всё время эксплуатации найден пока один глюк сборки - невидимые поля после отгрузки из чёрных превращаются в белые (лечится входом в setup - пофиксено). Бы- ла ложная тревога от члена Омега-групп про неработоспособность лесопилки. В целом реал-тайм стратегия для спект- pymuctob, конечно, в новинку. Самые прод- винутыe добрались только до пятого уровня (и то, подозреваю, добавив себе денег - а на пятом уровне деньги не помогают ;) Игра не пошла на новом мегабайтном КАЙ'e (что поделать, ну не везёт мне на КАЙ и всё тут). Глюк будет пофиксен. По просьбам трудящихся пароль со второй части игры будет убран. По просьбе Сергея Зонова будет вариант с двумя дисками под 3,5" - как только бу- дут проведены научные изыскания по мето- дам их царапанья :) Соответственно, релизная версия 1.01 выйдет в эту субботу (20-ого декабря). 22 Dec 97 Вышла. Работоспособность гарантирована. Пожалуй, один глюк пока остался - если вместо отгрузки игры дать игре "левую" информацию - может повиснуть. Мораль: не надо этого делать. Когда-нибудь поправ- лю... Удивительно, что, хотя внутри программа представляет собой "маленький Виндo- уз'95", работает без сбоев как часы :) А в 1.00 грамотные люди (например, Саша из Omega group) дошли аж до 9-ого уровня (!), где пока и сидят. Причём по честному (!), без добавки денег (т.к. если там до- бавить всего 100 монет - уровень прохо- дится без труда) По просьбе трудящихся вставлена защита от Теневого Монитора. Защищает она или нет, не могу сказать (не имею Скорпиона), но зато ни Пентагон, ни Скорпион не вeша- ются при её работе :) Первые 24 комплекта уехали в Ростов- на-Дону. 26 Dec 97 Первая приятная новость: Дмитрий из G-Soft прошёл все 16 уровней за людей (!) в v1.01. По его мнению, наибольшую трудность составило прохождение 15 и 16 уровней из-за наличия демонов и далеко отстоящих шахт. Финальный мультик ему понравился :) He удивительно, что это именно G-Soft, т.к. они в своё время выпускали WarC- raft-demo в ZX-Formate, и поэтому лучше всех "въехали" в ЧВ. 01 Jan 98 Владимир Спашко> Чёрные Вороны доехали нормально и начали свой путь в народ :-) Писать o впечатлениях нет смысла- это на- до видеть!!! Первые успехи одного из фа- hatob - 9 уровней за людей за двое суток с перерывами на сон и еду. Классно! Sorry, что к тебе ушли версии, где нельзя отгружаться на диск "Б:" :((( Если кого в Ростове-на-Дону это сильно дос- таёт, потом перепишешь им первый диск те- лeдискoм или макдoнальдoм (или я обме- няю). Кстати, про версии: 1.00 - тестовая бета-версия. На всякий случай я сделал её непроходимой (а то опять хакеры поломали бы и все свои глюки на меня свалили :))). Поразительно, что их обменяли всего шесть штук (хотя в инс- трукции явно сказано o необходимости об- мена). Двое дошли аж до 12 уровня - и об- ломались :(( 1.01 - релизный вариант, полностью про- ходимый (если уметь играть ;) Поправлено всё, o чём сообщили пользо- ватeли. 1.01A - а) исправлен глюк с запретом отгрузок на "Б:" (просто долго никто не замечал); б) Талабрук случайно был назван Варлоком (пофиксено). 1.01В - а) иногда можно было строить заборы там, где это нельзя (пофиксено); б) G-Soft нашёл глюк, облегчающий разра- бoтку заклинаний (пофиксено). Все 1.01х помечены как 1.01 (номер вер- сии - в описании). Первые и вторые диски от любых версий 1.01х совместимы между собой. Однако отгрузки - не совместимы (в связи с тем, что в отгрузку входят физи- ческие адреса некоторых подпрограмм). Других версий не предвидится. Игра за кунгов: пока не поступало ин- формации o прошедших её дальше второго уровня. Впрочем, это старая информация. Уровни за кунгов отличаются, на мой взгляд, большим разнообразием - больше мест, где надо подумать. 02 Jan 98 Пока все Новый год отмечали, G-Soft'ы вчетвером за кунгов играли :) Прошли пока до 9-ого уровня. Говорят - трудно. Особо трудным показался уровень 7 ("острова"), хотя выбранный ими вариант прохождения, имхо, не лучший. На мой взгляд, трудными являются также: 9й ("объединение войск"); 12й (самый трудный из подземных); 16й (возможно, непроходим). Однако продвинутый геймер справится! Полезно видеть, что на пути любой игры встают довольно сложные проблемы, ведущие порой даже к смене сюжета! А такие вещи, как изготовление видеоро- лика, конвертация графики или создание аудиoэффeктoв, уважающий себя гейм-мейкер проходит с лёта, не задумываясь, пусть ранее этого и не делал :) C горячим приветом, Слава 2:50З0/З62.4@fidonet _______________________________
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября