(от ААА - это очередной крик души спектрумиста нарика, который в гогле нащупал что спектрум все это время был жив и понял что он потерял многое...)
Решил и вас приобщить к этому виду компьютерного искусства. Сам я в нём с 1993го, вник и мгновенно полюбил с первых же демок ещё на спектруме.
Что это такое? Прежде всего это программы. Создающие различные спецэффекты и реализующие недокументированные возможности устройств, на которых запускаются. Сперва были только кодеры, затем к ним стали добавляться музыканты и художники, создавая демо-группы. Теперь это больше напоминает видеоклипы, но все эффекты рисуются в реальном времени, как в играх.
Когда это началось? С первых пиратских взломов программ. Кракеры (ломающие проги; хакеры ломают сети, а фрикеры- железо), вскрывая и убирая защиты от копирования, писали свои загрузчики, в которых выводили на экран нестандартным графическим шрифтом свои никнэймы. Со временем добавлялись эффекты- скроллинги, синусуэйвы, примитивная графика, звуки с музыкой.
Зачем это нужно? Чтобы запускать и смотреть! Что такое эстрадная сцена знают все, и как на неё сложно пробиться тоже. В демосцене же может участвовать любой школьник, имеющий компьютер и желание творить что-то своё, неординарное. Каждое лето проводятся несколько демопати, в которых показывают эти творения многотысячному сборищу таких же демосценеров и выбирают победителей, вручая призы. Вся демосцена от написания до показов абсолютно некоммерческая. В ней царит творчество, а не нажива. Демы можно скачать с сайтов групп или общемировых сайтов- хранилищ демок.
Что делал я? В эпоху спектрумов и атари программы и игры грузились с кассет. На одной 90мин помещалось до 30, а у турбованной атари- до сотни. Производители же естественно выпускали кассеты с куском ленты только под свою программу. Причём тщательно защищая, чтобы нельзя было переписать её на обычном, и даже студийном, двухкассетнике. Я с другом Миллером написали прогу, позволяющую копировать такие кассеты через порты компа в реальном времени. Это позволило создавать сборники на кассетах. Которые мы и продавали на радиобазаре в столице. Делать просто сборники нам быстро надоело, и мы решили кракать сами игры. Вот тогда и начался мой демо-мэйкнг. Был найден и изучен священный для кодеров-спектрумистов фолиант "Полный дизассемблер ПЗУ системы Спектрума" от Яна Логана и Фрэнка О-Хары. Ассемблеры были тогда редкостью и мы всё писали в чистых мнемониках. Придумывал перекодирование шрифтов, например: сдвинуть верхнюю часть вправо, чтоб получить курсив; утолщить сдвигом с наложением по OR нижнюю половину; тройными циклами растянуть символы по высоте или ширине и тому подобные. Стандартные шрифты были 8х8 точек. Когда научился программировать динамик добавил звук- каждый символ печатался с определённым тоном, зависящим от кода буквы. Напоминало звуки R2D2 из Звёздных войн. Этот текст выводился во время загрузки заставок- мой ник, дата, телефон, обращения, приветы... Писал видеоэффекты для вывода заставок, писал примитивные архиваторы, начинал писать прогу сжатия видео, принципы которой через пяток лет увидел в кодировке MPEG. После загрузки на моих заставках выводилось меню с выбром безконечных жизней, припасов, и подобные игровые взломки.
Со временем на смену им пришли флоппи-диски 5ти и 12ти дюймового калибра. 12" быстро отошли, потому как носить и хранить такие "лопухи" аккуратно было очень сложно. На диск влазило примерно в 2-4 раза меньше, чем на кассету. Но грузилось всё гораздо быстрее. С ними пришло такое понятие, как "дискофикация"- взлом штатных защит кассетных загрузчиков и написание своих, под систему TR-DOS. Но очередной переезд прекратил эту мою деятельность.
На новом месте был куплен первый интеловский PC на 75МГц пентиуме. На нём продолжилось изучение исходников демок, писанных уже на высоких языках- паскале и си. В то время проги передавались либо дисками, либо по некоммерческой сети ФИДО. Каждую новую демку ждали месяцами, было их очень мало- десятки. Пока не появилась дема Second Reality, с которой и начался настоящий бум демосцены. Эта дема была настолько прорывной, что даже инженеры с программерами не понимали как такое возможно. Каждый мало-мальский кодер хотел написать что-то подобное, хотя бы один из её эффектов.
http://www.pouet.net/prod.php?which=25494

