Демка

Поделись знанием:
Перейти к: навигация, поиск
Эта статья о компьютерном искусстве. Термин «демо» также может означать прочие творения, предназначенные для демонстрации, например в музыке

Де́мка или де́мо (от англ. demonstration — демонстрация) — жанр компьютерного искусства, представляющий собой мультимедийную презентацию. Демки создаются в целях демонстрации возможностей и знаний в области программирования, компьютерной графики, 3D-моделирования и написания музыки. Основным отличием демки от компьютерной анимации является то, что демо просчитывается в режиме реального времени, а не заранее. Чаще всего демки являются рендерингом 3D-анимации в реальном времени в сочетании с двумерными эффектами.

Авторы демо называются демомейкерами, а компьютерная субкультура, их объединяющая, — демосценой. Конкурсы демо называются «компо» (от англ. competition — соревнование). Демокомпо проводятся, как правило, на таких мероприятиях, как демопати (фестивали компьютерного искусства), но бывают также виртуальные конкурсы (в Интернете) и конкурсы местного масштаба, проводимые каким-либо коллективом или организацией.





История

Предками современных демо являются известные с 1950-х годов display hacks, показывающие различные эффекты на экране.

Демосцена возникла в начале 1980-х с появлением коммерческих компьютерных игр, имеющих защиту от нелегального копирования. Группы взломщиков, рекламируя свои достижения по снятию защиты от копирования, добавляли простенькие интро к взломанным играм и программам. Интро загружалось в память до загрузки основного файла программы, отображало простенькое сообщение с парой простых видеоэффектов (обычно нечто вроде «Cracked by …» с эффектом бегущей строки) и загружало игру. Со временем качество интро стало восприниматься как один признаков мастерства группы. С ростом сложности систем защиты и появлением новых компьютерных платформ росло и качество интро. Внутри группы появились специализации по написанию кода, графики и музыки для интро.

Постепенно интро выделились в отдельный вид компьютерного искусства, дистанцировавшись тем самым от нелегального взлома и распространения программ.

Типы демок

Существует несколько категорий демок, по которым они могут быть классифицированы. Обычно критериями выступают целевая платформа или размер демки, однако стиль и содержание демки также имеют значение.

Интро

Интро — изначально это короткое и зацикленное демо, смысл которого был в рекламировании BBS, с которой была скачана взломанная программа, или же самого взломщика, сделавшего крак. Ныне интро называют демки очень малого размера (4K или 64K). Также интро могут называться демки любого размера, посвящённые некоему событию (например, приглашение на демопати — invitation).

Большинство демопати имеют по крайней мере одну категорию интро (обычно 64K интро для PC и Amiga или 4K интро для ZX Spectrum).

Мегадемо

Мегадемо (англ. megademo) представляет собой сборник эффектов, как правило, не связанных общей темой, и обладает такой отличительной особенностью, как интерактивность. Интерактивность проявляется в том, что части демо (эффекты) длятся до прерывания пользователем и, кроме того, могут содержать управляемые элементы. В каждой части обычно присутствует какого-либо рода бегущая строка (или несколько бегущих строк) с длинным текстом, например, об авторах демо. Мегадемо были распространены в начале 1990-х, но были постепенно вытеснены трекмо — жанром, более пригодным для демонстрации на публике. Крупнейшие мегадемо (такие, как First Association на ZX Spectrum) содержат многие десятки частей. Некоторые мегадемо позволяют вызывать части в любом порядке.

Интерактивные эффекты иногда присутствуют и в других разновидностях демо, но обычно являются скрытыми частями (вызываются по недокументированной комбинации клавиш).

Трекмо

Трекмо (англ. trackmo) — демо, синхронизированное под музыку (трек). Самый распространённый жанр в современном демомейкинге. Отсутствие интерактивности даёт возможность показать всё демо за ограниченное время (например, за 5 минут — максимальное время указывается в правилах демокомпо) и позволяет сюжетно сливать различные эффекты. Ритм музыки может соответствовать ритму смены эффектов и ритму движения объектов на экране.

