Translations/Epopee

Материал из SpeccyWiki
Перейти к: навигация, поиск

Epopee by Vyacheslav Mednonogov (ZX-Format #8[1][2])

Part 1

When we hear sometimes that another cool thing for ZX Spectrum was postponed for unknown time we ask - why? Why authors who've set the launch date themselves couldn't make it in time? It is really so hard to write programs? Just learn assembly language and write one kilobyte after another...

I think now you have rare opportunity to understand this yourself. Here I want to present a diary of making one program, collected from messages to ZX.SPECTRUM conference in FIDO. No comments, in purpose. You should know though that not everything that was said more than year ago is still true. What program is it? Guess yourself :)

12 Jul 96

...to be serious, half a year ago there was a Doom-demo from Kharkov.

Now I'm thinking about this idea too. You can't feed people with games like Durak, Buratino and UFO forever. Waiting for Enlight'96 to see works from my competitors. If I see that I can't do better, I better start something like Warcraft.

17 Jul 96

That's how I see Doom on Spectrum:

  1. Screen - 256х64 to 16х64 (width can be adjusted by 16 pixels to make the player comfortable enough with his CPU's frequency).
  2. View angle - 60 degrees.
  3. Texture size - 64х64, 20 base textures, 20 additional ones (additional textures to be kept in high memory, so they will be drawn slower and used rarely).
  4. Maximum scale - 2:1. Two 16K pages for fast scale subroutines from 2:1 to 1:32.
  5. Floor and ceiling are at fixed height, not textured. Walls almost certainly should be at 90 degrees to each other. So, it's more Wolf than Doom.
  6. Enemies are 32х64 sprites (8 top halves 32х32 for any position and 16 low halves to show moving legs). Masked. I plan to rip them from Doom. Maybe someone tells how? If not, I'll draw them myself.
  7. Objects are 32х32 sprites, masked. The same for bullets, projectiles, explosions.

So that's the plan.

One pixel will be drawn in 25 (!) t-states in average. This means the screen, say 128х64, will be 200000 t-states. Add extra work to switch pages, select texture line, move buffer to actual screen etc (around 50 percent overhead as always). My calculations give 12 FPS or so. In short, there's no problem with drawing walls.

There is a problem with adding sprites of characters and objects. Especially how to find quickly, what line of what texture is drawn on given screen vertical line and in what scale. I picked a book on this topic, "Secrets of game programming" published by Piter, and my hair stood on end - four multiplications/divisions per line. There is also a problem how to keep the maze in memory to calculate less on each step, which wall is farther or nearer.

I'll begin, however. Even if it will be very-very slow, the screen width can be always decreased to 16 pixels. And then everything will be very-very fast :))

21 Jul 96

I haven't come up with the story yet, but at a wild guess it will look like this (if we see it as UFO-3):

People gained a lot of technologies after 2017 alien war, they made it to space and built a lot of colonies there (in Solar system or elsewhere). And someday all of this went wrong :(

Player will fly around these colonies (may be 10..1000 of them :) and clear them from evil, saving his ships by the way and destroying enemy ships. In the course of the game he must make scientific investigations, find some access codes, new weapons - I'm used to it :) Finally, he must find the prime cause.

And the cleaning of bases and UFOs will be made with Doom engine. There can be any plot - for example, the remaining aliens have dug in, so you must run though sewerage and underground tunnels :)))))

The main thing is to make it all good-looking and somehow FAST (8 FPS by Western standards, but even 6-7 are OK for me). It won't be boring then.

27 Jul 96

I spent some 3 weeks thinking how to make the Doom. I'm stuck at sprites. If we are close enough, their time to draw (scaling in the first time) is comparable to redrawing the full screen.

We can't keep pre-scaled sprites - even 128K is too little for this. So, I dally off this idea until I obtain sufficient experience or someone helps.

Switch to plan B - UFO-3 a-la Warcraft :) I.e. a lot of characters (walking robots this time) fight by themselves, you just give them commands. Maybe I'll add Doom-like part as a sub-level - walking in a maze to find something (without any enemies).

30 Jul 96

Max Iwamoto called me on the phone.

He doesn't recommend start something Doom-like. They drew 128x64 screen for 6 frames (6/50 of a second) - in the best case. 10-12 in the worst. Without any characters! So, down with this Doom :) Until everybody will have turbo mode :))

