Демосцена всегда поражала воображение. В 1994, 2004, 2017 годах разработчики снова и снова всех удивляют, превращая файл размером 64 килобайта в нечто немыслимое. Демо стало не просто асаной, из которой программист выжимает максимум возможностей своего компьютера и собственных скиллов, а превратилось в отдельный вид киберискусства.
Современные демки откололись от континента прочих субкультур (где-то на берегу остались представители оверклокинга) и дрейфуют в одиночестве. Они не гимн возможностей компьютерной техники, а ding an sich selbst betrachtet — метафизическая вещь в себе, которая может быть фрагментом игры, аниме или трейлером фильма-катастрофы.
А еще демо может быть о космосе и это, вероятно, самый подходящий формат. Чтобы исследовать пространство и воочию наблюдать космологические модели, достаточно всего 64K. Сгенерированное изображение смешивает элементы геймдизайна, кинематографа и программирования в синхронизированный аудиовизуальный коктейль, который затянет вас в процесс отрешенного созерцания межгалактических чудес.
Солнечная система
«Fermi paradox» — это не просто космические ландшафты под электронную музыку. Демка заняла первое место на фестивале Revision 2016 в категории 64K. Приз вручен за красочное путешествие по иноземным пейзажам, а нам лишь остается перед просмотром вспомнить, что название выбрано не случайно: парадокс Ферми заключается в том, что мы не видим никаких следов деятельности инопланетных цивилизаций, которые должны были бы расселиться по всей Вселенной за миллиарды лет своего развития.
Черная дыра
Образование черной дыры в результате коллапса центральной части галактики и протогалактического газа. Тут даже не 64K, а 4k Intro из 2015 года.
Протозвезда
Протозвезда — основа новой звезды. Протозвезды образуются на завершающей стадии эволюции звезд, вплоть до момента загорания термоядерных реакций в ядре, после которого сжатие протозвезды прекращается и она становится звездой главной последовательности.
Это звезда зажглась на платформе Android и получила 2-е место на фестивале NVSCENE2015.
Солнечный шторм
Мощнейшая вспышка на Солнце вызывает геомагнитный шторм, от которого землянам придется защищаться. Интересная стилизация под аниме.
Планета 7120
Научно-исследовательский зонд в поисках инопланетной жизни, сжатый до 8k intro (7120 байт), получил 2-е место на Riverwash 2016.
ИИ в космосе
Как не вспомнить HAL 9000. Компьютер прославился благодаря «Космической одиссее». А в этом демо перед нами его предшественник — HAL 4000. Еще не выработал у себя человеконенавистнические наклонности.
4085 байт кода. Релиз прошел на Chaos Constructions 2017 в Санкт-Петербурге.
Полет 4096 года
А вот и сама «Одиссея», переложенная в формат двухминутного ролика. 1-е место в категории ПК intro на Solskogen 2011. Размер файла — всего 4 килобайта!
Сингулярность пространства-времени
У нас нет описания пространства-времени вблизи сингулярности, и можно только догадываться, что творится за горизонтом событий. Но в одном авторы демо не ошибаются — в космосе действительно много интересного. Особенно если этот космос создан на компьютере Amiga.
Если захотите олдскула, в описании есть ссылка на демо. Для запуска потребуется собственно AGA-чипсет (или эмулятор).
P.S. Демо работает в режиме чересстрочной графики, что может создавать проблемы для эмуляторов.
Звездные войны
Звездные войны, какими их никогда не снимут. Потому что «сняли» их на 4K.
Путешествие по Луне
Когда они высадились, солнце вставало три дня подряд. Все детали рельефа были как на ладони. Как и задумано. Бедекер смутно помнил, как спустился по лесенке лунного модуля и ступил на поверхность. Долгие годы подготовки, тренировок и ожиданий сошлись наконец в одной точке пространства и времени, но в памяти осталось лишь смутное чувство тревоги и разочарования.
Никто не может быть более одиноким, чем человек на Луне. Теперь вы можете проникнуться этой мыслью лично, побывав в теле астронавта на поверхности спутника Земли в демке на 8 килобайт, выпущенной в 2017 году.
Другая планета
Представьте, что у вас есть возможность создать Землю заново. Какой вы сделаете планету: шарообразной, квадратной или абстрактной формы? И снова в бой идет демо для Amiga 1987 года.
Из глубокого космоса
Гиперпространственные полеты и модели различных космических кораблей, попавшие к нам прямо с норвежской демосцены.
Космический фанк
Разномастные космические события, стилизованные под рисованную игру. Завоевано 3-е место в категории короткометражных фильмов на Assembly Summer 2010.
Альтернативный космический корабль
По бесконечному черному космосу рассекает… Подводная лодка! Почему бы и нет, раз делает это она в демо, которое победило на демопати Icons 2012.
Конец света
Никто не знает, каким будет конец цивилизации, но вполне вероятно, что он придет из космоса и будет очень красочным. 1-е место на конкурсе Buenzli 18 demo.
Мир Дюны
Полеты в атмосфере недружелюбной опасной планеты, населенной Шаи-Хулудами и другими чудовищами.
Билет в космос
Красочное видеоприглашение на Demoscene.tv 2009 года. Видео было сделано с помощью Vegas, Illicions of Particle Illusion и 3DS.
Это все о звездах
Если представить все звезды в виде математических формул, а затем эти формулы перевести в геометрические проекции… Примерно так размышляли авторы этого демо, создавая свой необычный ролик, размером в 64 килобайта.
Завершающий аккорд
Эволюция звезд, рождение и смерть туманностей, формирование галактик из космической пыли — что-то такое представляется при просмотре этого демо, хотя авторы хранят молчание и, возможно, имели в виду нечто совершенно иное. Демка вышла на Ultimate Meeting '07, а создана была 15-летним кодером, использовавшим множество разных инструментов, включая C ++ и MS Paint.
Здесь, вероятно, собраны далеко не все демо на космическую тематику, поэтому все интересные ролики, о которых мы не вспомнили, добавляйте в комментарии. И, безусловно, перечислены не самые интересные демо всех времен и народов. Однако космос — это особая любовь. Ничто не сравнится с космосом.
Andy_Big
А эти демки используют какие-то библиотеки типа DirectX, OpenGL и т.п.? Если да, то, мне кажется, некорректно говорить о 64k (ничуть не умаляя таланта их создателей, но тем не менее).
grvelvet
Нет. На то она и демо сцена — кодерское искусство.
dmitryredkin
Вы это авторитетно сейчас говорите? Или понаслышке? Хотелось бы знать, каким образом ВООБЩЕ выводится видео без упомянутых API.
dmitryredkin
Ну вот, как обычно говорим о том, чего не знаем. 5 минут гугления, результат: С++, чаще OpenGL, реже DirectX, шейдеры очень интенсивно.
MacIn
Первая fermi paradox точно загружает OpenGL dllку.
Andy_Big
Тогда это не тру 64к демки :(
PKav
Ну а как их, вместо операционной системы, что ли, запускать, с загрузочного диска?
Andy_Big
А что, OpenGL уже стала операционной системой? :)
Запускать под ОС, разумеется, но обсчитывать кадры самостоятельно, как это было раньше
PKav
Так с ходу вылезет куча проблем, начиная с несовпадения частоты отрисовки, и заканчивая недостаточной производительностью программного GUI ОС. Придется переписать тот же OpenGL, написав при этом поддержку всех видеодрайверов и их расширений. Это уже далеко за 64 Кб.
Andy_Big
Вроде ж демки как раз и призваны демонстрировать мастерство в решении подобных проблем.
PKav
Видеокарт и драйверов наплодили уже великое множество и явно не собираются останавливаться.
Тут мастерство не решения проблем, а использования уже имеющихся инструментов на всю катушку. То есть любой набор стандартных инструментов, и код на 64к, который лихо с ними управляется. Ведь не спрячешь же в API какую-нибудь красивую модель на много мегабайт, чтобы у тебя демка выглядела круче всех.
Andy_Big
Да я в самом начале написал, что не умаляю заслуг создателей демок, но делать акцент на 64к когда задействуется на несколько порядков больше кода, считаю неправильным :)
PKav
Тогда вам стоит взглянуть на демки на микроконтроллерах. Там, по сути, к контроллеру напрямую подключен экран через SPI, динамики через ЦАП, и весь контроллер полностью в распоряжении программиста. Можно писать любые функции отрисовки и сразу отправлять результаты байтами на экран, где они будут отображаться пикселями.
Andy_Big
Вот это гораздо ближе к тем, изначальным демкам :)
alan008
Тру были под ДОС
Jamato
В правилах написано, что даже некоторые dll .NET удалены с машин на выставке.
aamonster
Вообще-то софтовая реализация освещения и шейдинга по Гуро занимает довольно мало места, на фоне 64k — вообще ни о чём. Так что говорить о 64k вполне разумно.
UberSchlag
Если английский — не проблема, то тут есть сырцы для демки Elevated от широко известного в узких кругах Inigo Quilez. Это, правда 4К, но тоже интересно. И, как видно — вполне себе вызовы dx9.
Там весь его сайт — копи интересных идей и подходов в шейдинге или обработке изображений, рекомендуется к изучению.
maxzhurkin
Протозвёзда — это, наоборот, начало эволюции звёзд
Arxitektor
А можно ссылки? И да как, как они сделали такую воду в первом видео?
В очень редких играх вода круче.
А ведь есть и игры демо. kkrieger вроде довольно известна )
ValdikSS
Все демки есть на www.pouet.net
slavius
И как там найти, например, первую из представленных тут?
pkruglov
Ссылки часто есть в описании или в комментах к ролику на ютубе. Первый тут — www.pouet.net/prod.php?which=67113
ValdikSS
Ввести в поиск название ролика.
Fox_exe
Вода — просто качественный шейдер (В плане кода — зачастую занимает в районе десятка строк).
misato
десяток строк, между прочим, это может быть очень много кода!
unwrecker
Смотреть это в видеозаписи — что нюхать розы в противогазе. Извините за заезженное сравнение:)
DistortNeo
Для многих демок нужны довольно мощные системы, так что гораздо проще смотреть видео.
KoToSveen
И чтобы это понять, нужно запустить оригинальную демку, а ссылок на них тут нет.
alan008
geektimes.ru/company/mailru/blog/293465/#comment_10339027
KoToSveen
Благодарю. Добавлю в закладки.
Vict777
Да, да, да демка 64К, но нужен очень мощный компьютер, вы бредите
dmitryredkin
Ни разу в жизни ни одна демка не пошла ни на одном из моих компьютеров. Сами компы как правило были мощные, но с нестандартными либо слабыми видеокартами.
Mopper
Мне вот интересно статистику посмотреть по платформам.
Какой процент пишется под Linux?
Есть ли уже скомпилированные под линукс демки?
Они пишут на чистом С или ассемблере? Можно подключать стандартную библиотеку С или С++
DistortNeo
А зачем её подключать? Она ж драгоценное место будет занимать.
MegaVaD
А ведь вспоминали на днях за рюмочкой чая, как о нечто несправедливо забытом :) Ссылок на сами демки не хватает, конечно. Обленился народ.
dredd_krd
Я вот ещё прекрасно помню farbrausch, демки типа ".fr08". Кстати, именно она однажды и перевернула мой мир: столько графики с музыкой, ещё и куча титров на 5 минут (в сумме 15 минут). На тот момент это казалось чем-то невозможным :)
alan008
Классные демки есть у группы Conspiracy, они первые места занимали несколько раз.
CreFroD
В немецком языке почти все существительные пишутся с большой буквы. Поэтому Ding.
tishevich
Почему нет линков на оригиналы демок?
AlexanderG
Почему-то на большинство демок ругается майкрософтовский антивирь.
Ndochp
Потому, что внутри у них то, что в нормальных программах не делают.
Wolframium13
Оптимизация?
Aleksey_M
Обычно на пакеры антивирусы ругаются. Используются сильножмущие мелкие пакеры, ими же пользуется и всякая вирусня. Те же проблемы бывают у кейгенов/патчей и др.
slavius
Один я рассчитывал увидеть демо, а не только видео? А где сами демки? Видео, конечно, хорошо, но в заголовке «демосцена» а не «видео демосцены».
nodeus
pouet.net — добро пожаловать в мир демосцены.
cicatrix
Знаете, что досадно? Пытался показать это своим не сведующим в теме знакомым и понял, что объяснить, насколько это круто, просто невозможно. Пожимают плечами и говорят, ну да, прикольно. А про 64 Кб объяснять просто бессмысленно.
Dioxin
«Он был так умен что мог оскорбить собеседника так что тот даже не обижался»
holy_desman
Да, авторская песня — такой жанр. Требовательна к слушателю. :)
Dioxin
5 минут, а кайфа больше чем от космического блокбастера.
Голливуд, але, возьми ребят на работу.
А то марсианская картошка в человеческом гуано не вставляет.
Manwe_SandS
Демокодер IQ из группы RGBA работает в Pixar, пишет шейдеры, всякий мех для зверушек и т.п… Pixar даже спонсирует файловый архив scene.org.
Manwe_SandS
Спасибо за отличную подборку! Приятно видеть в ней и свою работу :)
А ещё в 2003-2007 годах была серия из трёх бесподобных космических демок у группы MFX:
singularity — the universe, part 1
the planet — the universe, part 2
stellar evolution — the universe, part 3
Найти можно на pouet.net, вбив название в поиск.
azymohliad
А какая ваша из этой подборки?
Manwe_SandS
“HAL 4000” by the SandS (Keen+Manwe+Xanah)
aleksandros
Если бы все программы писались так искусно, выжимая каждый байт, то наверно «семёрка» уместилась бы на пачку дискет…
RomanArzumanyan
Семёрка бы не появилась, все были бы заняты выжиманием байтов.
Исходный код подобных демок сложен для понимания, разработки и поддержки.
Manwe_SandS
Необязательно код подобных демок сложен для понимания. На shadertoy.com много неплохо документированных демок (структура, комментарии и т.п.).
Системный код тоже понятный (взять хотя бы фреймворк IQ для 4kb intro на GLSL). Исходники музыки (обычно трекерные) даже проще читаются, чем проект в традиционном секвенсере.
Скорее, от обычной разработки демосцену отличает изначальная постановка цели «компактность». Может быть это поначалу и замедляет разработку (и то несильно), но после нескольких проектов всё идёт уже как по маслу.
misato
Всё-таки, когда появляются вот эти объяснения про gl, и directx, и шейдеры — всё это уже не так круто звучит (хотя это наверняка круто, по факту, просто это сложнее понять). То ли дело старые демки из 90-х, в которых вся графика была реализована в коде, они реально казались какой-то магией на ассемблере. Десяток-другой команд с какими-то сдвигами, а на выходе живое пламя во весь экран. Ух, восторг был и азарт.
frog
С этой точки зрения вполне аутентична нынешняя номинация 256 байт intro, где иногда бывают очень достойные работы:
www.pouet.net/prodlist.php?type%5B0%5D=256b&page=1&order=thumbup
misato
Спасибо! Это именно то, о чем я говорил ;)
Manwe_SandS
Я всегда скептически относился к Windows-демкам 2000-ых годов именно потому, что они перекладывали растрезацию полигонов и текстурирование на видеокарту.
Но сейчас в 4-килобайтных работах редко используют 3D-ускорение (полигональную графику). Вместо этого пишут натурально софтварный рендер (реймаршинг или что-нибудь ещё) на GLSL. В сравнении с 90-ми, процессор x86 сменился на процессор видеокарты, но весь код 3D-рендера точно так же пишут руками с нуля. Вернулись к софтварным корям, и это радует.
helgisbox
Уместить все это в компактный код — это великое искусство. Данному явлению уже столько времени, а оно все не увяло это радует. Спасибо за подборку! Всегда удивлялся подобным работам. Кстати, по поводу бинарников полностью поддерживаю: где их можно найти?
znsoft
эх ностальжи))) я там в 128/256 байтных постил) мои демки , даже незнаю можно ли их сейчас на чем запустить )
Cyberwarm
Круто, что это направление еще существует. Я когда-то в начале двухтысячных писал музыку, в том числе для демосцены. Весьма интересная задача. В те времена это делалось в трекерных форматах (Fast Tracker, Impulse Tracker, позже Modplug Tracker). Очень часто трек с музыкой занимал большую часть файла, так что кодеры визуальной части должны были умещать уже все не в 64 кБ, а в 20-30 кБ. Несмотря на обилие разных звуков в треках использовалось обычно очень мало семплов (3-5 штук всего, по 8 бит, совсем маленького размера), каждый из которых давал из себя выжать множество разных звуков. Был опыт, когда получилось написать трек только с семплом бочки. В нормальном режиме семпл играл как бочка. Затюненный вверх он был малым барабаном. Совсем высоко — нечто похожее на перкуссию. А хвост у бочки был синусообразный с небольшим количеством гармоник. Кусок хвоста я закольцевал и он был в нижнем диапазоне нот басом, повыше — электропиано, еще выше — что-то типа синтетических пэдов и струнных.
johnlepikhin
Сначала поразился качеству современного демостроительства. Потом прочитал про OpenGL и несколько разочаровался :) В моём мире демки — это .com файлы, то есть заведомо без сторонних библиотек. До сих пор не могу забыть демку 500 байт, которая в полноценный VGA 320x200x256 рисовала анимированный часовой механизм.
pkruglov
Просто соревнование теперь переместилось на другой уровень :) графику уровня первой демки в 64К com-файл засунуть в принципе невозможно.