Классификация по платформе

С момента появления первых интро было создано множество демок под различные платформы, и классификация по платформам является одной из основных. Например, созданные демки для PC называются PC demo, для Amiga — Amiga demo и так далее.

Ограничения по объёму

Обычно различные типы демок имеют ограничения по размеру. Эти ограничения имеют корни от варезных групп, которые старались свои интро уместить в как можно меньший объём оперативной или дисковой памяти. Также ограничения накладывались из-за того, что взломанные файлы, содержащие интро варез-групп, скачивались с BBS, поэтому минимизация трафика также стояла не на последнем месте.

Иногда ограничения накладывались конкретной платформой. Например размер загрузочной области дискеты (обычно 512 или 4096 байт) также являлся естественным ограничителем для демо. Наиболее распространённое ограничение в 64 Кб является размером сегмента в 16-битной архитектуре x86, а также максимальным размером исполняемого COM-файла.

Впоследствии с развитием вычислительной техники реальная необходимость в ограничении размера отпала, однако желание демомейкеров сотворить нечто потрясающее в ограниченном пространстве осталось. Поэтому искусственное ограничение по размеру стало вызовом мастерству демомейкера, его способностям и креативному мышлению.

Ограничение по объёму заставляет автора находить нестандартные решения при синтезировании или использовании данных из файлов. Для демосцены ограничение в 4096 байт не является нижней допустимой границей. Встречаются демки размером 1024, 256, 128 и даже 64 байт. Для таких столь экстремально малых размеров требуется совершенное знание ассемблера и искусное владение оптимизацией алгоритмов.

Элементы демо

Демка обычно состоит из трёх элементов — программного кода, графики и музыкального сопровождения. Соответственно, в демогруппе должны быть (но могут собираться и из разных групп) программисты, художники и музыканты. Нередко эти специальности могут сочетаться в одном человеке. Также важен общий стиль демки, выделяющий её из общей массы и придающей сюжетную идею.

Визуальные эффекты

Общее впечатление от демки создаётся именно от визуальных эффектов, которые красноречиво демонстрируют навыки и мастерство программиста. Довольно часто удачные эффекты используются вновь, образуя «библиотеку эффектов» программиста.

Создание некоторых видеоэффектов основано на нестандартном использовании видеорежимов, о котором могли не подозревать даже сами создатели компьютера. Для IBM PC это могут быть X modes, для ZX Spectrum — мультиколор (нестандартное использование графических возможностей с целью увеличения глубины цвета) и эффекты на бордюре (рамке экрана), для C64 и MSX — различные эффекты, связанные с быстрой сменой параметров видеоконтроллера.

Музыка

Музыка определяет стиль демки, её настроение. Отсутствие музыки может быть допустимым лишь для демок, ограниченных по объёму (ниже 4096 байт).

Музыка для ранних демок и интро бралась из взломанных игр. Со временем группы начали создавать собственную трекерную музыку, а некоторые — специализироваться лишь на ней.

Также некоторые группы создали собственные музыкальные редакторы для создания музыки (например, Scream Tracker от Future Crew и FastTracker от Triton).

Музыка для 4K интро редко пишется в музыкальных редакторах (а для 512 bytes интро это просто невозможно), вместо этого используются разработанные для случая форматы музыкальных данных и процедуры (примером такого формата является V2M). Написание музыки, которая вместе с плеером занимает небольшой объём, вылилось в отдельный жанр компьютерного искусства — exe music.

Программирование

Демо — это скомпилированный исполняемый файл. Хотя уже появились специальные редакторы демок, большинство групп предпочитают использовать «дикий» стиль написания программного кода. Распространение исходного кода демки почти не встречается, так как каждая демка является своего рода произведением искусства, продуктом творчества программиста, и не каждый заинтересован делиться своими наработками с другими. Однако скомпилированные файлы обычно свободно распространяются и их свободное копирование не возбраняется.

