STATE OF THE ART v1.2 music by MIDISOFT (C) VIATOR/AVALON/RUSH I.S.P.A. _ Больше 10 лет прошло с того времени, как легендарный James Hutchby из O.C.P. выпустил в свет "ART-STUDIO". Для 1985 года это был настоящий шедевр, который стал неотъемлимой частью SPECCY и одной из самых популярных программ за всю его историю. За эти годы многое изменилось. Наиболее качественные системные программы были на- писаны в странах СНГ. Но,как ни странно, никто не решился вести серьезные разра- ботки в области графических редакторов. Мы - группа AVALON - решили восполнить этот пробел и сделать новый шаг в этом направлении. . За время работы со SPECCY я видел 5-7 грaфических редакторов. Большинство из них были настолько примитивными и неудоб- ными, что даже не заслуживают внимания пользователей. Наиболее качественных ре- дактора всего два - это "ART-STUDIO" и "ARTIST-2". "ARTIST-2" неплохо продуман. В нем реализовано много интересных идей (возможность просмотра части изображения в реальном масштабе, вырезание окна про- извольной формы, рисование эллипсов и др.), но из-за очень корявого исполнения этот редактор неудобен и неповоротлив. Интерфейс тормозит, все дискрирует, уп- равление неудобно. По этим причинам боль- шинство художников на SPECCY ( и я в том числе) предпочитают работать в ART-STU- DIO. В "ART-STUDIO" реализован удобный интер- фейс и все наиболее необходимые функции. Раньше это казалось пределом мечтаний, но посмотрев редакторы на AMIGA и PC, пони- маешь что до идеала еще очень далеко. Дело в том, что все версии "ART-STUDIO", даже ее 128к вариант,далеко не совершен- ны. Я работал в "ART-STUDIO" достаточно долго, для того, чтобы заметить то мно- жество недочетов и неудобств, которые в нем есть. Стоит вспомнить хотя бы посто- янное включение белого border'а в режиме "MAGNIFY". Работа была начата осенью 1996 года, когда PANDA из черкасской группы ETC, по- жаловался на отсутствие нормального гра- фического редактора и попросил нас напи- сать что-либо приемлимое в этом плане. Мы, будучи столь добрыми и наивными :-), - согласились заняться этим безнадежным, неблагодарным, нереальным и т.д. проек- том. Следует сказать, что на момент на- чала работы над редактором, наша группа была гораздо скромнее. В нее не входили такие гении и гиганты мысли как RUFF, ZNAHAR, и SHADOW. В то время проект был обречен на неудачу, так как SADMAN и я были просто не в состоянии выполнить весь объем предстоящих работ. В данный момент все гораздо реальнее и COOLьнее ! AVA- LON стал намного больше и профессиональ- нее. Неожиданно проект получил всеобщую поддержку и внимание. За это время к нам поступило множество идей и предложений от различных людей, и уже сейчас можно ска- зать, что это будет масштабный и перспек- тивный проект. Основная задача, которую мы перед собой ставим - это учтение не- достатков всех существующих сейчас редак- торов и удовлетворение запросов наиболь- шего количества пользователей. На данном этапе мы занимаемся сбором информации и пытаемся узнать мнение всех сильнейших художников на SPECCY (SHAMAN, TERROR, KA- MIKAZE, PANDA, TRANCER, ROM, and others). Кроме того, я сам профессиональный худож- ник, и, в данном случае, это немаловажно. Мы постараемся взять самое лучшее из "ART-STUDIO" и "ARTIST II", из редакторов для AMMY и PC, но наибольшее внимание мы обращаем на просьбы USER'ов, поэтому, ес- ли у Вас есть интересные идеи на этот счет, обязательно сообщите их нам. Обе- шаю, что все, кто внесет полезные предло- жения, будут упомянуты в CREDITS. Предположительное название проекта - STATE OF THE ART- (SOTA) (только не поду- майте, что у нас мания величия ! :-) Далее я привожу описание того, что пла- нируется реализовать в редакторе: _ 1. ИНТЕРФЕЙС В целом интерфейс похож на "ART-STUDIO", но главное меню заменено на пиктографи- ческое, с целью экономии экранного прост- ранства. Размер пиктограмм выбран 2X2 знакоместа и его мы считаем оптимальным. Предвидя Ваши вопросы, постараюсь объяс- нить, почему мы решили расположить меню сверху, как в "A.S.", а не сбоку, как в Амижных или писюшных редакторах: по свое- му личному опыту я знаю, что гораздо чаще приходится рисовать картинки, занимающие все 32 знакоместа по горизонтали, чем все пространство экрана по вертикали. На ма- шинах с более высоким разрешением экрана гораздо реже встречаются картинки, зани- мающие его целиком, поэтому размещение меню сбоку, там более оправдано. Все пункты в меню и сообщения в редакторе бу- дут на английском языке. Это гораздо при- вычнее и экoномнее. Хотя, если будет мно- го возражений, инфарктов и слез, мы можем сделать его на родном языке, но учтите, что родным языком для нас является - ук- раинский :-) ! Очень большое внимание уделено SetUp'у Так, можно изменять прак- тически все параметры - скорость стрелки, фактор ускорения и т.д. Будут хорошо про- думанные "горячие" клавиши, предположи- тельно: CURSOR - движение по экрану в MAGNIFY, EXTEND MODE - просмотр всего эк- рана, SS + цифровые клавиши - смена INK, ENTER + цифровые клавиши - смена PAPER, Z, X - смена спрайтов ( анимация ) и т.д. УПРАВЛЕНИЕ Одновременное управление от KEYBOARD: (O,P,Q,A, SPACE, M (SET), N (RESET) ) ; SINCLAIR; KEMPSTON (с проверкой наличия). Если мне предоставят необходимую информа- цию, то будет реализовано управление от KEMPSTON и AY MOUSE. Все, кто в этом за- интересован, незамедлительно напишите мне письмо ( адрес в конце статьи ). То же касается и владельцев принтеров. Ни у ко- го из участников нашей группы нет принте- ра, поэтому нам нужна вся информация, ка- сающаяся этого DEVICE. Все изменения можно будет записать на иск в SetUp'е. 2. РЕЖИМ MAGNIFY Большую часть времени работы с графичес- ким редактором художник проводит в режиме MAGNIFY. Поэтому мы стараемся сделать его наиболее удобным. Реализован режим однов- ременного отображения реального окна, но, при желании, его можно отключить. Прос- мотреть весь экран, не выходя из режима увеличения, можно нажатием одной клавиши. Окно с фрагментом изображения в реальном формате можно выводить как слева (TRUE VIDEO), так и справа (INV. VIDEO). В об- щем то, никакого разделения на MAGNIFY и нормальный режим - не будет. Все функции редактора будут реализованы и в увеличен- ном масштабе, чего очень не хватало всем остальным GFX EDITORaм на SPECCY. Правда я должен признать, что в некоторых случа- ях редактор, возможно, будет подтормажи- вать. Хоть я и написал масштабирование в несколько раз более быстрое чем в "A.S.", но сами понимаете, что увеличение почти всего экрана в реальном времени и при ог- раниченых объемах памяти - вещь доволь- но-таки медленная. Если вы, например, бу- дете рисовать круг в режиме ELASTIC и бу- дет включен режим MAGNIFY, то мне (точнее Z-80A) придется нарисовать круг в буфере, а затем быстро отмасштабировать изображе- ние на экран. Конечно, на Амиге в данном случае было бы достаточно изменить разре- шение экрана. Простая но невероятно по- лезная и удобная функция - это возмож- ность смены размера карандаша, которым производится рисование в увеличенном масштабе. Простым нажатием клавишь 1-5 можно выбрать один из пяти встроенных ка- рандашей: 1X1, 2X2, 3X3, 1X8, 8X1 пиксе- лей. Режимы LINE и DOTTEN позволят прово- дить сплошные линии или через одну точку. Я считаю целесообразным реализацию увели- чения только в 2 и 4 раза. Можете сооб- щить свое мнение по этому поводу. При этом, в 4-x кратном увеличении можно сде- лать сетку, разграничивающую знакоместа, что тоже невероятно удобно. _ 3. REALTIME MAGNIFY Очень оригинальную идею подсказал SOI из группы CRYSTAL DREAM. Он посоветовал сде- лать опцию REALTIME MAGNIFY, а именноре- жим похожий на эффект из демух "RPSG128" и "7 REALITY" - редактирование изображе- ния под лупой. На экран выводится вся картинка, по которой можно передвигать увеличительное стекло с прицелом в цент- ре. Самым большим преимуществом является возможность видеть постоянно практически весь экран ! Правда тут возникают большие проблемы с атрибутами. По-моему, такого режима нет ни на Амиге, ни на ПЦ. Эту функцию уже почти дописал SHADOW. _ 4. WINDOWS Окна в режиме WINDOWS, можно будет зада- вать как с точностью до пикселя, так и с привязкой к знакоместам. Кроме всех функ- ций обработки окна из "ART-STUDIO", будут реализованы утолщение, обводка, скрол- линг, возможно морфирование двух окон. Если не подведут наши математики, то бу- дут добавлены функции 3D-вращения. Уже действует функция поворота окна вокруг своей оси, с возможным смещением центра вращения. За ненадобностью будет упразд- нена функция LAST WINDOW, по той причине, что всегда текущим будет считаться пос- леднее выбранное окно. Можно реализовать возможность выбора окна произвольной фор- мы, но не так тупо как в "ARTIST-2", а при помощи замкнутых линий (CONTINIOUS LINES). Большое количество вариантов на- ложения окон: с затиранием изображения под окном, по OR/AND/XOR, по маске. _ 5. SHAPES Набор графических примитивов в меню SHA- PES, включает в себя, кроме всего проче- го, рисование эллипсов и дуг. Неплохо бы- ло бы реализовать рисование эллипсов не только строго параллельно горизонтальному и вертикальному краям экрана, но и под любым наклоном. Постараемся сделать воз- можность смены плотности линий для век- торных фигур и карандаша, которым эти ли- нии будут проводиться. Скорость работы в режиме ELASTIC по возможности будет уве- личена. _ 6. UTILITES В пакет с редактором будут входить нес- колько утилитных программ: FONT EDITOR, SPRITE GENERATOR, SCREEN COMPRESSOR и другие. По-видимому, в целях экономии па- мяти, придется сделать их подгружаемыми (без выхода из редактора и без потери ре- дактируемого изображения). FONT_EDITOR Перечислю лишь некоторые (далеко не все) возможности: наличие функции UNDO, быст- рый скроллинг символов во всех направле- ниях, возможность отметить определенные символы и дальнейшие операции производить только над ними, утолщение, обводка и др. Редактирование как обычного FONT'a, так и UDG символов и любого символьного набора длиной до 256 символов. Не знаю, нужна ли возможность редактирования шрифтов, боль- ших, чем 1X1 знакоместо ? По-моему удоб- нее такие символы считывать прямо с экра- на, как спрайты. SPRITE_GENERATOR Вырезание из экранов спрайтов, с созда- нием таблиц и всего необходимого. Если уж очень захотеть, можно сделать функцию компрессии спрайтов. SCREEN_COMPRESSOR LAZY/ETC/RUSH написал великолепный комп- рессор экранов. Он выигрывает в среднем 100-400 байт на одном экране у "ASC SCRE- EN CRASHER'а" ! К дополнительным досто- инствам можно отнести довольно быстрый декомпрессор и то, что он не запрещает прерывания при выводе рисунка. У некото- рых ламеров руки не доходят убрать DI в начале DEPACKER'а, и пользователям прихо- дится "наслаждаться" тормозящей в момент декомпрессии музыкой. Возможно мы реали- зуем функцию компрессии не только всего экрана, а и компрессию окна. _ 7. FILE OPTIONS Реализован полноценный дисковый интер- фейс, позволяющий также быстрый просмотр экранов на диске. Изначально я хотел сде- лать стандартным форматом хранения файлов не обычные экранные файлы (6912b.), а за- пaкованные экраны без декомпрессора. Но, к сожалению, время компрессии оказалось довольно значительным и эту идею, навер- ное, мы не реализуем. Компрессированные экраны можно будет записывать как с депа- кером, так и без него, а затем выводить одним депакером все картинки (как с про- игрыванием музыки). Сразу могу пообещать, что извращаться с дисковыми операциями мы не будем, и они будут работать со всеми стандартными версиями TR-DOS. Это же я советую и всем производителям soft'а. Еще есть идея сделать возможность подвешива- ния к файлам текстовых сообщений. и быст- рый просмотр этих сообщений в редакторе. Сообщения могут быть как на русском, так и на английском языке. Чем, интересно, художники хуже музыкантов ? :-) Они тоже имеют право писать комментарии к своим работам ! Можно сделать считывание экра- нов с ленты, а также с дисков в формате MS-DOS и IS-DOS. _ 8. RESIDENT Будет реализована работа с резидентом, при помощи которого можно будет подвесить к редактору музыку, таймер и т.п. _ 9. PALETTE Функции INK, PAPER, BRIGHT, FLASH объе- динены вместе. Кроме того, имеется воз- можность быстрой смены текущих атрибутов, при помощи "горячих" клавиш. Текущие ат- рибуты постоянно отображаются в специаль- но отведенном для этого месте в главном меню. Очень интересный результат получа- ется при микшировании мескольких стан- дартных атрибутов. Таким образом можно получить множество нестандартных цветов. Это один из возможных способов расширения скудной палитры SPECCY. Многие из полу- ченных цветов (всего около 128) практи- чески не мерцают (не мигают). Что самое важное так это то, что данная возможность появляется при минимальных затратах ско- рости и памяти: Экран становится длиннее только на 768b, которые занимает дополни- тельная область атрибутов. Для получения FX'а мультиатрибутов достаточно просто перебросить за прерывание 768 байт атри- бутов. Поочередно подключается то одна, то другая область. Без проблем такие кар- тинки можно выводить даже под оцифрован- ную музыку, разместив рисунки в двух 128ых экранах. При этом на переключение экранов будет уходить несколько десятков тактов. _ Еще можно реализовать следующее: Возможность анимации прямо в режиме ре- дактирования экрана. Теперь отпадет необ- ходимость использовать спрайтредактор. При печати текстов на экран их размеры можно задавать от 1X1 до 8X8 знакомест. Можно попытаться реализовать режим "ре- зиновых" шрифтов, которые можно масштаби- ровать попиксельно и без потери качества изображения. Это можно сделать, храня шрифт в виде формул (линии, круги), затем можно масштабировать лишь базовые точки для этих букв. По понятным причинам все кривые всегда будут оставаться плавными. Если необходимы буквы толще, чем один пиксель, придется использовать заливку внутри букв - это может быть довольно тормознутым процессом. Возможно вы обращали внимание, что и в "ART-STUDIO" и в "ARTIST-2" заливка с глюками. Не верите ?! Тогда попробуйте залить весь экран текстурой в которой пикселя расположены довольно густо но с пробелами между точками. Затем попробуйте залить весь экран еще какой-нибудь текс- турой. Ну как ? Я знаю, как сделать за- ливку которая будет работать на 100% пра- вильно, но еще медленнее чем в "A.S.", возможно в несколько раз. Поэтому, по-ви- димому, придется делать два варианта за- ливки - один быстрый, но с возможными ошибками, другой медленный, но правиль- ный. Также можно реализовать функцию за- ливки не текстурой, а окном произвольного размера. Залитую область можно попиксель- но скроллировать во всех направлениях. Если очень постараться, можно будет реа- лизовать функции BLEND. Для тех кто не знает, что это такое, объясняю: BLEND - это подобие Морфинга. То есть Вы можете выбрать начальный и конечный объекты и просчитать нужное количество фаз преобра- зования от одного к другому, а затем раз- местить полученные кадры по определенной траектории. С помощью этого FX'а достига- ются интересные изображения, которые при рисовании вручную, отнимают невероятно много времени. Также, интересно может получиться функ- ция FOUNTAIN FILL (градиентная заливка). При помощи нее можно залить замкнутый контур с плавным переходом из одного тона в другой. Но то, что на AMMY делается при помощи богатой палитры, на Spectrum'e придется делать с помощью текстур. Еще можно попробовать реализовать функ- ции формульной графики. Такого я, кстати, не видел ни на ПиСюке, ни на AMMY. Я представляю это примерно так: user вводит начальные параметры (кол-во отрезков, кол-во фаз, X1,Y1.Xn,Yn, и тд, а прог- рамма по формулам строит синусоиды, дуги и т.д. Довольно легко реализовать и более сложные векторные фигуры, такие, напри- мер, как шарик в INSULT'е. Я вполне четко представляю, как это реализовать, но сов- сем не уверен, что буду этим занимать- ся. Конечно очень полезной и удобной была бы работа с узелками как в "COREL DRAW". Когда в любом изображении можно было бы определить ключевые места (узелки), и за- тем, перемещая эти узелки, можно было бы произвольно менять форму изображения, но опять же для реализации этого режима пот- ребуются немалые затраты времени (не про- цессорного, а моего !). Практически все, что есть в редакторах для "больших" машин можно реализовать на SPECCY, но одно абсолютно не реально: Есть всего одна вещь в писюшном "COREL DRAW" которую невозможно, даже при всем своем желании и умении, реализовать на Спектруме - это пошаговость сохранения изображения. А именно: например, вы в са- мом начале работы над рисунком начертили круг, затем Вы выполнили десятки других действий, написали поверх круга кучу текстов, и так далее, а затем, в любой момент, Вы можете выбрать этот круг и на- чать двигать его под остальными изображе- ниями, удалить, или, например, сменить его цвет. Также можно делать UNDO аж до самого первого шага. Все это возможно по- тому, что экран там хранится не в виде спрайта как на Спектруме, а в виде после- довательности формул. На SPECCY это абсо- лютно не реально, так как 3.5МГц и 128кБ недостаточно для такой роскоши. Но не стоит особо огорчаться! Представьте себе, как долго писюк перестраивает картинку, каждый раз выводя ее от самого первого действия и до последнего. Если на экране достаточно сложное изображение, то даже самый навороченный PENTIUM будет жутко тормозить. Конечно для пользователей PC это нормальное и обычное явление, но для нас, привыкших к работе на SPECCY - это невыносимое издевательство! _ Все это - далеко не полный перечень нов- шеств, которые планируется реализовать в программе. Также есть некоторые идеи, ко- торые мы считаем нецелесообразными и, по-видимому, не будем заниматься их реа- лизацией, а именно - возможность редакти- рования экранов с размером больше чем 256 X 192 пикселя (это, конечно, очень удоб- но, но, боюсь, памяти нам едва хватит да- же если экран будет стандартного разме- ра); встроенные редакторы MULTICOLORных и BORDER'ных картинок. Интересно мнение пользователей о необходимости этих функ- ций. Будучи художником, я не мог не уделить должного внимания дизайну программы. На- деюсь, Вам понравится внешний вид редак- тора. При создании программы мы стараемся использовать самые передовые демушные технологии кодинга. По возможности будет повышена скорость всех процедур редакто- ра. Конечно, Вам может показаться, что все, что мы хотим сделать в SOTA - испол- нить элементарно. Так оно и есть, если делать все в отдельности, но когда пыта- ешься влепить все это в 128кб, когда тре- буется соединить все процедуры между со- бой, вот тогда то и появляется куча ог- ромных проблем. Круто, конечно, в демках раскатывать один эффект на все 128 кб. Нам же приходится подбирать наиболее оп- тимальный вариант в соотношении СКО- РОСТЬ/ПАМЯТЬ. Поэтому, если вам покажет- ся, что что-то можно было бы сделать быстрее, подумайте, а сколько же это бу- дет занимать памяти. Нам и так пришлось выделить в памяти место, в которое по очереди будут декранчироваться наиболее критичные по времени процедуры. На данный момент написан интерфейс и некоторые функции, но основная масса ра- боты еще впереди. Сейчас над редактором работают: RUFF, SHADOW, SADMAN и я (VIATOR). Полезные советы нам давали: PANDA, SOI, IMP, SMASH BAND, DIGITAL REALITY, VBI, ROB F. Всем им огромный TNX ! Персональная благодарность LAZY из ETC за прекрасный компрессор экранов ! Особенно мы хотим получить отзывы и конкретные советы от следующих художников: KAMIKAZE FIL GFX Бобов Иван ROM TRACER программистов: Медноногов Слава STALKER RST-7 ALEM NICODIM групп: PETERS XL-DESIGN OUTLAND corp. BLACK SHARK NEW FLASH GOLDEN DISK дистрибьюторов: ИНФОРКОМ ЛОГРОСС MAGIC SOFT и др.