Графика, как результат кодирования, в демках рисуется в реальном времени. Циклами математических и тригонометрических формул, вращениями и преобразованиями многомерных матриц, векторами, шейдерами, тексельными полями и воксельными поверхностями, бампмаппингами, рэйтрэйсингами, моушнблюрами, фракталами и поличислами.. перечислять долго, 40-50 алгоритмических приёмов знаю только я, а их уже в десятки раз больше. Некоторые демки могу описать полностью, другие могу представить какими способами реализованы, а некоторые вообще не могу понять как возможно было создать и как это работает. Каждая демка для меня- как фокусы. Простые, сложные и невообразимые. Так как многие демы реализованы под Direct-X или Glide, и имеют нативный z-буфер, их можно смотреть в режиме стерео обладателям шторочных или анаглифных очков. Также как в играх. На разных видеокартах демы могут выглядеть по-разному из-за разных версий шейдеров, антиалайзинга, функций акселератора. А могут не выглядеть никак, банально не запускаясь. Если у геймеров очередной апгрейд подстраивается под новую игру, то у кодеров- под демы. Первые апгрейды, до выхода Gothic 3, у меня так и происходили.
Музыка тут тоже необычная- трекерная. Это и свои форматы- mod, stm, s3m, xm, и принципиально иные способы написания. Создаётся она в программах-треккерах. Которые представляют собой многодорожечные программируемые модули сэмплов и эффектов. На выходе- партитуры для каждого инструмента, тайминги и свойства эффектов, и сами сэмплы в одном файле. В первых трекерах, чтобы писать в них музыку, мало было иметь музыкальное образование- надо было быть ещё и программистом, чтобы описывать всё это командами и параметрами с клавиатуры. Также как видео, звук в демах генерируется собственными синтезаторами в реальном времени. Сносно их воспроизводит даже винамп. В эпоху доса были программы-рипперы, выдирающие из демок музыку. Так собирались сборники трэкерной музы на дисках в цифре и даже в аналоге на кассетах. Порой их писали даже популярные в 90х студии звукозаписи. Также вы могли слышать такую музыку в старых играх и кряках к софту. Называется она по-разному- компьютерная, синтезаторная, восьмибитная. 8 бит- не частота дискретизации сэмплов, а плавность огибающей сигнала. Хотя это справедливо только для старых форматов треков. Но мало того, что в демах синтезируется музыка- в последнее время появились даже поющие демы с синтезатором голоса. За счёт кодирования трекерная музыка малообъёмна- обычная композиция в 5-7 минут весит 300-500килобайт. Есть и такие виртуозы, умудряющиеся запихнуть даже в 1-2кило трек с несколькими инструментами.
Рисунки, шрифты, видео, если есть в команде художник, тоже обязательно рисованные на компе. Рукописные и фоты не приняты, но иногда встречаются вне конкурсов.
Приветы- неотъемлимая часть дем. Обычно в конце каждой следуют имена людей и команд- выражая им респекты и гритингсы. И пусть вас не пугают латинские символы в именах и текстах- примерно треть кодеров и демок- наши, русские.
Выход обычно эскейпом. От пауз и перемоток приходится отвыкать- это не фильмы. Хотя для флэш-дем, которые я буду выставлять это возможно в плеере Антона- http://www.vector-ski.ru/vecs/soft/arfl ... r_full.zip (с флэш-кодеком) и http://www.vector-ski.ru/vecs/soft/arflashplayer.zip (без). Их можно скачать отдельно с форума и запускать на смартфонах, кпк, планшетах и электрокнигах- весят они обычно несколько мегабайт.
Ну и чтобы прочуствовать трекер во всей красе- я выбрал дему superpowergirl от команды kone creations:
http://www.pouet.net/prod.php?which=10583

Математика в демках- наиболее красивое зрелище. Первыми эффектами были "синусы"- так звались все эффекты, завязанные на вычислениях и отображениях тригонометрических функций. Чтобы нарисовать круг- надо было по формуле вычислить точку для каждого градуса окружности. Затем появились трёхмерные графики функций, создающие волнообразные объекты. На моём спектруме рисовалось по часу монохромная функция при разрешении 256х172 точек написанная в бейсике. Дальше все точки объектов стали загонять в многомерные массивы и вращать матричными преобразованиями и морфингами.
На эпохе 486х машин появились первые демы с отображением фрактальных множеств Жулиа и Мандельбротта, что тоже представляло алгоритм рисования проекций или срезов этих математических образований. Теперь же количество фракталов безгранично выросло, их создают на спецпрограммах, обсуждают на спецфорумах новые формулы и алгоритмы. Сложность фракталов тоже значительно возросла с вычислительной мощью машин, и теперь в реальном времени демки рендерят вот таких мозговзрывных цифровых множеств современной математики:
https://youtu.be/g1wq3Rapelk
https://youtu.be/F8vpoUyc3H0
Размеры дем тоже самые разнообразные и различаются на порядки.
Свою коллекцию, помимо команд разрабов и типов работ, я отсортировал именно по типоразмеру.
Мегадемы весят от единиц до сотен мегабайт. Собранные в единую прогу с определённым сюжетом от нескольких до десятков эффектов и анимаций. Музыка зачастую уже не трекерная, а обычный mp3 или ogg. Объём чаще всего занимают высокополигональные модели и текстуры большого разрешения. Размер их никак не регламентируется.
128Кб - старый формат, ныне почти не используемый. Был основан на максимальном объёме оперативной памяти второго поколения спектрумов, атари и амиг. Адресация памяти была постраничная, поэтому демы рубились на несколько частей с паузами типа "press any key for continue".
64Кб - объём, наиболее частый для типа интро. Также как демы имеют длинные сюжеты на несколько минут.
4Кб - самый древний типоразмер, обычно применяемый для демонстрации пары-тройки новых эффектов, ещё не вошедших в полновесные демы. Последнее время благодаря шейдерам и паковщикам умудряются вместить даже музыку. Для примера такой же объём у смайла :good:
8Кб - очень редкий формат, на конкурсах не участвует, мало отличается от 4Кб.
512, 256 и 128 байт - это уже шедевры виртуозного программирования и оптимизации. Чаще всего один зацикленный эффект, основанный на многоцикличной математике. Например, верчение или зуминг фракталов.
Проводимые постоянно по всему миру конкурсы имеют отдельные номинации для каждого типа. Работы не принимаются на конкурс, если размер больше стандарта даже на 1 байт.
Лучше всех передаёт содержание 64 килобитных интро первая поделка под шокуэйв от команды evoflash.
https://youtu.be/iRkZcTg1JWU
https://youtu.be/qZJVL-coPug
https://youtu.be/avITFnCapSc