Демосцена
»… особую пикантность придаёт тот факт, что всё это по сути бессмысленно…»
/ sq/skrju /
Чаще всего, попытки объяснить людям, что такое «демосцена», начинаются со слов «компьютерное искусство…». Однако, даже по вопросу о том, что такое искусство, во все времена не было единого мнения. Явление, о котором пойдёт речь, называют искусством скорее в том смысле, в каком говорят об искусстве токаря или плотника, а не скульптора или художника. Что, конечно, не означает, что одно хуже другого.
Слово «демосцена» («demoscene») мало того, что не переводится на русский язык, но даже и на английском имеет не вполне очевидный смысл. Если со словом «demo» всё интуитивно понятно — оно происходит от слова «demonstration» («демонстрация»), то со словом «scene» всё куда сложнее. Своим появлением оно обязано вовсе не театру, как могло бы показаться, а возникшей в конце 1970-х практике нелегального распространения и взлома программного обеспечения, главным образом — компьютерных игр.
Добытые (по существу — украденные) и взломанные игры и другие программы на жаргоне сообщества назывались варезом (warez). Сама же субкультура называлась warez scene («warez» от «softWARE») или, сокращённо, просто «сцена». Основной идеей было соревнование между людьми и группами людей в максимально быстром нелегальном распространении «релизов» (от «release») поступившей в продажу игры и / или её взлому — с целью снятия защиты от копирования, добавления «бесконечных жизней» и т.п.
Эта деятельность, конечно, сопровождалось общением, появлением специфического жаргона, своих традиций и героев — к примеру, визиты ФБР были предметом особой гордости, однозначно придавая занятию налёт романтики.
В 1982 году появился недорогой, но удачный, в плане графики и звука, домашний компьютер — Commodore 64. Он был чрезвычайно успешен (продано 22 миллиона штук) и для него очень быстро было написано множество игр. Ввиду этого обстоятельства, а также благодаря некоторым, чисто техническим, особенностям, Commodore 64 стал той платформой, на которой появилось и расцвело явление демосцены.
(компьютер Commodore 64 с дисководом C1541)
Естественное желание признания и славы требует, чтобы нелегально распространяемые игры были подписаны и все знали, какая команда сделала это первой, либо более качественно, нежели конкурент. Первое время, до появления модемов и сетей, игры записывались на дискеты, которые затем пересылались по обычной почте (люди, которые за это отвечали, назывались «swappers»), либо распространялись на специальных мероприятиях — «copy party».
(5.25» диск для C64, с сопроводительным текстом)
Хотя дискеты всячески разрисовывали — по типу граффити, символикой групп — это не очень хорошо работало как подпись, поскольку содержимое дискет многократно копировалось и перезаписывалось на другие. Так что, первым очевидным решением по отделению подписи от физического носителя стало оформление символикой директория дискеты — названия файлов выполнялись из символов псевдографики. Однако это работало, понятно, только лишь для тех случаев, когда дискету копировали целиком.
(директорий диска оформленный символами PETSCII)
Следующим шагом стало встраивание подписи непосредственно в саму игру — при её запуске выводилась надпись вида «CRACKED BY …», «DISTRIBUTED BY …», «TRAINED BY…» и т.п. Поначалу эти надписи выводились стандартным шрифтом и были одноцветными, но очень скоро их стали красиво оформлять — например, шрифтом, заимствованном из самой игры, делать переливающимися.
(Простые текстовые заставки к взломанным играм)
В какой-то момент к надписи начали добавлять картинку с символикой группы и скроллящийся (от «scroll» — прокрутка) текст-послание, адресованный, преимущественно, группам-конкурентам. Такое сочетание скролла и эмблемы стали называть интро («intro» — от слова «introduction»). Занимали такие интро обычно около 1 кб — вместе с музыкой, шрифтами и графикой.
(Screenshot из интро Ikari для взломанной игры 3D International Tennis. 1990)
(Интро группы World Cracking Federation к игре Block Out. Размер около 1 кб. C64. 1990)
Авторы, создававшие интро, называли себя кодерами («coder» от «code»), по-видимому противопоставляя себя программистам, чтобы подчеркнуть специфическую, более низкоуровневую, требующую большей виртуозности владения инструментом, суть своего занятия — это касалось как взлома и снятия защит, так и написания интро.
Быстро выяснилось, что интро и само по себе является показателем крутизны группы, что привело к их усложнению — визуальные эффекты становились всё более сложными и впечатляющими, появилась музыка — поначалу заимствованная из игр, а затем и оригинальная.
Если простые надписи к играм было добавить технически несложно, то с появлением полноценных интро ситуация изменилась. Хорошая игра нередко занимала всю доступную память компьютера (в Commodore 64 это порядка 50 килобайт), поэтому разработчики интро стали создавать специальные упаковщики и распаковщики. Взломанная/скопированная игра сжималась, к ней добавлялась интро. При запуске игры интро запускалась и, по завершении работы (обычно, по клавише пробел) распаковывала и запускала саму игру. Часто, в целях экономии, при работе распаковщика использовалась экранная память, поэтому процесс сопровождался характерным мельканием на экране разных символов.
Нередко при запуске игры можно видеть не одну, а несколько интро, которые последовательно распаковывают и запускают друг друга. Это связано с тем, что каждая команда, к которой попадала игра, вносила свою лепту. Кто-то распространял игру на территории определенной страны, кто-то делал в ней бесконечные жизни, кто-то вносил усовершенствования. К примеру, часть игр в США выпускалась только для Commodore 64 с видеоконтроллером NTSC, а для запуска на компьютерах с видеоконтроллером PAL требовались переделки.
Таким образом, каждая группа получала свой заслуженный кусочек славы, имела возможность рассказать о себе.
Тем не менее, понятия «демосцена» на том начальном этапе ещё не существовало — всё перечисленное было органичной частью варезной сцены. Следующим шагом стало отделение интро от игр.
Практика распространения интро в виде отдельных программ возникла, конечно, не внезапно. Обычным делом при распространении полнодисковых игр было добавление на диск так называемого нотера («noter» от «note» — записка). На C64 не существовало распространённых текстовых редакторов, да даже при их наличии никто не стал бы тратить минуты на загрузку такого редактора с другого диска каждый раз, когда нужно прочитать условный readme файл.
Нотеры же представляли собой программу, при запуске которой на экран выводилось текстовое сообщение на одну или несколько страниц, при этом текст нередко выводился каким-либо визуально интересным способом и красивым шрифтом, иногда с фоновой музыкой. Некоторые нотеры имели режим, в котором прочитавший сообщение мог написать своё и сохранить в виде такого же нотера. Позднее также получила развитие идея полноценных сценерских электронных журналов (diskmags).
(Screenshot нотера для C64)
Исторически, однако, более значим момент, когда люди стали задумываться над самостоятельной ценностью интро. Их просмотр доставлял эстетическое удовольствие — в плане музыки и красивых шрифтов, эффектов, а также вызывал интерес в плане чтения скроллов и гадания, как именно реализован тот или иной интересный эффект.
Время от времени на дисках стали встречаться, наряду с музыкой, коллекции интро, надёрганные людьми из разных игр, в результате чего авторы интро стали и сами иногда выпускать их в качестве самостоятельного продукта. Однако, это были всё еще интро или, как их стали называть существенно позднее — «крактро» («cracktro» от «crack» — взлом).
(Крактро группы Gamma Cracking Force к игре To Be On The Top. C64)
Вряд ли мы когда-либо узнаем, кто сделал первое классическое самодостаточное демо («demo» — от «demonstration») состоящее из нескольких частей — тем более, что файлы тогда не имели даты создания в силу отсутствия в компьютерах часов реального времени.
Скорее всего, оно представляло собой просто коллекцию из нескольких уже существовавших чьих то интро, запускавшихся одно за другим по нажатию клавиши пробел — точно так же, как ранее осуществлялся переход от интро к игре.
(Демо Wonderland IX by Censor Design для C64, 1992) (Демо Place in the Space by Taboo. C64. 1992)
Для всех демо тех времён такой подход являлся стандартом, что дополнительно было обусловлено необходимостью длительной подгрузки очередной части с диска.
Современные демо, как одно сплошное действие без остановок, появились позднее, а тогда было достаточно обычным, если демо состояло из 5–10 частей в каждой из которых что-то достаточно нудно ползло, прыгало или скроллилось под музыку (хотя, разумеется, в то время это нудным не казалось).
Демо стали появляться на уже упоминавшихся copy party — люди собирались и не только копировали друг у друга софт, но и смотрели, кто что интересного создал. Напомню, модемов и сетей на домашних компьютерах тогда практически не было.
(Copy party, 1980-е)
Хотя такие сборища были по смыслу близки к появившимся позднее демопати («demo party»), первое время никаких конкурсов по чётким правилам не проводилось. Да и понимание, что такое хорошо и что такое плохо — было весьма своеобразным. К примеру, использование музыки и шрифтов надёрганных из игр не осуждалось, а вот использование кусков чужого когда и повторение эффектов увиденных в чьей-то демо или интро — считалось довольно позорным явлением.
Из-за слабого железа тех времён, создание как интро так и демо требовало высокой квалификации — знания ассемблера, тонких особенностей работы аппаратуры, в том числе не описанных в документации. Поскольку интересовались демосценой тогда тоже лишь люди «в теме», они оценивали не только художественную составляющую и сюжет, но и то, насколько эффективно были использованы возможности компьютера, так что авторы старались выжать из железа максимум возможного и обнаружить его неизвестные ранее и недокументированные возможности.
По размеру типичное демо на Commodore 64 занимало сторону диска, около 144 килобайт, или две — в этом случае диск требовалось перевернуть. Интро же варьировалось от 1 до 15 килобайт, хотя разница была не только в размерах — демо, в отличии от интро, состояло из нескольких частей, которые могли подгружаться с диска последовательно. Типичным набором эффектов в разных частях были различные скроллы текста, «плазма», очень простые 3D эффекты.
Чтобы максимально поразить потенциального зрителя, авторы не только писали эффективный код, но и различными способами — за счёт обмана зрения и игре на особенностях восприятия, выдавали простые эффекты за более сложные — примитивные преобразования за ресурсоёмкое 3D, малое количество цветов за большое, трёхканальную музыку за многоканальную и т.д. Такие вещи стали возможными благодаря неинтерактивности демо — зритель не может управлять тем, что видит, а потому его восприятием можно манипулировать, подчёркивая одно и скрывая другое.
Интересно что, несмотря на техническую близость создания демо и создания игр, разработчики игр, как правило, пренебрежительно относятся к демо и не понимают смысла этого занятия. Тому есть две причины — упомянутая неинтерактивность демо и невозможность получить от этого какой-либо доход.
Несмотря на то, что демо — это всегда именно программа, художественный аспект играет в них очень большую роль. В этом плане демосцена в то время основывалась преимущественно на молодёжных западных субкультурах.
Символика и шрифты вызывают явные ассоциации с граффити и с постерами рок-групп.
Многие эффекты — такие как горизонтальные цветные полоски, переливающиеся разными цветами и бликами логотипы, цветовое оформление шрифтов — воспроизводят эффекты, типичные для аналоговых систем, с помощью которых в 1970-е создавались телевизионные заставок и титры (в первую очередь это Scanimate).
(примеры рекламы созданной при помощи Scanimate)
Также, очень сильно на стилистику интро и демо в прошлом влияли технические особенности видеоконтроллеров, из-за чего по типичным работам узнать компьютер, для которого они написаны — довольно легко.
В случае с Commodore 64 это, в первую очередь, использование горизонтальных цветных переливающихся полосок, сложные гладкие скроллинги в разных направлениях в пределах одного экрана, подсветка частей изображения разными цветами, элементы изображения за границами стандартного экранного поля.
(intro Blue Dreams by Mute 101. C64. 1989)
Музыка в демо чаще всего заимствовалась из поп-культуры, кинематографа и классики, либо основывалась на таковой. Такой музыкальный фон больше подходит для длительного прослушивания во время чтения скроллящихся текстов и зацикленных эффектов, чем какой-нибудь условный heavy metal. Кроме того, сказывались технические ограничения аналогового синтеза на некоторые звуки — в частности, барабаны и гитары.
По мере развития субкультуры, сформировались целые демогруппы (demo groups). Создание демо стало не просто дополнением к распространению и взлому софта, а основным смыслом их деятельности.
Обычно в состав демогруппы входили, помимо кодеров (coders) и распространителей продукции (swappers), ещё художники (graphicians) с музыкантами (musicians) и даже организаторами (organizers).
Несмотря на то, что существенную часть демо, по аналогии с интро, составляли различные скроллы с текстом, скомбинированные с повторяющимися эффектами, изменение формата и увеличение допустимого размера вскоре повлияло и на содержание демо. Появились части явно навеянные сюжетом кинофильмов, политикой и даже популярными товарами и продуктами (однако, без тени рекламы).
(демо Red Storm by Triad. C64. 1992) (демо Crest Light by Crest. C64. 1992) (демо Star Wars by Censor Design. 2018)
Почти все 1980-е конкурентов Commodore 64, как платформе, на демосцене практически не было, хотя конечно демо появлялись и на других компьютерах.
К концу 1980-х был выпущен компьютер Commodore Amiga, что ознаменовало следующий этап развития демосцены. К тому моменту демосцена была уже вполне оформившимся явлением — демо писали множество людей по всему миру (преимущественно в Европе и, в меньшей степени, в США), выработалась единая терминология и понимание смысла этой деятельности.
Несмотря на формально ту же компанию-производителя, Amiga была совершенно другим, относительно Commodore 64, компьютером — более мощным, с другой архитектурой, заимствованной у сторонней компании. В частности поэтому словом «Commodore» обычно называют Commodore 64, а словом «Amiga» — Commodore Amiga.
(Commodore Amiga 500)
Несовместимость каждой следующей платформы с предыдущей в те времена была вполне обычным явлением и никого не удивляла. Весь софт для Amiga создавался с нуля, однако часто это делали люди пришедшие с C64, что обеспечило преемственность традиций.
Технические отличия Amiga от C64 сильно влияли (и в лучшую и в худшую сторону) на качество и формат демо.
Существенно больший объем памяти, ёмкость и скорость диска, производительность всех систем — всё это позволило теперь создавать демо в формате непрерывного захватывающего действия — так называемые трэкмо («trackmo» — от «track»+«demo»). Паузы и нажатия на пробел для просмотра следующей части постепенно ушли в прошлое, появились демо визуально похожие на музыкальные клипы, где музыка была синхронизирована с действием:
(Technological Death by Mad Elks. Amiga 500. 1993)
С другой стороны, создавать демо стало проще. Хотя они по-прежнему писались на ассемблере, однако производительность 68k процессоров, специализированный видеопроцессор, возможность воспроизводить цифровой звук не загружая основной процессор, более удобные средства разработки — всё это, на фоне отдельных шедевров, привело (и приводит) к большому количеству низкокачественной продукции. Необходимость подолгу корпеть над отдельными пикселами рисуя шрифт и подбирать коэффициенты, чтобы создать интересно звучащие инструменты — пропала. Поэтому, в сравнении с C64, демосцена на Commodore Amiga характерна, при всех её сильных традициях, большим количеством шаблонных, «проходных» работ.
(крактро для Amiga)
Когда по миру стали распространяться IBM PC с MS-DOS, в контексте демосцены на них никто особо не обращал внимания. Будучи довольно дорогими, они обладали графикой и звуком чрезвычайно низкого качества, поскольку предназначены были в первую очередь для бизнеса.
(Оригинальная IBM PC)
Тем не менее, к 1990 году, с распространением EGA графики (640×480, 16 цветов) стали появляться первые интро. Большинство из них тогда не шло ни в какое сравнение даже с тем, что делалось на Commodore 64, не говоря уже об Amiga.
PC принципиально отличались от Commodore открытостью архитектуры. Commodore 64 и Amiga выпускались только фирмой Commodore. PC же совместимые машины — напротив, выпускались разными компаниями, как и различные платы расширения для них (в том числе, графики и звука).
Благодаря открытости архитектуры, PC совершенствовались поэтапно — люди докупали платы расширения к уже имеющемуся у них компьютеру, что увеличивало его возможности. С Commodore, как и рядом других закрытых платформ, это было почти невозможно. В результате, где-то в начале 1990-х наступил момент, когда PC условно сравнялась по возможностям с Amiga. В чём-то была сильнее одна платформа, в чём-то другая но, с точки зрения демосцены, они стали сопоставимы. В том числе это произошло и из-за прекращения фирмой Motorola развития 68k процессоров, в результате проигрыша процессорам Intel x86.
Безусловно, приверженцы Commodore Amiga на варезной и демосцене понимали, к чему идёт дело и их отношение к PC менялось от пренебрежительного к неприязненному. С банкротством фирмы Commodore прекратился и выпуск Amiga, так что, несмотря на всю кривость архитектуры и зоопарк плат расширения, PC окончательно выиграла гонку, а Commodore Amiga, как и другие аналогичные платформы, постепенно стали считаться устаревшими, что привело к появлению так называемой «oldskool demoscene» (oldskool — жаргон от «старая школа»).
Первые demo party в том виде, в котором мы их знаем сегодня, появились в начале 1990-х. Это были уже мероприятия вполне легальные и при этом без коммерческой составляющей. Центральное место занимал большой экран, на котором последовательно демонстрировались работы, подготовленные участниками конкурсов. Как правило, проводились конкурсы по демо, интро, а также графике и музыке, как составляющим демо и интро. Посетители располагались перед экраном, причём было выделено место под столы для людей с компьютерами (ноутбуков тогда почти не было и компьютеры состояли из системного блока и большого тяжёлого ЭЛТ монитора) и под посетителей без компьютеров.
(The Gathering demo party, начало 1990-х)
(Assembly demo party, 2012)
Проводились демопати преимущественно в Европе — в частности, в Скандинавии. Несколько лет наиболее крупной и известной демо пати была Assembly, организованная демо группой Future Crew. Именно там были представлены на конкурс две работы, сильно изменившие роль PC в демосцене — в 1992 году это был Unreal, а в 1993 — Second Reality.
(Unreal by Future Crew. PC AT 286/386. 1992) (Second Reality by Future Crew. PC AT 386. 1993)
Чем же таким особенным они выделялись на общем фоне?
Как уже было упомянуто выше, в те времена на демосцене господствовала Amiga, а PC, имевшая бедную графику и плохой звук — не воспринималась всерьёз как платформа для создания демо.
(так выглядела CGA графика и создание демо на PC в те времена)
Однако, в отличии от Amiga, PC совместимые компьютеры и платы расширения для них производила не только фирма IBM, а все подряд. Благодаря этому, мощность и возможности платформы росли очень быстрыми темпами. Первые попытки создания приличных интро появились вскоре после появления микропроцессора Intel 80286 и распространения EGA видеоадаптеров. Подавляющее большинство из них в том или ином виде воспроизводили стилистику характерную для C64 — одна или несколько частей с разными эффектами, скроллинги, переливающиеся полоски и лого.
Ярким представителем того периода является Yo! авторства той же Future Crew.
(Интро Yo! by Future Crew. PC AT 286, EGA. 1987–1988)
С появлением 80386 и VGA видеоадаптера, а также звуковой карты Sound Blaster, PC совместимые компьютеры внезапно оказались вполне сопоставимыми по возможностям с Amiga и, с того момента, постепенно начали её превосходить, несмотря на огромное количество проблем с совместимостью между разными PC и множеством конфигураций железа, которое необходимо было программно поддерживать.
(DoWhackaDo by Shadow Productions & Renaissance. PC AT 286, VGA. 1993) (Cronologia by Cascada. PC AT 286, VGA. 1991)
Мощный процессор, хотя и не самой удачной архитектуры, сравнительно быстрая графика, пусть и без поддержки спрайтов и растровых эффектов, хороший звук, увы, отнимающий существенную часть процессорного времени, позволили получать сложные трёхмерные динамические сцены, что для стандартной Амиги было практически недостижимо. Упомянутая Unreal стала одним из первых ярких примеров использования 3D — до этого подобные возможности было привычно видеть лишь на дорогих специализированных графических станциях, вроде Silicon Graphics.
Через год Future Crew закрепила свой успех с уже упомянутой ещё более сложной и качественной работой Second Reality, которая до сих пор остаётся, пожалуй, самой известной демо в мире — даже среди людей, не имеющих отношения к демосцене. Помимо умелого использования возможностей платформы, здесь в полной мере был реализован уже известный по работам для Amiga подход с непрерывным действием, синхронно сопровождающимся качественной музыкой. Местами это было уже почти trackmo.
Интересно, что позднее появилось несколько ремейков Second Reality других авторов. Среди прочего, для PC была выпущена версия, умещающаяся в 8 кб:
(8K Reality by Fulcrum. Размер 8 кб. PC.2015)
Где-то с этого момента PC постепенно становится самой популярной платформой на демосцене.
(Демо The Popular Demo by Farbrausch. PC. Размер 9 мб. 2003) (Интро Fermi Paradox by Mercury. Размер 64 кб. Процессор x86/64. 2016 год)
Тут следует сделать небольшое отступление и рассказать о проблемах со звуком и видео на PC, поскольку именно эти два фактора определили то, как развивалась демосцена на этой платформе.
На таких компьютерах, как Atari XE/XL, C64, ZX Spectrum звук был, по сути, аналоговым — проигрывать сэмплы штатными способами было крайне затруднительно, да в этом и не было смысла — из-за малых объёмов памяти. На Amiga звук уже был цифровым — можно был играть сэмплы в четырёх каналах, причём их проигрывание почти не нагружало процессор.
На PC же оригинальный звук, под названием PC Speaker, был, без преувеличения, ужасен, т.к. предназначался, преимущественно, для издавания писков при диагностике. Как таковых, звуковых возможностей просто не было — лишь однобитный порт, выведенный на динамик.
Поистине героическими усилиями люди научились проигрывать через этот динамик сэмплы. Поскольку всё, включая смешивание каналов, делалось программно, такая озвучка отнимала очень много вычислительных ресурсов, при этом качество было плохим, даже по меркам тех времён. Самые простые попытки улучшить качество были связаны с устройством под названием «Covox», представлявшим собой простой цифро-аналоговый преобразователь, часто реализованный в виде набора резисторов, втыкавшихся в параллельный порт принтера. Качество такого звука было уже существенно лучше, однако ресурсов процессора это всё отнимало примерно столько же, сколько и PC Speaker. Кроме того, Covox был слабо распространён и редко поддерживался играми (хотя и нередко — демо).
Первым более-менее стандартным расширением стал Adlib. Увы, оригинальный Adlib был чисто аналоговым и не умел играть сэмплы. По существу, он был хуже, чем звуковой чип в уже устаревшем на тот момент Commodore 64. Ну и опять же — покупали этот Adlib далеко не все. Он часто поддерживался играми, но почти никогда — демо.
Большим шагом вперёд, в плане звука на PC, стало появление Sound Blaster производства Creative Labs. Он проигрывал цифровой звук (поначалу — моно 8 бит, позднее — стерео 16 бит), меньше грузил процессор и, в целом, был вполне сопоставим по качеству со звуком на Amiga, а при некоторых программных ухищрениях и превосходил — например, по числу каналов.
Тем не менее, авторы демо хотели, чтобы ресурсы процессора при проигрывании не отнимались вовсе. Такой платой расширения стал Gravis Ultrasound (GUS). При всех безусловных плюсах этой платы, её разработчикам было сложно тягаться с компанией Creative Labs. Зная потребности демосцены, они обратились к авторам демо и организаторам демо пати, фактически, с просьбой о помощи в раскрутке своей продукции и взаимовыгодном сотрудничестве. Вскоре, в большинстве приличных демо появилась поддержка GUS и произошло даже нечто вроде войны с Creative Labs. Увы, GUS это не спасло — через какое-то время Creative Labs выпустила аналогичную по возможностям SB AWE, а GUS постепенно сошёл со сцены.
Теперь же уже мало кто задумывается, какая звуковая карта и чьего производства работает в его компьютере.
Первые PC не были предназначены для вывода изображений — они позволяли выводить лишь текст, да и то чёрно-белый. Впрочем, довольно быстро появился CGA (Color Graphics Adapter). Однако, в графическом режиме он позволял одновременно отображать лишь четыре цвета. Первым видеоадаптером, который имел приемлемые с точки зрения демосцены возможности — стал EGA (Enhanced Graphics Adapter). При разрешении 640×350 можно было отобразить 16 цветов, а в текстовом режиме еще и перепрограммировать шрифты… Именно для EGA было написано первое более-менее широко известное на PC интро — «Yo!» (со звуком на PC Speaker).
Настоящим стандартом для демо стал следующий адаптер — VGA (Video Graphics Array). Обычно использовали его режим 320×200, 256 цветов, но иногда также 640×480, 16 цветов и даже более экзотические 320×240, 480×360 256 цветов — так называемые «x-mode».
VGA режимы использовались довольно долго, но параллельно производители разных видеокарт добавляли дополнительные — 640×480, 256 цветов или 800×600, 256 цветов. Подобные режимы (и видеокарты) назывались SuperVGA или SVGA. Проблема была в том что, в отличии от вышеописанных режимов, на SVGA долго не могли выработать стандарта. Из-за этого один и тот же режим на разных видеокартах включался по-разному и имел разную адресацию памяти. Это проблема решалась долго и болезненно — первой попыткой её решения стал стандарт VESA. Хотя он имел массу недостатков, постепенно стали появляться демо в высоком разрешении и с большим количеством цветов.
Позднее, аналогичная история с мучительной стандартизацией произошла с внедрением аппаратной поддержки 3D, которая началась с отрисовки полигонов и постепенно дошла до современных GPU с «шейдерами» (shaders).
С самого начала создание интро и демо было творчеством в жёстких рамках ограничений платформы — в частности, ограничения на максимальный размер кода и данных — на то, сколько байт, килобайт или мегабайт займёт работа. На заре становления демосцены эти ограничения были чисто практическими — объём дискеты, терпимое время загрузки, оставшаяся свободной от игры память и т.п.
По мере того, как с появлением жёстких дисков естественные ограничения стали терять смысл, специально для конкурсов были придуманы искусственные.
Поначалу, они были исторически обусловлены прошлыми размерами той же дискеты или, скажем, загрузочного сектора но, в итоге, были согласованы некие стандарты, наиболее распространёнными из которых стали 256 байт, 1 килобайт, 4 кб и 64 кб. Работы такого размера по-прежнему называют «интро», но уже не из-за их предназначения, а просто из-за малого размера.
Что касается конкурсного понятия «демо», то там максимальный размер несколько раз пересматривался и составляет, в зависимости от платформы, от сотен килобайт до десятков мегабайт. Т.е. современные «интро» и «демо» чаще всего отличает друг от друга размер.
Хотя, казалось бы, это всего лишь выдуманные цифры, но на практике разница между всеми перечисленными номинациями не только количественная, но и качественная.
Если, скажем, на PC в работу объёмом в мегабайты, без особых усилий можно упаковать несколько приличных картинок и качественную музыку с сэмплами, то в 64 кб сделать это уже затруднительно, а в десятки байт — и вовсе невозможно.
Это вынуждает авторов искать обходные пути. Так, например, для 64 кб типична ситуация, когда звуковые сэмплы не хранятся, а создаются при запуске интро, в процессе вычислений по формулам в ней хранящимся. Аналогично и с изображениями — что, кстати, привело даже к появлению особой номинации — «процедурная графика» (procedural graphics).
(Red Crash by NuSan — 4kb procedural graphics. PC. 2021)
Что касается номинации 256 байт то, как правило, такие работы не показывают картинок и не играют музыки — акцент в них делается либо на плотность и сложность кода, позволяющего уместить в эти байты максимум эффектов, либо на оригинальность и выразительность единственного эффекта.
(интро Volumi by Kuemmel. PC. Размер 256 байт. 2018) (интро Memories by HellMood. PC. Размер 256 байт. 2020) (интро Cross by QMG. PC. Размер 128 байт. 1996 год)
(Полный код 128 байт интро Cross by QMG на футболке ENLiGHT'96 demo party)
Таким образом, в зависимости от размера работ, конкурс превращается или в чистое соревнование программистов, или в совместное творчество программистов, музыкантов и художников.
Конечно, для конкретного компьютера и микропроцессора в одно и то же количество байт можно уместить как больше, так и меньше содержания. К примеру, появление видеоускорителей и шейдеров позволило в тоже самое количество байт уместить больше сложных эффектов, поскольку ряд вещей взяла на себя видеокарта — больше не надо самому рисовать по точкам треугольники и вручную их закрашивать.
Это, в частности, повысило популярность на PC номинаций 4к и 64к интро и снизило популярность номинации «демо». По существу, в условный среднестатистический байт стало влезать больше.
(One of those days by Loonies. PC. Размер 8 кб. 2018)
В номинациях же в десятки-сотни байт по-прежнему всё делается вручную, поскольку на инициализацию и работу с GPU/шейдерами этих жалких байт недостаточно. В таких объёмах важной становится система команд микропроцессора, плотность машинного кода и даже особенности заголовков исполняемых файлов данной конкретной операционной системы или платформы, а также, скажем, наличие в ПЗУ тех или иных полезных подпрограмм или таблиц.
Закрытость старых архитектур — будь то C64, Amiga, Atari или другие — имеет не только минусы, но и свои плюсы. Написав intro или demo для, скажем, того же Commodore 64, можно быть абсолютно уверенным, что оно запустится и будет точно так же работать на миллионах других Commodore 64, поскольку они все одинаковые. Причём, так будет через 5, 10, 20, 30 и более лет, поскольку платформа уже не развивается. Это принципиально отличается от ситуации с теми же PC — из-за постоянных изменений в железе сложилась ситуация, когда многие старые работы уже невозможно запустить на современных PC (иногда — даже под существующими эмуляторами!).
Именно благодаря одинаковости (или хотя бы однотипности, в случае со старыми PC) всех экземпляров устаревших компьютеров, для интро и демо на них характерна прямая работа с железом — программирование на ассемблере, управление графикой через изменения значений непосредственно в портах видео и аудио контроллеров, широкое использование различных недокументированных особенностей железа, которые продолжают обнаруживать даже спустя десятилетия.
(We Are All Connected by Fairlight, Prosonix, Offence. C64. 2014) (Across the edge by deMarche. ZX Spectrum. 2016 год) (Bromance by Bonzai. C64. 2021)
В первое время после появления oldskool демосцены было сложно прийти к взаимопониманию относительно принципа организации конкурсов — ведь компьютеры бывают, скажем так, более и менее устаревшие, а в рамках одного конкурса участники должны иметь в идеале, равные шансы.
Сложность в том, что разница в производительности и графических или звуковых возможностях вовсе не обязательно идут параллельно — существуют как очень медленные 16-разрядные компьютеры с плохой графикой, так и сравнительно быстрые 8-разрядные с хорошей. Создавать же много номинаций, учитывающих все разнообразие — невозможно, поскольку на них не хватит конкурсных работ.
В итоге, идея деления oldskool конкурсов по принципу разрядности процессора или каким-то другим конкретным техническим характеристикам не прижилась и, в настоящее время, конкурсы всё чаще делят на три категории — oldskool (для старых компьютеров, включая старые PC, игровые приставки), combined/newskool (для современных PC и Amiga с акселераторами) и wild (для прочих устройств).
Поскольку с течением времени работы для ретро-платформ приобретают определенную «антикварную» ценность (т.е. вызывают интерес уже просто из-за того, что написаны под старую плат