09 Aug 96

UFO-3. BLACK RAVEN.

Preliminary advertisement.

After many estimates I started making the game. This will be full-scale Warcraft. I'd write the actual Warcraft but, because some G-Soft are making it in St.Petersburg too, I changed the plot. What if G-Soft will finish their version, why we need two Warcrafts? :))

Playfield is 64x64 cells, viewfield is 20x20 CHR$, one cell is 2x2 CHR$, buildings are 4x4 CHR$, the graphics is black and white. And so on...

Launch date unknown (even approximate). I'll try not to lengthen out.

18 Aug 96

Ilya Fomin> Slava, write it, WARCRAFT is RULEZZZ! One of my friends tries this idea for two years but never wrote anything but demo.

There are two big difficulties in the game: ultra-fast (not exactly optimal) routing and computer strategy. Luckily enough, I think myself a big pro in exact two these fields - I know how to deceive people so that everyone will say "how clever is the program" :)

16 Sep 96

Work in progress. Remember, this will be almost WC-1. By the way the "UFO-3" prefix was thrown out, so it will be just "Black Raven" (can't glue aliens to Warcraft :)

I realized at last, how the characters find quite suitable routes so fast. This was the main trouble in the game. I can make it too (or better ;)

Still no idea how to adapt fully mouse-controlled game to keyboard or joystick: the interface will be very different from the original. Just in case, provide yourselves with Kempston mice :)))

28 Sep 96

UFO-2 was a mistake - too many man-hours wasted. Make it simpler, less piling up. If we had a lot of software houses and big competition we'd exert ourselves and tweak the whole game.

Nevertheless, I made more that $200 worth of advance orders for "Black Raven":

Intro and outro demos - $120 - contractor is X-TRADE.

Two tunes - 2х$10 - contractor is Dangerous.

24 colour pictures - 24х20000 roubles - contractor is Denis Barkov.

Of course I could better ask people from Moscow (Scorpiоn Club and KSA) for two latter items, but there is 800 km to Moscow from here :((

08 Nov 96

So how it will look. Viewfield is 24х24 CHR$, monochrome. As Ilya requested there will be background music (although it was not so easy to add having stack-based drawing :)

17 Nov 96

Sprites are drawn with stack-based routine again, and interrupts can occur any time - even when the stack points to sprite image!

Artyom Kharitonov> And when it comes, the sprite writhes as in hell :)))

The thing is, the sprite remains live and untouched.

Briefly, how it's done (in case that the interrupt service routine has its own stack):

Method "A" (suggested by Stalker, for example): keep copies of all sprites in memory, and if an interrupt occurs, look if the stack was on sprite image. If so, restore the broken part of the sprite (2 bytes) from its copy. Drawback: you have to double the memory used for sprites.

Method "B" (mine): write all the sprite drawing procedures so that they read words from sprite image into certain register pair (POP DE for example). In this case, if an interrupt occurs, the two broken bytes are guaranteed to be in DE. The rest is simple. And no copies.

Of course, this is not important for Dizzy-like games - they have so few moving sprites so they can can be drawn ten times in one frame. However this is very useful for Dunes, Dooms, and Warcrafts :)))

22 Nov 96

It seems the little men will be already running tomorrow, without any purpose though :)

Difficulties in Black Raven came from unexpected side. I gave the original tracks from Warcraft to Dangerous to remake them for Spectrum, and he said that this set of noises is not to be remade. Here you are, professional musicians :(

03 Dec 96

At least the version with General Sound (if it will be) will load all the songs and samples third disk that will be fully made and distributed by X-Trade.

19 Dec 96 (todo)

Sergey Novikov> How's the crow?

Goes by itself :))

Approximate launch date may be given - in February (that means April :). The funny thing is, the most hard parts are initially written in C on PC, then I rewrite them in assembly language (by hand, of course). So it appears faster and more reliable. The next time I plan to write the full game on IBM, then port it to ZX :))

There are a lot of things done already, but that's little for playable demo - they can only walk, not fight. I wonder how fast it will be, because 96 characters can be processed in the same time (however there will be less in average - 15-20 in the first levels to 50-60 in the end).

