Platinum #02
08 ноября 1996

********************************
*        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



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
A - An Open Letter to ODDY # 9: The story of the Krasnodar ZX scene.

В этот день...   3 December