www.demoscene.ruenglish version
новостимузыкадемографикаинформацияпрограммыфорум‘подкаст’
 
авторы    статьи    интервью   

Music for games, video game music
Enlight project

Хоровод историй

Лаборатория альтернативной истории


статьи
Не запустилась демка?
 

Многие помнят как в середине 90-ых годов их не раз приводила в бешенство очередная скаченная с BBS демка, все риалтаймовые видеоэффекты которой заключались в выводе на экран текстовой строки "No GUS - no demo". Действительно, если в Европе музыкальная карта Gravis UltraSound стала стандартом де-факто в области демомэйкинга уже в 1993-ем году, то у нас даже два года спустя наличием Gravis'а могли похвастаться лишь еденицы: несколько музыкантов и законченных фанатов демосцены, плюс узкая прослойка геймеров - дети чересчур богатых родителей. GUS стоил дорого, найти его было тяжело, однако все самые продвинутые компьютерные игры при настройке звука дразнили поддержкой Gravis'a - одним словом, для нашего человека GUS представлялся некой недостижимой (а потому и, вроде как, не очень нужной) заморской диковинкой. Обходились и так. Смотрели демки и интрушки без звука. Выискивали на BBS "что-нибудь под SB или хотя бы Adlib" (а такая выборка практически обрекала на собирание самых старых, слабых и неудачных работ, за редким исключением).

Поэтому нет ничего удивительного в том, как все обрадовались выходу более или менее нормального Direct-X'a и воодушевились идеей "давайте писать демки под Windows - они гарантированно пойдут на любом оборудовании!". Видимо, так наш народ истерзался за годы унижения этим самым "no GUS - no demo" и "молчанием интрушек", что возликовал, вознес идею "WinDemo" на пьедестал. На волне эйфории невозможно было заметить что идея эта, на самом деле, трещит по швам. Сколько было споров в demo.design и других fido'шных конференциях! "Угнетенный класс" получил, в добавок к старому "GUSя - давить!", новый мощный девиз: "Будущее демомейкинга - демы под Windows!". Все хорошо, да только весь заряд оптимизма, вся энергия ушла на фидошные споры, и ни одной "WinDemo" так и не появилось.

Наверное, только в 1999-ом году особо активные кодеры начали потихоньку переводить свои DOS-демы и интры под Windows ("Overmind" by T-Rex, "Swop" by Proxium). За ними последовали и несколько "Windows only demo" - звук через DirectSound, графика - через DirectDraw, софтварный рэндер... Здесь не лишне вспомнить что одновременно с идеей "WinDemo", то есть уже году в 1997-ом, активно обсуждалась идея "3dfx demo". Правда, очень скоро стало понятно что зацикливаться именно на этом семействе 3d-ускорителей не очень разумно, поэтому идея переросла в более общую: "демки под 3d-ускорители". Какие 3d-ускорители? Да любые - у кого какие есть!.. Почему-то каждый считал что тот ускоритель, что стоит в его компьюторе - самый что ни на есть "стандарт де-факто", а родной протокол для этого ускорителя - самый прогрессивный протокол в мире. И скоро все остальные карты конкурирующих производителей непременно станут понимать этот протокол и будут полностью совместимы. И Windows всех объединит, всех помирит. Демки под Windows очень скоро будут работать у всех одинаково... Подозреваю, что многие действительно свято в это верили. Однако на практике WinDemo вели себя очень странно. Достойней всех держались те, кто использовал 100% софтварный рэндер, самое безобидное видеоразрешение (типа 640x480 без смены количества цветов) и/или оконный режим (Бррр... Демонстрировать публике во время demoparty демку на большом экране в маленьком виндусячем окошке? Какой ужас!).