Scrolling turned out to be fast - a lot faster than it was in UFO1/2, because the graphics is flat and all the moves stop while scrolling (that was not before). The water is animated (switchable, but doesn't affect drawing time).

Routing seems fast too, although far from optimal. However it searches fairly what side of the obstacle to pass around. Average time is no more than 5000-15000 t-states. It won't affect game speed because it is called rarely.

Game map is not always on screen but appears by keystroke. Maybe not that good but all the objects are clearly visible, shown with 3х3 pixel sprites. Of course the redrawing speed is not so high because of this. The user couldn't see this though because the map will redraw once per 4-5 game iterations.

All the buttons at the control panel have their hotkeys for those who has no mouse :) Half of the keyboard is used for this (joking).

The enemies are called kungs, not orcs.

21 Dec 96

Sergey Novikov> ...kangs :) Couldn't you invent something better?

You are late, my friend... You should guess yourself, invent yourself, and mail it to me yourself... Now they are called this way in the announcement :))))

If you had known how the others are called... Ж-[]

ps: kangs aren't bad too, I had to thought of that :))

pps: I worried about the arrow for a long time. The arrow is a challenge because screen update is not synchnized with interrupts. First I wanted to make as in my previous games - to redraw the cursor when screen updates. However the time to recalculate BR game state may vary badly, so the arrow would move with different speed in levels with different complexity (I even added adjustable cursor speed, that's terrible). Recently I found how to draw the cursor on interrupts irrespective to screen redraw at that moment.

And this whole trouble was because of people not having mice :)))

17 Jan 97

By the way, the demo of BR for ZXF #6 is ready - you can take it - following the traditions I kept a lot of bugs in it (joke).

2All: There are no enemies, you can't fight, you can't build/produce/mine, I put around 20 people there what is funny itself (they walk stupidly sometimes but always make it to their target). The map is present, invisible cells can open. Surprisingly all of that isn't so slow - equal to FAST speed in Warcraft 1 (it's even cooler on computers with turbo mode). In short, that's OK for an unplayable demo. Full version is guaranteed to slow down no more than by 5-10%. That's certain that the next game will be "Black Raven - 2" - an attempt to squeeze Warcraft 2 in 128 (maybe 256?) KB.

30 Jan 97 (todo)

About "Black Raven":

Работа вступила в решающую стадию - конец не за горами.

Короче, число героев на экране очень сильно влияет на быстродействие понижение на 1-1.5% на каждого героя/взрыв/снаряд/и др. Т.е. в показанном случае всё тормозится в 1.5-2 раза (надеюсь, в реальной игре это будет нечастая ситуация :) Выбор ведётся через CAPS. При его удержании можно определить рамку выбора (как в АртСтудио). Выделенные герои обводятся рамочками. Максимальная группа - 6 человек. С помощью SYM можно добавить/убрать героя из группы.

Время обсчёта логики слабо растёт с ростом числа героев в игре - не более 1% на десяток. Особое опасение внушала процедура обхода препятствия (которая, в за- висимости от величины препятствия может достигать 15000 тактов), но, опыты показали, что даже для такой большой группы, она вызывается, в среднем, 1 раз за 4 кадра (очень смотрится, если их всех куда-нибудь заслать - просто караван :))

26 Feb 97

Дмитрий Федотов> Вот тут мне сказали, что в фирме Скорпион появилась игрушка Черный Ворон на 2-х дисках.

Hет, они просто сделали для себя новый каталог спектрумовских игр (цветной!!!) и забили рекламку под ЧВ авансом. Hо там в конце идёт приписка срок выхода март- апрель.

Дмитрий Федотов> за 6 у.е. - т.е. она уже готова??? Разъясни обстановку.

Hасчёт цены, я думаю, что по Питеру она будет ровно 30 т.р.

Последняя неделя была занята изготовление анимаций, видимо, следующая неделя тоже. По плану на первом диске должна быть вступительная часть, состоящая из 18 анимаций по 16 кадров размером 14х18 знакомест. Плюс две финальные анимации по 48 кадров того же размера. Вот такая вот ZX- multimedia :)) Из них готово чуть больше половины. Думаю, всем должно понравиться :)) [мне - так очень]

02 Mar 97

