Pang 16C
1.
Когда начинался 2005 год, я не думал,
что в этом году допишу какую-либо игру. Я
планировал только продвинуть вперёд состо─
яние некоторых моих старых игровых проек─
тов (между делом был начат новый, очень
крупный). Но поездка в Москву к Чунину ос─
тавила свои впечатления - я увидел игры на
ATM и "Спринтере", оценил их плюсы и мину─
сы, понял также пользу самого режима "цвет
на точку" и решил собрать себе такой же. О
том, как он собирается (а собирается он
очень просто), смотрите отдельную статью.
Надо сказать,что сначала мне в голову при─
шла другая организация цветового выхода -
через лишний буфер и лишние резисторы,- но
я внимательнее посмотрел на описание АТМ и
позаимствовал оттуда куда более простой
способ.
Почему мне в голову раньше не приходил
16-цветный режим? Не знаю. Была какая-то
блокировка в голове, связанная с "мульти─
колор - рулез". Как вы помните по IG#5, я
даже написал одну (и по сей день единст─
венную на ZX) игру в мультиколоре.Эта игра
могла настраиваться на аппаратный мульти─
колор, но работает и без примочки. Эта
игра оказалась единственной программой во─
обще, которая поддерживает примочку "аппа─
ратный мультиколор" (#eff7 bit 0). Ни до,
ни после никто под эту примочку ничего не
написал. Оказалось, что она бесполезна. И
это, в принципе,закономерно,только я понял
это слишком поздно.
1. Сколько я ни дорабатывал конвертор,
мультиколорные картинки получаются полоса─
тые. С этим ничего не сделать. А чтобы ри─
совать мультиколорные картинки вручную,ну─
жно быть маньяком.
2. В играх цветные спрайты не могут дви─
гаться по горизонтали попиксельно. Точнее,
для этого придётся нарисовать и независимо
раскрасить 8 вариантов одного и того же
спрайта.Такая перспектива,естественно,мало
кого улыбает.Ведь даже один спрайт раскра─
сить в мультиколоре непросто.
3. Демки не дают представления о реаль─
ных скоростях аппаратного мультиколора. В
демках (и в редакторе 8col) знакоместа,как
правило, имеют высоту больше одного пиксе─
ла. Обычно высота - четыре пиксела.Что это
значит? Значит это то, что демка обрабаты─
вает не 6144 байт атрибутов, а всего 1536.
Выигрыш в скорости - существенный. В аппа─
ратном мультиколоре этих байт всегда 6144,
как ни крути. То есть, если редактор 8col
переделать под аппаратный мультиколор,этот
редактор станет нефреймовым. То же с пра─
ктически любым мультиколорным эффектом.
По уму схема аппаратного мультиколора
должна бы была управляться не одним сигна─
лом, а ПЯТЬЮ:
1. Разрешение коммутации адреса A8V.
2. Разрешение коммутации адреса A9V.
3. Разрешение коммутации адреса A10V.
4. Разрешение адресации атрибутов анало─
гично маске.
5. Раздельный Bright для INK и PAPER.
Если бы аппаратный мультиколор действи─
тельно обладал всеми этими управляющими
разрядами,то под него,вероятно,даже писали
бы демки. Ведь только с помощью раздельных
коммутаций адресов можно изобразить все
режимы Eye Ache 2 и Stellar Contour со
скоростью обработки не ниже,чем в оригина─
ле. Не имея пункта 4, нельзя с удобством
выделить память под экран 4x4 (мультиколо─
рные чанки).С помощью пункта 5 мы расшири─
ли бы палитру вдвое.
Но ничего из этого не было сделано; был
выдуман примитивный рубильник, под которым
можно было только выводить статичные кар─
тинки.
Впрочем, и в описанном выше идеальном
виде мультиколор ни на что, кроме демок,не
тянул.
Устройство "цвет на точку" собирается
поверх того самого, топорного "аппаратного
мультиколора" (ведь в схеме мультиколора
присутствует половина всего, что нужно для
"цвета на точку"!), являясь,таким образом,
новой версией схемы. Соберите, попробуйте.
Сложного ничего нет. Реально сделать прак─
тически на любой модели ZX 128k.
Обратите внимание, что в этом режиме не
представляет никаких проблем прокручивать
экран по 2 пиксела! Нет также проблем с
тем, чтобы наложить спрайт на фон (можно
даже накладывать целыми байтами). 8 копий
спрайта, как вы понимаете, не нужно,доста─
точно двух. Или одной.
В тот момент,когда была разработана ко─
нцепция 16(15)-цветной примочки, почему-то
одновременно исчезли John и KSA-7G, а я
(ничего не могу с собой поделать) боюсь
один даже начинать пайку. К счастью, John
через некоторое время всё-таки пришёл и
помог.Но мы проиграли гонку SAM Style - он
на 3 дня раньше написал первую программу
под свою схему (которая, правда, в отличие
от нашей,не существует в железе - в ней 25
корпусов :)). С другой стороны, наша схема
была опубликована за несколько дней до по─
явления схемы SAM Style. Но из-за задержки
игра под этот режим была написана позже,
чем планировалось, а без игры я не мог вы─
пускать номер (кому нужно устройство без
софта?).
Впрочем,о том,как игра писалась,вы про─
читаете в другом разделе журнала, а в этом
разделе я, вообще-то,должен рассказать,как
играть в неё :)
2.
Игра Pang представляет из себя набор
экранов (стран), на каждом (в каждой) из
которых вы должны пройти три уровня.В ори─
гинале уровни отличались геометрией пере─
городок,но я решил обойтись только измене─
нием количества монстров. Число экранов я
тоже сократил.
Монстры в Pang - это пузыри, которые
нужно разбивать.С первого раза большой пу─
зырь не лопается,а делится на два средних.
Средний - на два маленьких. При делении из
пузыря может вывалиться приз. За взятие
приза начисляются очки.
Призы:
1. Будильник. Замораживает монстров. Из
замороженных монстров призы не выпадают.
2. Песочные часы. Добавляют некоторое
количество времени.
3. Гарпун. После взятия этого приза ваш
гарпун получает возможность зацепляться за
потолок и висеть там некоторое время.
4. Двойной гарпун. После взятия этого
приза можно бросать гарпун и тогда, когда
летит пущенный ранее гарпун. Старый гарпун
вместе с верёвкой исчезает при бросании
нового.
5. Пулемёт. Позволяет стрелять пулями.
Осторожнее с этим оружием - если вы убили
всех монстров,время ещё течёт и может кон─
читься, пока летят пули!
6. Жизнь. Выпадает из лошадки. Лошадка
появляется только в том случае, если у вас
ровно одна жизнь.
7. Яблоко. Только добавляет очки.
Один и тот же приз не выпадает два раза
на одном и том же уровне (но, конечно,если
герой умирает,флажки использованности при─
зов обнуляются,и каждый приз сможет появи─
ться снова).
Цель игры: заработать максимум очков.
Очки начисляются не только за призы,но ещё
и за убивание монстров и за время,оставше─
еся после победы. Я особо не заигрывался,
но,тем не менее, набирал около 5500 очков.
Слабо перебить? :)
Естественно,в версии для АТМ подразуме─
вается, что это АТМ turbo 2 (версия 6 или
7), с убранным глюком,который при переклю─
чении видеорежимов обменивал адреса a5..7
<-> a8..10. На платах, продаваемых NedoPC,
этого глюка нет.Убирается он так (в версии
7.10), цитирую "Turbo 2+ Assembly and Con─
figuration Manual" от 13.04.2005:
==========================================
3) Для устранения перепутывания памяти при
переключении из экрана Sinclair в экраны
CP/M, берем ногу D65.13 и отрезаем от нее
сигнал DMX, вместо него на эту 13ю ногу
цепляем сигнал CMX (это инверсный DMX -
D68.9).
==========================================
Alone Coder
3.
Игра Pang выходила на следующих платфо─
рмах:
Arcade (игровые автоматы)
Pang (1989)
Super Pang (1990)
Pang! 3 (1995)
Mighty! Pang (2000)
Consoles (приставки)
Amstrad GX4000 (1990)
Super Nintendo (1992,
"Super Buster Brothers")
Nintendo Game Boy (1993)
Sony PlayStation (1997,
"Super Pang Collection")
Computers (компьютеры)
Amstrad CPC+ (1990)
Atari ST (1990)
Commodore Amiga (1990)
Commodore C64 (1991)
Sinclair ZX Spectrum (1991)
Others (другие устройства)
Mobile phone [Nokia 7650] (2003)
Концепция игры Pang разработана фирмой
Mitchell.
Программисты: Hospitel Masa,
Mamichan Otona
Композитор: Tamayo Kawamoto
Дизайнеры: Hiramattyo,
Oyuu
Руководитель: Kihaji Okamoto
AY-музыка в версии для ZX Spectrum
(1991 года) такая же,как на аркадном авто─
мате, но переписаная под AY (в оригинале
там FM-чип YM2413). Кто переделывал - най─
ти не удалось. Есть вероятность, что Tony
Williams (на это есть намёк в "YM index