1

Решил написать небольшой цикл постов на тему как написать говнодемо. Сразу предупреждаю тут все мое имхо и все что я могу тут советовать или писать как правильно может вполне может быть полито поносом, я не только не против но даже за, это забавно зачастую. Не переваривающих меня сразу жмите "Активные темы", поберегите свои нервы. Тут не будет сложного кода, по возможности разные части будут в разном стиле, графики и анимации также не будет. Что же будет? Будет путь от идеи до готового эффекта, несколько не связанных в начале частей, инструменты для запуска, фикса под музыку, по возможности объяснения то что и для чего делается и как придумывается.
Итак для начала с самого простого и дающего сразу результат. Будем делать эффект со звездочками типа тех которые были популярны в 90-ых. Почему звездочки а не 3д какойнить или атрибуты? Фиг знает, я первый эффект написал с точками типо такого и мне кажется для начала это просто и понятно. Будем писать в олдскульном стиле с декранчерами и ванфрейм конечно.
Минимально напряжем мозг с пальцами и напишем орг, не так, стираем его нахуй. До орга нам нужен основной цикл, это самое приятное в демо, то над чем прикольно проводить холодные вечера до включения отопления, когда ваши знакомые пялятся в телек а вы разминаете уже наполовину трухлявый мозг. Итак наш кандидатКод:ld hl,0add hl,bcld (0),hlld e,hld h,high tabld d,(hl)inc hld a,(hl)inc hld l,eor (hl)inc hld e,apush deld a,(de)or (hl)ld (de),a

Вроде все просто, скорее всего нечто подобное используется в 90% эффектов с пикселями. Тут наверное стоит сказать, старайтесь никогда не смотреть чужой эффект с целью сделать так же круто или просто выдрать готовый. Ваши извилины вам этого не простят, если он сложен вы просто не поймете, а если простой вы лишите себя удовольствия от процесса (исключение эта тема:))

У нас есть основной голый цикл, смотрим сколько он занимает байт и сколько ест тактов. Тут 22 байта и 121 такт. Прибавте к нему стиралку за 17 тактов и 2 байта и получим 138 тактов и 24 байта на точку. На 256 точек будет 256*138~35+к тактов и 6 кбайт. Подходит, от фрейма остается еще куча времени и памяти валом. Не торопясь пишем обвязку. Тут есть тонкость. Я стараюсь писать эффект без основного цикла. То есть вызвали инит, а потом каждый фрейм вызываем шаг эффекта ничего не передавая ему, это очень пригодится при подвешивании таких эффектов на прерывание. Забегая немного вперед скажу что при сборке и синхронизации это ппц как упростит вам жизнь.
[img]http://zxdemos.ru/oldforum/img/posts/posts_19/5365.png[/img]
Сурс и снап
Ну вот что то работает. Траектория движения проста как советский вентилятор, 2 скорости и хуй поймешь че происходит. Ну что же желающие могут это поправить. Эффект получился микроскопический прокатил бы под 512б интро. Можно добавить разные траектории в том числе динамические, сделаю это позднее. Все было написано за 1 вечер и еще 1 вечер ушел на этот пост. Если что интересно или не понятно спрашиваем, предлагаем, если не интересно то тоже можно ченить написать.
На следующей неделе будем делать другой эффект, что будет пока не знаю.

2

[quote="krt17"]

На следующей неделе будем делать другой эффект, что будет пока не знаю.

полоски через весь экран (для начала можно статичные)

звёздочки понравились.
вроде простенько, но завораживаютОтредактировано GoodBoy (2016-09-16 20:14:17)