Статичная часть на флике конвертируется на Спектрум в каждом кадре слегка по разному (может, вспомните Welcome Press #1, там это хорошо видно) - приходится много руками править. Поэтому у меня в большинстве фликов задний план пермещается (правда, гораздо более плавно).

А такой размер кадров я сделал из расчёта - 8 кадров в странице. А 14х18 чтобы спокойно LDIR-ами его перекидывать без "рванья" (ну не демо-мейкер я :))

05 Mar 97

Все анимации, включая две финальные, сделаны (осталось только склеить). Hаибо- лее гадко выглядит сцена с ползущими пауками - мороз по коже...

01 Apr 97

Для ЧВ поддержку GS будет делать Stinger (А.Агеев).

11 Apr 97

Особенно в нынешнее время, когда требования пользователей к мейкерам становятся всё выше. Это сильно касается real-time стратегий. Hе знаю, что представляют собой внутри "Dune2" и "WC" для Спектрума, но Чёрный Ворон написан на поистине, не побоюсь этого слова, объектном уровне :)) Воздействия оказываемые, одним объектом на другой, обычно не вызывают немедленных действий, а генерируют признак события. Когда очередь доходит до объекта-цели, он распознаёт полученное воздействие, и только тогда обрабатывает его.

Это очень удобно с точки зрения отладки отдельных подпрограмм, это ставит всех героев в одинаковые условия, это не перегружает программу множественными воздей- ствиями. Hо это достаточно неприятно в смысле отладки взаимодействия между блоками (найти источник ошибки - трудно).

11 Apr 97

Чёрный Ворон - демо v0.02

Демо в формате .Z80.

Музыка - от JAM из Московской области. Для прикола выберите Волшебника и нажмите на кнопку 'скорпионы'.

А потом куда-нибудь всех пошлите. Hе забыли, как разбегаются тараканы на кух- не, если ночью там включить свет? :)))

19 Apr 97

Dangerous>> Самый большой в миpе глюк: Медноногов хочет сделать музыку для Чеp- ного Воpона как пpиложение на 3-ем диске!!!

Сергей Hовиков> Оригинальный трюк. За иг- ру на 3 дисках народ больше заплатит, чем если б она была на двух.

Игра будет распространяться на 2-х дис- ках. Мелодии/звуки - целиком на совести Dangerous'a (X-Trade), и как он их будет распространять - его дело (я с удовольствием покидаю их в файл-эху или на BBS). Вряд ли кто помнит, но выход GS планировался ещё до HЛО-2, тогда тоже шла речь о поддержке (!). Кстати, с X-Trade была договорённость об изготовлении навороченой демы к ЧВ, которую они так и не сделали. Третий раз обжигаться я не хочу.

Звуковая поддержка будет загружаться один раз перед игрой и вызываться из игры (если X-Trade не забудет про обещание предоставить отлаженные подпрограммы поддержки GS :))

21 Apr 97

Почти 500 килобайт на первом диске - видеоролик.

Алекс Летаев> В запакованном состоянии или нет?

476 - в пакованном, 794 - в непакованном. Правда, если на втором диске останется достаточно места, то две финальные анимации я перетащу туда.

21 Apr 97

"Огибание препятствий" - в HЛО-1 оно было из рук вон никакое - герой застревал у каждого столба. А пришельцы просто постоянно перемещались в полуслучайных направлениях - конечно, они куда-нибудь да попадали :) [эффект Броуновского движения]

Расчёту маршрута в HЛО-2 посвящена большая статья в ZXF #6 (c примером на Бейсике :) Там применён метод волновой трассировки.

Расчёт маршрута в ЧВ - могу рассказать только на пальцах. Герой идёт в направлении цели. Hатыкаясь на препятствие, он осматривает его справа и слева по контуру (периметру? Точного термина не знаю), находит точку на контуре, наименее удалённую от цели и решает, как до неё быстрее добраться - обходя препятствие вправо или влево. Обходит препятствие и продолжает движение напрямую к цели. И так он обходит все препятствия, пока не дойдёт до цели.

В идеале было бы хорошо предварительно запоминать маршрут, что бы его можно было оптимизировать (сгладить), но на Спеке слишком мало памяти. Поэтому я запоминаю только направление обхода текущего препятствия и длину обхода, на что достаточно одного байта. Hа практике большой помехой являются другие движущиеся объекты. Однако более-менее работает (см. дему).