Так или иначе, некоторым демогруппам удалось создать ряд непоколебимых демок, которые шли практически на любой Windows-машине. Например, можно вспомнить демы "Louis Lane" by Blasphemy и "Plastik" by Purple. Однако, уже следующие работы этих групп готовили зрителям неприятные сюрпризы: используемые в "Moral Hard Candy" и "Toypusher" видеорежимы не поддерживались некоторыми видеокартами. И если первую дему еще спасал ключ "-window", то вторая так и осталась для многих "черным экраном под веселую funk/house музыку". Еще хуже обстояли дела с интрами - их авторы чрезвычайно увлекались нестандартными видеорежимами (эта "болезнь" так и не прошла с DOS'овских времен). Фидошная общественность с некоторой долей справедливости возмущалась таким положением вещей, но любой намек на "пресловутую совместимость" встречался в штыки: "руки у авторов кривые, писать не умеют". То есть кодеры с многолетним опытом из демогрупп с мировым именем не умеют писать демы под Windows. Windows не виновата, виноваты кодеры - в самом деле, на каком основании они позволяют себе писать так как им, кодерам, удобно, а не как удобно возмущенному зрителю? Так рассудили мудрые фидошники-теоретики. Отказаться от идеи светлого будущего, когда любая дема запускалась бы на абсолютно произвольном железе? Ни за что. Кто же призван воплощать эту идею в жизнь? Определенно, не сами теоретики и сторонники этой идеи, поскольку за все время существовании демосцены они так ничего работающего и законченного не сделали (сильно подозреваю, что по этой-то причине они и не испытали на собственной шкуре проблему "совместимости под Windows").

Реально же, с приходом Windows ситуация с совместимостью нисколько не улучшилась - суть проблемы осталась той же, что и на заре демосцены. Возможно, кто-то еще помнит времена, когда требование демки к i386-процессору воспринималось очень негативно: считалось что нормальная дема обязана работать на i286. В те же времена некоторые кодеры использовали специфические регистры видеокарт семейства Trident, что приводило к некорректной работе демы на остальных картах. А уж с приходом моды на Vesa-режимы началась сущая морока (что говорить, и по сей день невозможно найти видеокарту, которая поддерживала бы абсолютно все Vesa-режимы: какая-нибудь демка да не запустится). Так что проблема совместимости всегда имела место на демосцене. На PC-demoscene, разумеется. Amiga-demoscene была ограждена от этой беды в силу закрытости архитектуры компьютеров Amiga (точнее, не закрытости, а монополией на стандарты расширения, но это в нашем случае не важно).

Вся история PC-demoscene показывает что решить проблему несовместимости "железа" в рамках демосцены нельзя, невозможно тысячи творческих сценеров-программистов, выжимающих из компьютера невероятные вещи, заставить писать одинаково, по стандарту. Это уже не будет поиском новых путей, попыткой совершить невозможное, это уже не будет демосценой. Выработка какого-либо стандарта на написание программ возможна где угодно, только не на демосцене (и, наверное, еще в области вирус-мэйкинга и всякого рода хакерства). Остается один способ решить проблему совместимости: не программным, а "железным" путем. В качестве красноречивого примера можно вспомнить Amiga-demoscene: практически сразу после выпуска компьютеров Amiga демо-культура на этой платформе развилась необыкновенно, практически любой владелец Амиги, будь то простой игроман, музыкант или специалист по видеомонтажу, отводил на винчестере (или на полке с дискетами) место для демок. На Амиге демки занимали даже более значимое место, чем системные утилиты и тесты производительности на PC. Что же касается непосредственно Amiga'вской демосцены, то она дарила благодарным зрителям поистине выдающиеся демы: интересные, гармоничные и, можно сказать, высокохудожественные, оригинальные во всех смыслах - и видеоэффектами, и музыкой, и программной частью, и общей идеей. Один из благоприятнейших факторов, повлиявших на столь бурное и плодотворное развитие Amiga'вской демосцены - безусловно, стандарт в области "железа". Для того, чтобы приобщиться к демокультуре хотя бы в качестве зрителя, пользователю не нужно было переоборудовать свой компьютер. Программист же мог обращаться с компьютером как угодно, писать любой "некорректный" код и даже использовать "глюки" архитектуры, - при этом он имел стопроцентную гарантию, что все им написанное будет точно так же работать на любой Амиге.

Что касается PC-demoscene, то на ней не существовало никаких стандартов кроме, разве что, стандарта на звук: Gravis UltraSound. В остальном оставалось лишь скачивать демку и гадать, запустится она или нет, а при покупке новых деталей в компьютер - гадать, пойдут ли после апгрэйда старые демки. У нас в стране все было даже еще хуже в силу нераспространенности GUS'я.

В такой неопределенной ситуации российская демосцена встретила 1999-ый год. Накануне Bytefall'a велись активные дискуссии на тему "почему на Bytefall'e не разрешены демы под 3d-ускорители?!". Не оценив еще плюсов и минусов обычной, "неакселерированной" совместивости под Windows, поборники прогресса уже возмущались тем что 3d-акселерация все еще не разрешена на российских демопати. Нужно ли говорить что на вопрос "а вы сами-то напишете accelerated demo?" неизбежно следовал ответ "ну мы-то вряд ли, нам не до этого, но вдруг кто-то хочет написать, а вы их сдерживаете?"... Первая отечественная accelerated demo увидела свет лишь в самом конце 2000-го года. Не хочу говорить за авторов, но по-моему ребята из группы T-Rex создавали свою дему большей частью из академического интереса, чтобы опробовать технологию, оценить возможности, достоинства и недостатки. Результат эксперимента на сегодняшний день таков: далеко не всякий 3d-ускоритель способен воспроизвести дему, написанную под Riva TNT2. Это мягко говоря. Более, того, даже не всякая машина, оборудованная этой самой Riva TNT2, воспроизводит дему корректно. А отсутствие 3d-ускорителя вообще гарантирует отсутствие демы. "No TNT2 - no demo".

В конце декабря 2000-го года завершилась вторая по величине демопати в мире - The Party 2000. Практически все демы и многие интры выдвигают совершенно определенное требование к "железу": GeForce. Читатель, возможно, удивится, но теперь я сменю тон статьи с похоронного на парадный: несмотря на удручающую, с точки зрения демосцены, ситуацию не только с 3d-ускорителями, но и с Windows-совместимостью вообще, поток accelerated demos с The Party принес добрую весть: похоже, европейская демосцена выбрала, наконец, себе новый стандарт на "железо"! При всем многообразии 3d-ускорителей, демомэйкеры выбрали один (не важно, лучше он или хуже других, а если лучше, то сколько лет он останется лидером).

К карте GeForce можно относиться по-разному, как по-разному относились в свое время к предыдущему (и единственному) "железному" стандарту на демосцене - к GUS'ю. Несомненным преимуществом Gravis'a перед обычными SB-совместимыми картами было и остается то, что он практически полностью брал на себя работу по микшированию музыки в демках, заметно разгружая процессор (даже на современных машинах типа PIII-600MHz впечатляет разница в плавности: DOS'овские демы и интры сильно выигрывают при запуске с Gravis'ом). Довольно долгое время GUS был единственной саундкартой с волновым синтезом (не считая дорогих профессиональных карт, названий которых сейчас уже почти никто не помнит). Потом появилась AWE32, а за ней последовала AWE64. Однако, ни одна из карт не повлияла на статус Gravis'a - на демосцене он остался картой номер один, и интры "GUS only" продолжали писать даже тогда, когда AWE уже отжила свое.

Похоже, сейчас ситуация повторяется: на смену "no GUS - no demo" приходит "no GeForce - no demo". Возможно, я и ошибаюсь, и мода на GeForce быстро пройдет - что ж, если так, то это очень печально. Демосцене необходим стандарт на "железо", хотя бы в одной области - графике. Уверен, что идеология "no GeForce - no demo" многим придется не по душе, как в свое время "no GUS - no demo". Но в данной статье я попытался показать ситуацию в целом, показать необходимость наличия стандарта, доказать на примерах его положительную роль в развитии демосцены.

До недавнего времени с 3d-ускорителями была такая путаница, что любой заботящейся о популярности своей продукции демогруппе разумней было ориентироваться на софтварный рэндер. Хочется верить что российские и ex-USSR демогруппы поддержат новый европейский демостандарт. Пусть не сразу и повсеместно, пусть с некоторым запозданием - не страшно, главное не пропустить его вообще, как пропустили в свое время Gravis. Хочется верить что на ближайших российских демопати стандартной конфигурацией демо-компьютера станет "что-нибудь не особо разогнанное" плюс GeForce. Ну и для DOS'овских дем и интр очень пригодится GUS PnP.

Что ж, изложение мыслей подошло к концу - добавить к написанному мне, пожалуй, нечего. Всем кто чувствует потребность творить, всем кто собирается создавать что-либо на демосцене - удачи!


Автор: Manwe/SandS



интро   демо   flash   анимация   3D-графика   арт   синглы   альбомы   статьи   трекеры

Дизайн и программирование: Александр Ильин aka Real/SandS     
Шеф-редактор: Антон Уткин aka Frown/Rcd     
Креатив и интерфейс: Александр Мачуговский aka Manwe/SandS