Самые ранние и самые маленькие интро обычно выполнялись сразу в машинных кодах, так как это был наиболее удобный для взломщиков способ обхода защиты от копирования. Следующим шагом стало использование Ассемблера.

Более высокоуровневые языки (C, C++) стали использоваться (поначалу с ассемблерными вставками) в начале 1990-х годов, в основном для IBM PC-совместимых компьютеров. В настоящее время написание демки на чистом ассемблере — довольно редкое явление (за исключением категорий с ограниченным объёмом выполняемого файла), однако всё ещё распространено для 8-битных платформ (например, Commodore 64).

Для уменьшения объёма также может использоваться сжатие данных, которое тоже берёт начало с варезных корней: пиратское ПО необходимо было эффективно упаковывать, чтобы сжатые данные вместе с загрузчиком и декомпрессором занимали как можно меньше места.

Современные демо и интро обычно упаковываются либо алгоритмами сжатия двоичных данных общего назначения (например UPX), либо специально созданными для подобных нужд программами. Встраиваемый декомпрессор для 4K интро может занимать менее 200 байт.

Демосцена

См. также

Напишите отзыв о статье "Демка"

Ссылки

  • [www.scene.org/ Scene.org]
  • [pouet.net Pouët.net — архив демок]
  • [zxaaa.untergrund.net/ ZXAAA.net — архив демок ZX]

Отрывок, характеризующий Демка