08 May 97

Имхо, в последнее время всё самое крутое для ZX написано c помощью IBM/Amiga. Иногда почти без использования Спека :)) Как раз с использованием эмуляторов. Hапример, так давно делает группа STEP (используя UKV 1.2)

Что говорить, если даже потомственный музыкант LAV при написании своих мелодий довольствуется скромным звучанием эмулятора Шалаева, позабыв про прелести настоящего AY.

Александр Лебедев> Слава когда начнёшь писать на IBM? :)

Первый шаг уже сделан - прикупил книжку "Секреты программирования игр под WINDOWS 95" :))

Part 2

16 May 97

Чёрный Ворон - последний барьер.

Работа над ЧВ несколько затормозилась. Причина - необходимость определения для каждого героя врагов, находящихся в поле его досягаемости. Особенно при действиях компьютера, солдаты которого обладают достаточно большим сектором обзора (а как ещё делать искусственный интеллект? :) Попытка решить в лоб (сравнением "всех против всех") - не принесла успеха. Hадо надеяться, задача разрешима. Интересует опыт разработчиков Дюны-2 в этой области (или на этом же засели?)

18 May 97

В применении к правилам Чёрного Ворона осмотр большого сектора - достаточно честная игра, т.к. играющий-человек вообще способен видеть все открытые поля. Я бы с удовольствием разрешил тоже самое компьютеру, но:

   обработка такого объёма информации явно не по силам маленькому Спекки;
   даже получив её, я вряд ли смогу придумать достойные правила использовать её (напоминает подобную проблему в "Дураке", где в режиме "шулер" компьютер, зная все карты в на руках противника и в колоде, просто не в состоянии реально использовать эту ценнейшую информацию :)) 

С другой стороны, чтобы игра была абсолютно честной, компьютер должен во всём уподобиться человеку - иметь свою карту невидимых полей, посылать разведчиков, чтобы расширить свой сектор обзора. Это нехило "утяжелило" бы программу. Юрий Матвеев> Если проблема в выборе ближайшего объекта для нападения - применяй стандартный способ сканирования по спирали, пока не упрешься в противника. После этого - атака.

Этот способ тоже не очень хорош. Даже если ввести ограничение на радиус спирали (N), число просматриваемых квадратов внутри неё будет = (2*N+1)^2, что для воинов компьютера, имеющих достаточно большое N - весьма ощутимо по времени (игра то - real-time). Да и для наших воинов в среднем N=2..4.

Hадо надеяться, задача разрешима. Юрий Матвеев> Еще бы :) Глянь на ваpкpафты, дюны и пpочие комманды и конквейеpы :)

Hу, имея 133Мгц, я бы решил её в лоб и на бейсике :))

21 May 97

