|
Добавить сайт в избранное!
Не запустилась демка?
Многие помнят как в середине 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.
Что ж, изложение мыслей подошло к концу - добавить к написанному мне, пожалуй,
нечего. Всем кто чувствует потребность творить, всем кто собирается создавать
что-либо на демосцене - удачи!
[P.S. by Dimouse: статья размещена с любезного разрешения автора]
|
|