******************************** * INTROMANIA ! * ******************************** (C) LVV from Black Eagle Co. Введение. --------- Хотите узнать самый спорный во- прос из жизни фанатиков SPECCY ? Этот вопрос вызывает множество споров,которые время от времени вылезают в свет со страниц(вер- нее экранов) различных компьюте- рных журналов. Последним предложением,я вас немного заинтриговал ? И какой- же все таки вопрос ? Он прост и тривиален как все в этом мире: Нужны ли INTRO ? (В нашей жизни) Вот вопрос из вопросов !!! Ответ на него так же прост,но это только мое мнение,возможно вы с ним не согласитесь(но тог- да это уже ваши проблемы),а если вы согласитесь,то читайте дальше и вы узнаете кое-что интересное (а может это вы уже знали ?) Мое мнение таково: -Да,INTRO нужны ! Но в INTRO должны соблюдаться два правила очень легких в запоминании: ПРАВИЛО N1. ----------- Выключаться INTRO должно момент- ально по нажатии клавишы "SPACE" или какой-нибудь другой клавиши. (Очень не приятно загрузив INTRO и захотя загрузить игру нажав на SPACE и сидеть ждать пока INTRO соизволит загрузить программу.) ПРАВИЛО N2. ----------- INTRO в запакованном виде должно занимать как можно меньше места на диске. Но в области запаковки не нужно слишком усердствовать, программа распаковки должна быть достаточно быстра,а то распако- вка очень уж "крутого" паковщика может продлиться с минуту ! (Хотя выиграете в памяти не больше ста байт !) Самое главное,если вы запомните эти два легких правила,то вы можете быть уверены на 90 %,что ваше INTRO будет долго жить. Есть некие личности,которые уме- ло вырезают INTRO и оставляют только саму программу (чем дово- дят до белого каления автора неудачного INTR'a) ГЛАВА 1 "ИСТОЧНИК ИНФОРМАЦИИ". ------- ------------------- Ну конечно же в INTRO самое гла- вное-это Источник Информации. Это может быть некое колличество бегущих строк или оригинальный вывод текста на экран(кстати в последнее время это излюбленный тип INTRO y многих кодеров.) Так вот,для источника информации существуют также некие условия, при выполнении которых успех гарантирован ! УСЛОВИЕ 1. ---------- Если источником информации явля- ется бегущая строка,то она дол- жна быть читаемой.(Допустим человек медленно читает,а текс в строке несется со скоростью ракеты ?) Наиболее удобный вариант,это изменение скорости скроллинга,от минимальной до максимальной. Если бегущая строка летает вниз и вверх по какой-нибудь хитрой траектории,то она(строка) должна это делать не слишком быстро. (От быстро летающих строк,начи- нает болеть голова !) ВЫВОД 1. -------- Если бегущая строка плохо читае- тся,то 50 % того,что ее читать не будут,и от этого она переста- нет быть источником информации. (а это уже полный бардак) УСЛОВИЕ 2,но без вывода ! --------- Ну,это скорей всего не условие,а hanytcbehhoe пожелание: Использование более одной бегу- щей строки затрудняет чтение текста. Глаза разбегаются в раз- ные стороны и не знают где им остановиться. И если вы уж непременно хотите сделать деся- ток бегущих строк,то можно в них пустить один текст; Или в одной строке самое главное,а в других короткие текстики. УСЛОВИЕ 3,так же без вывода. --------- Это условие касается только мето да вывода огромного колличества букв на экран в короткий промежу ток времени,и самое главное,что тех кто его видел отвисает челю- сть ! Самое главное при этом не забыва ть продержать текст на экране некое время,чтобы даже самый тор мозной чтец смог прочитать его. Незабывая при этом о клавише "ENTER" по которой должно произ- водиться переключение страниц. ГЛАВА 2 "ФОНОВЫЕ ЭФФЕКТЫ." ------- ---------------- Вот здесь ограничений практичес- ки нет,но есть два малюсеньких пожелания: ПОЖЕЛАНИЕ N1. ------------- Все вместе взятые эффекты,не до- лжны затруднять чтение текста ! ПОЖЕЛАНИЕ N2. ------------- Делая огромное колличество эффе- ктов одновременно,подумайте о том,что есть очень тормозные машины,поэтому из 70000 тактов процессора,реально расчитывайте только на 65000. Колличество спецэффектов не ограничено,и чем больше их на экране,причем одновременно тем лучше. ГЛАВА 3 "МУЗЫКАЛЬНОЕ ОФОРМЛЕНИЕ" ------- ---------------------- Тут,все элементарно,чем лучше музыка,тем более сильное впеча- тление делает INTRO на осталь- ных. Максимально огромное впечатле- ние произведет INTRO с авторской музыкой(написаной вами или вашим знакомым) Сейчас хоть и не принято ворова- ть музыку,но время от времени приходиться это делать,так как многим не хватает талантливых музыкантов и даже просто музыка- нтов. ГЛАВА 4 "САМАЯ ФИЛОСОФСКАЯ." ------- -------------------- Хочу предупредить(или проинфор- мировать),что дальше идущий текст основан на моем личном опыте и на советах других более опытных кодеров (таких как ALEX RAIDER from FLASH inc.(я общался с ним всего один раз,но результатом этого общения стал мощный ска- чок моего проффесионализма,в сторону увеличения конечно !), ZH MASTER) Для отличной работы INTR'a на большинстве машин в любом режи- ме (48kb и 128kb) необходимо использовать только один экран и естественно только память 48kb'ой машины. Тестировать INTRO лучше всего на компьюте- рах ZX-SILICON (самый тормозной компьютер, после Дубны естественно !), если вы не слышали о таком компьютере,то вам повезло,в Томске их выпускали несколько лет,пока y фирмы не кончились чипы 'ULA',а новых они достать не могут. Когда такого компью- тера нет под рукой,то для тес- тирования лучше всего использо- вать PROFI с отключенным TURBO- режимом. Если ваш шедевр отли- чно работает на SILICONE и PROFI ,то на большинстве машин он так же будет хорошо работать. Так вот,структура INTRO примерно такова: Первый сегмент-полностью статич- ная графика(название игры,к ко- торой сделано это INTRO) или не скоростной вывод текста,который не подвержен влиянию луча. (об этом позднее). Второй и Третьий Сегменты-поле вашей деятельности. Почему только два сегмента ? Все элементарно,после команды "HALT",компьютер начинает прори- cobky экрана с верха бордюра. В это время вы выводите строку, спрайты,звезды на экран (во второй и третий сегменты,так как y вас есть время,пока луч идет бордюр и первый сегмент) Как только луч доходит до начала второго сегмента,вы включаете задержку(музыку,и просто пустой цикл) и ждете,пока луч пройдет до конца ; потом быстренько за- пускаете процедуры очистки стро- ки,звезд,спрайтов(укладываясь по времени в один HALT) И что самое интересное,не смотря на то,что вы стерли строку с экрана,она будет там нарисована до тех пор, пока экран не регенерируется заново. В этих всех премyдростях самое главное уложиться в один HALT. (В оригинале это 70000 тактов,но на ПЕНТАГОНЕ-128 около 71200 ; на СИЛИКОНЕ-128 около 65700 ; на ПРОФИ около 69700 ) И вот если вы не вложитесь хотя бы в один такт,компьютер начнет тормозить,а музыка тянуть. Тут y вас возникает вопрос,а как узнать где лучик на экране ? Моим ответом будет маленькая процедурка,запустив которую вы увидите черный бордюр и белую полоску на нем. Начало полосы-это момент когда экран начинает регенерацию,конец полосы-это момент нахождения луча после задержки. И совсем забыл важное свойство команды HALT,по этой команде компьютер ждет начала регенера- ции экрана,и как только она на- чинается то он запyскется. (Тоесть по команде HALT процесс- ор останавливается и ждет нача- ла регенерации,как только оно начинается,то процессор начина- ет работу снова.) Текст ниже приведенной программы подготовлен для TASM'a и им по- добным ассемблерам. Просто набейте программу,один к одному.(Комментарии можно опус- тить.) ;PROGRAMM N1:Показательное дейс- твие луча. ORG 40000 ;Начало прог. в памяти EI ;Разрешение прерывания HALT ;Ждем начала регенера- ;ции экрана. LD A,7 ;Цвет бордюра-белый OUT (254),A ;Засылаем в порт LD HL,0 ;|Процедура задержки, LD DE,0 ;|меняя число в ячей- LD BC,2000 ;|ке 'BC' вы меняете LDIR ;|время задержки LD A,0 ;Цвет бордюра-черный OUT (254),A ;Засылаем цвет LD A,127 ;|Опрос кл. SPACE IN A,(254) ;|если она нажата,то RRA ;|остановить прог. и RET NC ;|выйти в систему JP 40000 ;Перезапуск программы Поэксперементирyя с числом в ячейке "BC" вы увидите,что высота белой полоски изменяется. Длинна белой полосы-это время выполнения задержки. Теперь y вас возникает еще один вопрос: -А как запихать много эффектов в один HALT ? Это уже посложнее,но немного по- размыслив вы справитесь и с этой задачей. В дальнейшем я вам рас- кажу как из тормозной процедуры сделать сверх быструю процедуру. Но все это в следующих номерах. Если y вас уже возникли вопросы, то можете написать письмо,и прочитать ответ на него в одном из номеров. Продолжение следует... 01.10.96