Info Guide
#08
30 ноября 2005 |
|
Gamedev - История создания игры Pang.
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
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября