Так же об этой деме есть статья в международном журнале зарулем
https://zxdemos.ru/oldforum/misc.php?ac … download=1
ZXAAA → Обсуждение демонстраций → and i love you very much... - AAA/Fatal Snipe → Добавление ответа
Все поля, выделенные полужирным начертанием, должны быть заполнены.
Так же об этой деме есть статья в международном журнале зарулем
https://zxdemos.ru/oldforum/misc.php?ac … download=1
Рассказ о том как создавалось изделие:
[b]ZapilyatorErrors[/b]
[img]https://zxdemos.ru/oldforum/uploads/images/2/e7c37264ad0964428ad8368f3876505e.jpg[/img]
[b]Часто совершаемые ошибки при работе с Zapilyator[/b]
(Автор: ААА, опубликовано в газете ЗаRulem #16)
Годы работы с профессиональным инструментом Zapilyator ver.2 научили меня некоторым хитростям, которые помогают выпускать за сутки 2-3 части мегадемо или 5 простых демонстраций. Начнём пожалуй по порядку. Для примера возьмём весьма неудачную демонстрацию от группы NOT-Soft: «LYRIC DEMO»
[img]https://zxdemos.ru/oldforum/uploads/images/2/0fedd63d0acde649b47e6b69392f6920.jpg[/img]
Как мы видим и слышим музыка - тормозится, спрайт тетриса кривой и дерганный. Есть глюки в красной полоске - молнии. Тут явно что-то не так! Автор пьян... Я попросил автора демонстрации прислать мне исходники спрайтов. Итак, что же мы видим внутри организма?
Рука, фон...
Спрайт руки кидается 4 экранами спектрума (scr), причем женщина - мать не стёрта, а кидается тоже вместе с рукой. Автор видимо не в курсе, что женщина-картинка занимает 1/3 экрана и получается, что она ест 4 места картинки 6912 байт. К тому же автор отдельно от этого кидает Background экрана 6912 этой же женщины)) Удивителен мир приматов, но наши спектрумовские, это самые первые на земле индейцы!
Исправляем этот недостаток. Тут два пути: либо это сделать автоматически используя программу Какоса "Ficha":
https://cloud.mail.ru/public/rNqE/4csUzwaNd
Для работы с фичей все картинки-фазы переводятся в scr экраны и именуются 1,2,3.. Затем они кладутся в ту же папку где фича. Нажимается пуск фичи и указывается 1 картинка, потом нажимается старт. У вас отделяется спрайт движения от самого недвижимого бакграунда. Для трудных спрайтов это единственный способ изготовления подобных фаз спрайтов. Например, дема Мопас делалась фичей. Моя дема KEY DEMO, часть с пиратом и попугаем делалась фичей! Это наисложнейшая работа, которую нельзя сделать руками. Например, в части с попугаем 130 полноэкранных фаз спрайта. И выделить их руками не смог бы даже piesu )) Но ААА смог!
[img]https://zxdemos.ru/oldforum/uploads/images/2/ae44fe932b76dd42238eaf7686ad711f.jpg[/img]
Фон деда пишущего пером и с попугаем
[img]https://zxdemos.ru/oldforum/uploads/images/2/de838b0e86c297a2fee6276a438fc6cc.jpg[/img]
Выделенный фичей спрайт
В нашем случае проще работать руками "на глаз". В связи с тем, что Фича Какоса перестала работать с очередным апдейтом моей Windows 7. Итак, я делаю это руками, тем паче у нас всего 4 фазы картинки и в принципе это не трудно. Сначала я должен сделать разметку с помощью сетки:
[img]https://zxdemos.ru/oldforum/uploads/images/2/4a73d6b55e0d1321af6c453a13bc71f3.jpg[/img][img]https://zxdemos.ru/oldforum/uploads/images/2/d12e30722601ce5e9cd9c66ff44001ac.jpg[/img]
Разметка сделана. На глаз определена граница движения руки, теперь просто обрезаю сам экран от руки по границам знакомест. Главное, чтобы спрайт совпадал по отмеченным границам знакомест. В результате мы получаем 4 маленькие ручки, которые влезут в первую банку памяти и не будут глючить. Это хорошо! Потому что нам понадобится много места чтобы сделать эту демонстрацию. Одновременно отрезаю лишнюю руку от картинки-фона женщины. На экране она нам не нужна, потому что выводится спрайтами, а лишние байты памяти не помешают!
[img]https://zxdemos.ru/oldforum/uploads/images/2/45f1c3751aaa48fb4e6c8a1f32678c81.jpg[/img]
[img]https://zxdemos.ru/oldforum/uploads/images/2/2f377f2192b8a21c15ef035af581832b.jpg[/img]
[img]https://zxdemos.ru/oldforum/uploads/images/2/f0ec5db1336d97e43c026021f0354c33.jpg[/img] [img]https://zxdemos.ru/oldforum/uploads/images/2/bf1c176691ee66c67c1b9869085ac698.jpg[/img]
Теперь спрайт тетриса готов, а ААА потерял фактически час жизни. Спрайт тетриса огромный, ему нужна только 3-4 банка памяти, а он ест много памяти. Загнав спрайт руки, музыку, заставку и 2 картинки scr фона у меня осталось всего 36 килобайт на молнию. Ужас, как с этим жить!
Молния.
Раскрыв молнию, ужаснулся ещё больше. У автора кидается 50 экранов scr формата! Уже хотел бросить это дело... Ведь чтобы перевести 50 экранов спектрума в 50 PNG экранов необходимо каждый из них тыкнуть рукой и дважды указать путь в программе bmp2scr. Я потерял еще 30 минут времени. Потом закатал молнию в спрайт и прогнал в гиф анниматоре, удалив лишние точки в меню Оптимизация. Я напишу это дважды! Я прогнал спрайт в гиф анниматоре и удалил лишние точки в меню оптимизация! Это самое важное и самая распространенная ошибка всех запильщиков на этой планете, кроме ААА. Вот пример того, что надо сделать, на рисунке показано где надо убрать галку, каждый раз когда вы сохраняете спрайт для запилятора, даже если вы делали это до этого момента, всё равно делайте. При повторной загрузке спрайта под правку снова и снова! После реоптимизатора Nyka тоже делайте!
[img]https://zxdemos.ru/oldforum/uploads/images/2/59b1789882f46407d4726feb554e77e9.jpg[/img]
Только убрав галку вы гарантируете, что спрайт не будет глючить и в памяти он будет занимать столько места, сколько весит, а не с учетом Ваших глюков. К тому же в меню «Цвет палитры» следите за тем, чтобы у Вас был цвет черный и белый. Причем черный 255 и белый 0, без оттенков.
Теперь пробую впервые запилить дему по параметрам:
Музыка Fatal Snipe - 1,7 килобайт;
Картинка заставка - 6912 байт;
1 банка медленной памяти: две картинки scr фона с разными знакоместами цвета в zip архиве;
2 банка медленной памяти: спрайт руки (до 2 на 2 знакоместа) глючить не будет!;
3 банка быстрой памяти - спрайт тетриса;
4 банка быстрой памяти - спрайт молнии...
Дехайпинг...
Не хватает памяти. С болью в сердце сокращаю спрайт молнии в минус 25 фаз, то есть сокращаю ровно в два раза от 50 фаз, увеличив скорость прокрута, для того чтобы видимая разница была минимальна. Снова закатываю в банки по тем же параметрам и получаю в остатке 3 килобайта. Дема готова, всё летает и не глючит.
[img]https://zxdemos.ru/oldforum/uploads/images/2/efd30ccbbcbaf6f943cdb0e2d2fd24fa.jpg[/img]
Спрайт тетриса работает как часы, спрайт молнии стал еще лучше, за счет того что я меняю цвета, кидая в zip архиве две картинки фона. Для справки 1,2,3 и даже 4 картинки scr в zip архиве как спрайт, занимают меньше места чем 1 картинка подсоединяемая как фон демы в меню backgraund. Это секрет запилятора, пользуйтесь им для экономии памяти. Если не хватает 5-6 килобайт, кидайте фон в банку №1,2,3 или 4 в zip архиве. Экономия ощутима. Там же можно менять скорость прокрута картинок и добиваться нужного цвета мультиколора. Можно сжимать даже одну scr картинку в zip архив и кидать её как спрайт в первую банку. Ваш фон будет занимать 1 килобайт, а не 6.
Как ещё экономить память в Zapilyatior ?
1. Экспериментируйте с банками памяти, меняйте местами спрайты. Проверяйте дему в спекакуляторе. У Nyuk есть один глюк!!! При первом запуске демы в Унреал срабатывает Турбо режим и все что вы сделали видите в режиме 7 мегагерц. соответственно не видны ваши глюки в спрайтах. И мультиколор отображается не так как в реале. Обязательно запускайте после сжатия демы в trd образ в эмуляторе спекакулятор!!! Три раза говорю, в спекакулятор запускайте! Там сразу видно как работают Ваши спрайты и какого цвета мультиколор.
2. Иногда для экономии памяти можно отрезать кусочки - вступления мелодий. Экономит немного, но все же. Резать в Vortex Tracker. выделяете что отрезаете, правая кнопка мыши и delete. Для постановки первого куплета мелодии надо нажать L, на этот L куплет будет закругление проигрывания мелодии.
3. Не забывайте удалять лишние точки в меню оптимизация в GifAnnimator.
4. Убирайте заставку, она много ест памяти, фактически 6912, т.к. не сжимается Нюком. И потом запуск через заставку уже утомил.
5. Скролл запилятора ест беспредельно много памяти. Проще нарисовать его фазами в 1 знакоместо. При этом текст можно писать бесконечно. Все подсовывается в 1,2 банки памяти и летает. Я использую шрифты Art Studio, пишу там необходимые фразы, а затем по специальной сетке накладываю слова. Сохраняя фазы - фразы.
https://cloud.mail.ru/public/KqrH/K64LxBuEL
Потом в гиф аниматоре удаляю, вернее меняю серый цвет на белый и остается только белый фон и черные буквы. Сетка наносится на экран бакраунд со всем рисунком, позволяет точно определять места где скролл не будет пересекаться с спрайтами эффектами и картиночным рисунком. Эта хитрость позволяет писать скроллы в 100-200 фаз всего за 1 час вместо потери на это суток.
[img]https://zxdemos.ru/oldforum/uploads/images/2/1fe61724e835a5f360cec62ac24e3b88.jpg[/img] [img]https://zxdemos.ru/oldforum/uploads/images/2/df99002584d10cbe1208eed325e36f81.jpg[/img]
Потом в гиф аниматоре удаляю, вернее меняю серый цвет на белый и остается только белый фон и черные буквы. Сетка наносится на экран бакраунд со всем рисунком, позволяет точно определять места где скролл не будет пересекаться с спрайтами эффектами и картиночным рисунком. Эта хитрость позволяет писать скроллы в 100-200 фаз всего за 1 час вместо потери на это суток.
[b]and i love you very much...[/b] - AAA/Fatal Snipe
https://zxaaa.net/view_demo.php?id=9017
[img]http://zxdemos.ru/oldforum/img/posts/posts_18/4097.png[/img][img]http://zxdemos.ru/oldforum/img/posts/posts_18/4097_2.png[/img]
ZXAAA → Обсуждение демонстраций → and i love you very much... - AAA/Fatal Snipe → Добавление ответа