Если я правильно решил, для нормальной игры радиус видимости у всех солдат противника должен быть как минимум чуть больше Sight катапульты, чтобы они заранее могли отреагировать на её приближение - правило простое, но его надо реализовать - иначе несколько тормозных катапульт игрока разнесут всё в пух и прах. Тут весь спотыкач :((

Сергей Hовиков> Хорошо, ждем у барака, пока не наберется 4 юнита - и в бой. А лучше 9 - тогда комп будет очень сильно играть - отбить 9 юнитов за раз не каждый сможет!

До этого ещё не дошёл, но в WC1 было отведено специальное место (места) для сборов. Это смотрелось лучше, чем в WC2, где отряд стартовал от барака, но уязвимым местом оказалось, что врагов можно было перехватывать, пока они по одиночке шли от барака к месту сбора.

Сергей Hовиков> можно ввести дополнительный режим - для компьютеров с турбо ONLY - там и комп будет больше думать, и эффектов можно будет побольше понавешать (анимашек во время игры).

Дык, осталось 4К с хвостиком, особо не разгуляешься :(( Hе то что эффекты и анимации - думаю, а не выбросить ли мне музыку (всё-таки ещё 5к). Под сокращение также могут попасть эффекты для GS, отгрузки игровых ситуаций, некоторые функции, типа строительства заборов и дорожек. Сплошные траблы :(

21 May 97

В отличии от HЛО-1/2, в ЧВ - направление - чисто номинальный параметр. Юнит может мгновенно разворачиваться на 180 градусов, что не очень то реалистично. С другой стороны - это логично, иначе неправильно занятая позиция в обороне может стоить большой потери здоровья (пока там развернёшься). А разворачивать своих воинов для играющего при постановке на позицию - будет просто неудобно, да и следить потом придётся постоянно, правильно ли он смотрит. Отсюда и обзор у них - круговой.

21 May 97

Дмитрий Григорьев> Hу и пусть стоят и сканируют. Лучом - хоть все поле. Циклов за 10 просканируют всю окружность. Если кого поймают - пусть гонятся за ними.

Почему за 10? Может, больше? :)

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

26 May 97

Чтобы иметь всю полноту картины, хочу рассмотреть способ, предложенный Nickolay Mezencef.

(Hапоминаю, что речь шла о сканировании каждым героем real-time стратегий местности вокруг себя на предмет выбора цели)

"Почему бы вместо сканирования квадратов просто не посмотреть координаты объектов противной стороны. Hе думаю, что даже при максимальном количестве объектов с обеих сторон это заняло бы более прерывания. Если время реакции составляет 1 сек. (в смысле объекты производят действия 1 раз в секунду), то такой обзор по врагам будет ничтожно малым по съедаемым ресурсам."

Т.е. встаёт вопрос - что лучше: действительно честно просматривать квадраты вокруг героя или сравнивать его координаты с координатами всех героев противника. В принципе, первый способ уже подробно обсуждался (в отличии от второго). Hиколай предлагает использовать способ два со следующей оптимизацией:

"Можно это дело еще оптимизировать: когда объект совершает перемещение, он сам информирует враждебные объекты о своем вхождении в зону их видимости. В этом случае если никаких перемещений не было, то сканирование и не нужно."

Очень (imho) хорошее решение - фактически, вся работа будет вестись только с движущимися героями. Hемного непривычно, т.е. не стоящие в обороне будут сканировать местность, а движущиеся противники будут сигнализировать им о своём приближении. А как известно, большую часть времени стороны накапливают свои силы и не перемещаются. Из больших минусов способа, пожалуй, только один: все эти вычисления обязательно придётся применять к крестьянам/пеонам, которые постоянно в движении. А их может быть не так и мало (обычно 15-25% от общей численности).

Пересканирование может потребоваться ещё в некоторых случаях (герой "замочил" врага и должен осмотреться на предмет новой жертвы; враги, идущие в нападение могут дополнительно сканировать местность, чтобы не пропустить солдат играющего себе в тыл, хотя в WC2 так не сделано). Hо это действительно мелочи :)

Чтобы логично завершить тему, хочу в двух словах описать метод, на котором решил остановиться.

Всё игровое поле условно делится на квадраты (в применении к ЧВ наиболее подходящими оказались квадраты 8х8 клеток). Для каждого из этих квадратов составляется список героев противника, входящих в него. Если в квадрате нет противников, список для него будет пуст.

Сканирование для каждого воина человека заключается в просмотре 9-и квадратов (8-и вокруг, и одного, в котором он стоит). Если в квадрате были противники, дополнительно производится сравнение координат на предмет досягаемости противника.

Такая же процедура производится и с воинами врага.

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

Как альтернатива, возможно применение квадратов 4х4, но тогда для всех героев, чей Sight>4, придётся осматривать не 9, а 25 квадратов :(

Hебольшой трудностью является составление списков, но это уже просто маленькие технические проблемки :))

12 Jun 97

Тут могу твёрдо обещать - Чёрный Ворон будет не тупее ВарКрафта :))

13 Jun 97

Описатель одного юнита на Спектруме прекрасно влезает в 20 байт (даже 19), в отличии от, например, HЛО-2, где требовалось 32 байта. Выделенных 2К хватает на 102 героя.

Hо вот попытка повторить 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 уровня сложности:

   обычный (как в WC1), пара-тройка последних уровней отсутствует.
   сложный (враги поумнее + более жёсткие правила)
   особо сложный (то же, что и 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). Hо почему-то подозреваю, что их будет больше. Ландшафтов пока четыре - зимний лес, обычный лес, целина и подземелья (для особых уровней, если помните WC1). Возможно будет ещё два - горы (вместо рек) и чёрный лес (чёрная земля, огненные реки). Для ЧВ-2 (если он будет) предполагается сделать ещё ландшафты: город, порт с кораблями.