Дождик шел с утра, и казалось, что вот вот он пройдет и на небе расчистит, как вслед за непродолжительной остановкой припускал дождик еще сильнее. Напитанная дождем дорога уже не принимала в себя воды, и ручьи текли по колеям.
Пьер шел, оглядываясь по сторонам, считая шаги по три, и загибал на пальцах. Обращаясь к дождю, он внутренне приговаривал: ну ка, ну ка, еще, еще наддай.
Ему казалось, что он ни о чем не думает; но далеко и глубоко где то что то важное и утешительное думала его душа. Это что то было тончайшее духовное извлечение из вчерашнего его разговора с Каратаевым.
Вчера, на ночном привале, озябнув у потухшего огня, Пьер встал и перешел к ближайшему, лучше горящему костру. У костра, к которому он подошел, сидел Платон, укрывшись, как ризой, с головой шинелью, и рассказывал солдатам своим спорым, приятным, но слабым, болезненным голосом знакомую Пьеру историю. Было уже за полночь. Это было то время, в которое Каратаев обыкновенно оживал от лихорадочного припадка и бывал особенно оживлен. Подойдя к костру и услыхав слабый, болезненный голос Платона и увидав его ярко освещенное огнем жалкое лицо, Пьера что то неприятно кольнуло в сердце. Он испугался своей жалости к этому человеку и хотел уйти, но другого костра не было, и Пьер, стараясь не глядеть на Платона, подсел к костру.
– Что, как твое здоровье? – спросил он.
– Что здоровье? На болезнь плакаться – бог смерти не даст, – сказал Каратаев и тотчас же возвратился к начатому рассказу.
– …И вот, братец ты мой, – продолжал Платон с улыбкой на худом, бледном лице и с особенным, радостным блеском в глазах, – вот, братец ты мой…
Пьер знал эту историю давно, Каратаев раз шесть ему одному рассказывал эту историю, и всегда с особенным, радостным чувством. Но как ни хорошо знал Пьер эту историю, он теперь прислушался к ней, как к чему то новому, и тот тихий восторг, который, рассказывая, видимо, испытывал Каратаев, сообщился и Пьеру. История эта была о старом купце, благообразно и богобоязненно жившем с семьей и поехавшем однажды с товарищем, богатым купцом, к Макарью.
Остановившись на постоялом дворе, оба купца заснули, и на другой день товарищ купца был найден зарезанным и ограбленным. Окровавленный нож найден был под подушкой старого купца. Купца судили, наказали кнутом и, выдернув ноздри, – как следует по порядку, говорил Каратаев, – сослали в каторгу.
– И вот, братец ты мой (на этом месте Пьер застал рассказ Каратаева), проходит тому делу годов десять или больше того. Живет старичок на каторге. Как следовает, покоряется, худого не делает. Только у бога смерти просит. – Хорошо. И соберись они, ночным делом, каторжные то, так же вот как мы с тобой, и старичок с ними. И зашел разговор, кто за что страдает, в чем богу виноват. Стали сказывать, тот душу загубил, тот две, тот поджег, тот беглый, так ни за что. Стали старичка спрашивать: ты за что, мол, дедушка, страдаешь? Я, братцы мои миленькие, говорит, за свои да за людские грехи страдаю. А я ни душ не губил, ни чужого не брал, акромя что нищую братию оделял. Я, братцы мои миленькие, купец; и богатство большое имел. Так и так, говорит. И рассказал им, значит, как все дело было, по порядку. Я, говорит, о себе не тужу. Меня, значит, бог сыскал. Одно, говорит, мне свою старуху и деток жаль. И так то заплакал старичок. Случись в их компании тот самый человек, значит, что купца убил. Где, говорит, дедушка, было? Когда, в каком месяце? все расспросил. Заболело у него сердце. Подходит таким манером к старичку – хлоп в ноги. За меня ты, говорит, старичок, пропадаешь. Правда истинная; безвинно напрасно, говорит, ребятушки, человек этот мучится. Я, говорит, то самое дело сделал и нож тебе под голова сонному подложил. Прости, говорит, дедушка, меня ты ради Христа.
Каратаев замолчал, радостно улыбаясь, глядя на огонь, и поправил поленья.
– Старичок и говорит: бог, мол, тебя простит, а мы все, говорит, богу грешны, я за свои грехи страдаю. Сам заплакал горючьми слезьми. Что же думаешь, соколик, – все светлее и светлее сияя восторженной улыбкой, говорил Каратаев, как будто в том, что он имел теперь рассказать, заключалась главная прелесть и все значение рассказа, – что же думаешь, соколик, объявился этот убийца самый по начальству. Я, говорит, шесть душ загубил (большой злодей был), но всего мне жальче старичка этого. Пускай же он на меня не плачется. Объявился: списали, послали бумагу, как следовает. Место дальнее, пока суд да дело, пока все бумаги списали как должно, по начальствам, значит. До царя доходило. Пока что, пришел царский указ: выпустить купца, дать ему награждения, сколько там присудили. Пришла бумага, стали старичка разыскивать. Где такой старичок безвинно напрасно страдал? От царя бумага вышла. Стали искать. – Нижняя челюсть Каратаева дрогнула. – А его уж бог простил – помер. Так то, соколик, – закончил Каратаев и долго, молча улыбаясь, смотрел перед собой.
Не самый рассказ этот, но таинственный смысл его, та восторженная радость, которая сияла в лице Каратаева при этом рассказе, таинственное значение этой радости, это то смутно и радостно наполняло теперь душу Пьера.