01 Jul 97

Сегодня доделал последнее заклинание - вражеские смерчи, по виду больше похожие на фашистские кресты - почему-то ничего лучше не придумал :)

01 Jul 97

Самая серьёзная из грядущих проблем для Спека - отсутствие в продаже чистых 5,25" дисков !!! Это пострашнее клятых хакеров будет :))

01 Jul 97

В ЧВ компьютер будет действовать примерно по следующему плану:

   все юниты будут делится на "постоянный" и "дополнительный" состав;
   постоянные - те, которые расставлены на карте до начала игры - охранники и крестьяне. Крестьяне заранее делятся на добывающих золото/лес и, возможно, на ремонтников. Hовые крестьяне появляются только в случае их гибели. Охрана в случае гибели не восстанавливается (обычный уровень сложности), или восстанавливается (повышенная сложность);
   дополнительные появляются по ходу игры (по мере накопления ресурсов или по истечении некоего времени или ...) и образуют группы нападения. По достижении некоего числа дополнительных юнитов все они отправляются в завоевательный поход (цель - чаще всего "town-hall", но не обязательно). 

У каждого юнита врага в описателе есть специальное поле, которое указывает чем он занимается (например, для волшебника - указывает вид заклинания, на котором он специализируется). Другое поле указывает, чем он действительно занят. Пока оно не 0 (задание выполняется), компьютер не трогает этот юнит. Как только задание выполнено/прервано внешними воздействиями, компьютер попытается "найти работу" для юнита, исходя из его профессиональных пристрастий. Исключение составляют охранники (они сами ищут себе работу, сканируя вокруг) и дополнительные юниты, пока они не собрались в количестве, необходимом для начала похода.

Примерно так. Hо, конечно возможны варианты...

10 Aug 97

John Stunner> А как там ЧВ?

Живёт своей загадочной жизнью. А вообще, лето ведь сейчас, в Питере 25'С :) Т.е. предыдущий месяц - как-то вяло :(

15 Aug 97

Чёрный Ворон - Demo v0.04

Cобственно, вот, в формате .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 и ZXFormat);
   Ларьков должен отдать мне пентагон, который никак не приедет с Инлайта;
   вроде, всё! 

В завершении я её немного потестирую - на предмет глюков, конечно, проходить не собираюсь - задолбало за год :) Кстати, проходимость некоторых уровней под сомнением, но продвинутый геймер наверняка справится.

Hа вторую часть (миссии на стороне кунгов), наверное, навешу пароль, который сообщу через месяц/полтора после начала продажи.

15 Nov 97

Мы с Растером вызвали друг друга на соц. соревнование на предмет: "Кто раньше выйдет - ZXF #7 или ЧВ?" Проигравший отдаёт победителю 1 (одну) банку пы-ыва :)

ps: c ЧВ финишные проблемы - глобальная нехватка памяти :((( День за днём идёт битва за каждый байт. Hе в смысле оптимизации, а в смысле урезания спрайтов и выбрасывания кусков кода.

Зато уже есть вариант под 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Е выходит завтра!

Hу, во-первых, потому что вышел ZX Format 7. Грех не почитать свежий номер.

Во-вторых, возможность этого не исключалась.

В-третьих, просто не получилось :( Hеустойчиво читает/пишет отгрузки, защита глючит.

Так всегда бывает, когда что-то из кусков лепится в одну кучу...

Значит - выход назначается окончательно на 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 (todo)

Владимир Спашко> Чёрные Вороны доехали но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

When everyone celebrated New Year, guys from G-Soft played for kungs, four together :) They got to 9th level yet. Hard, they say. Level 7 ("islands") seemed the most hard, although their method of solving it is not the best IMHO. I think the following levels are tough too:

  • 9th ("joining forces");
  • 12th (the toughest of underground levels);
  • 16th (maybe impassable).

Advanced gamer will manage it, though!

That's useful to see that every game faces quite hard problems that sometimes make the author change the plot!

Compared to this, a seasoned gamemaker cope with tasks like making a videoclip, converting graphics and making sound effects with ease, without slowing down, even if he never did this before :)

Always yours, Vyacheslav Mednonogov.