– A vos places! [По местам!] – вдруг закричал голос.
Между пленными и конвойными произошло радостное смятение и ожидание чего то счастливого и торжественного. Со всех сторон послышались крики команды, и с левой стороны, рысью объезжая пленных, показались кавалеристы, хорошо одетые, на хороших лошадях. На всех лицах было выражение напряженности, которая бывает у людей при близости высших властей. Пленные сбились в кучу, их столкнули с дороги; конвойные построились.
– L'Empereur! L'Empereur! Le marechal! Le duc! [Император! Император! Маршал! Герцог!] – и только что проехали сытые конвойные, как прогремела карета цугом, на серых лошадях. Пьер мельком увидал спокойное, красивое, толстое и белое лицо человека в треугольной шляпе. Это был один из маршалов. Взгляд маршала обратился на крупную, заметную фигуру Пьера, и в том выражении, с которым маршал этот нахмурился и отвернул лицо, Пьеру показалось сострадание и желание скрыть его.
Генерал, который вел депо, с красным испуганным лицом, погоняя свою худую лошадь, скакал за каретой. Несколько офицеров сошлось вместе, солдаты окружили их. У всех были взволнованно напряженные лица.
– Qu'est ce qu'il a dit? Qu'est ce qu'il a dit?.. [Что он сказал? Что? Что?..] – слышал Пьер.
Во время проезда маршала пленные сбились в кучу, и Пьер увидал Каратаева, которого он не видал еще в нынешнее утро. Каратаев в своей шинельке сидел, прислонившись к березе. В лице его, кроме выражения вчерашнего радостного умиления при рассказе о безвинном страдании купца, светилось еще выражение тихой торжественности.
Каратаев смотрел на Пьера своими добрыми, круглыми глазами, подернутыми теперь слезою, и, видимо, подзывал его к себе, хотел сказать что то. Но Пьеру слишком страшно было за себя. Он сделал так, как будто не видал его взгляда, и поспешно отошел.
Когда пленные опять тронулись, Пьер оглянулся назад. Каратаев сидел на краю дороги, у березы; и два француза что то говорили над ним. Пьер не оглядывался больше. Он шел, прихрамывая, в гору.
Сзади, с того места, где сидел Каратаев, послышался выстрел. Пьер слышал явственно этот выстрел, но в то же мгновение, как он услыхал его, Пьер вспомнил, что он не кончил еще начатое перед проездом маршала вычисление о том, сколько переходов оставалось до Смоленска. И он стал считать. Два французские солдата, из которых один держал в руке снятое, дымящееся ружье, пробежали мимо Пьера. Они оба были бледны, и в выражении их лиц – один из них робко взглянул на Пьера – было что то похожее на то, что он видел в молодом солдате на казни. Пьер посмотрел на солдата и вспомнил о том, как этот солдат третьего дня сжег, высушивая на костре, свою рубаху и как смеялись над ним.
Собака завыла сзади, с того места, где сидел Каратаев. «Экая дура, о чем она воет?» – подумал Пьер.
Солдаты товарищи, шедшие рядом с Пьером, не оглядывались, так же как и он, на то место, с которого послышался выстрел и потом вой собаки; но строгое выражение лежало на всех лицах.


Депо, и пленные, и обоз маршала остановились в деревне Шамшеве. Все сбилось в кучу у костров. Пьер подошел к костру, поел жареного лошадиного мяса, лег спиной к огню и тотчас же заснул. Он спал опять тем же сном, каким он спал в Можайске после Бородина.
Опять события действительности соединялись с сновидениями, и опять кто то, сам ли он или кто другой, говорил ему мысли, и даже те же мысли, которые ему говорились в Можайске.
«Жизнь есть всё. Жизнь есть бог. Все перемещается и движется, и это движение есть бог. И пока есть жизнь, есть наслаждение самосознания божества. Любить жизнь, любить бога. Труднее и блаженнее всего любить эту жизнь в своих страданиях, в безвинности страданий».
«Каратаев» – вспомнилось Пьеру.
И вдруг Пьеру представился, как живой, давно забытый, кроткий старичок учитель, который в Швейцарии преподавал Пьеру географию. «Постой», – сказал старичок. И он показал Пьеру глобус. Глобус этот был живой, колеблющийся шар, не имеющий размеров. Вся поверхность шара состояла из капель, плотно сжатых между собой. И капли эти все двигались, перемещались и то сливались из нескольких в одну, то из одной разделялись на многие. Каждая капля стремилась разлиться, захватить наибольшее пространство, но другие, стремясь к тому же, сжимали ее, иногда уничтожали, иногда сливались с нею.
– Вот жизнь, – сказал старичок учитель.
«Как это просто и ясно, – подумал Пьер. – Как я мог не знать этого прежде».
– В середине бог, и каждая капля стремится расшириться, чтобы в наибольших размерах отражать его. И растет, сливается, и сжимается, и уничтожается на поверхности, уходит в глубину и опять всплывает. Вот он, Каратаев, вот разлился и исчез. – Vous avez compris, mon enfant, [Понимаешь ты.] – сказал учитель.