|
|
|
|
Толкс
/
Artwork
Что можно уместить в одном секторе диска...
|
Bogdan Kobets
|
|
16-11-2005 / 13:43 |
2489 просмотров |
[5 комментариев]
|
Автор дальнейшего текста неизвестен.
Есть ли еще такие, кто не слышал про 64K Demo ака 64кб демки? Судя, по все новым и новым «инфарктам», хватающих даже "продвинутых" 3D МAKС-истов после просмотра «fr-08», такие есть. Эти ролики созданы в 1999-2002гг.
Итак! Демо ролики это, зачастую, программы– 3х мерные движки, демонстрирующие различные геометрические фигуры и сцены. Красивые и не очень, продуманные и бессмысленные, размером, как правило, в десятки и сотни мегабайт под Windows. А почему же мало кто сможет создать именно такую демку?
Вы, видать, забыли про слово 64кб. Это максимальный(!) допустимый объем файла ролика, который поставлен в условия создания! Еще в 80-х годах прошлого века такой размер памяти был у карманных микрокалькуляторов CASIO. Профи, создавшие его, сделали это дело бесплатно, просто, что бы посмеяться над лохами, выпускающих гигабайты и разгрызают этих монстров гигагерцы... Этот файлик можно открыть в отладчике и списать код на несколько листочков. Еще для сравнения,- всего лишь светящееся изображения трех иконок в уголку на рабочем столе ("Мой компьютер", "Мои док." и "Корзина") занимают примерно столько же памяти. Не шедевр...
Нет, куда же Вы? Вы считаете, что "современный" деморолик должен идти не пару секунд, а эдак минут 5-10, показывать не какой-то квадратик с текстуркой размером в эти самые (смех в зале) 64кило? И чтобы звук был не калькуляторным попискиванием, а хотя бы пяток-другой мегабайт электронной МР3-стерео, а лучше 3D-музыки?
И все-таки не спешите, скачайте этот «fr-08» файл. Даже на самом паршивом модеме загрузится в секунды. Вкратце говоря, это работа тех программистов, художников, математиков из Фарб Рашен, которым начхать на то, что там считают себе Биллы Гейтсы и другие "передовые" технологи. В середине демки пойдет текст (кстати, только он сравним по объему 64кб в доке), почитайте и давайте от души посмеемся. А потом задумаемся...
Просмотрели? Как, какими методами, этим программистам удалось запихнуть целый мини-мир в 64 килобайта? Пока, кроме них самих, это неизвестно никому. Но предположений и споров по этому поводу много. Как?!
Попробуем порассуждать и мы. Скорее всего это совершенное владение программированием на ассемблере. Когда речь идет о столь сложных вещах, тут уже не то, что в сегодняшних программных продуктах под Виндовс - мегабайт туда - мегабайт сюда. Нет. Мало кто сегодня в совершенстве владеет ассемблером, в отличие от прошлого. Если программист действительно хорошо с ним дружит, чтобы он не писал, конечный размер и мощность (быстродействие) его продуктов будут превосходить аналогичные показатели любых программ, написанных на любх языках программирования высоких уровней. И как правило во много раз. Но не в в сотни же, и не в тысячи!
Ладно, с языком программирования понятно. Ясно, что одного ассемблера не хватит, чтобы можно было создать столь грандиозное творение столь ничтожного размера. Простейший анализ показывает, что используя «суперсовременные» Майкрософт-технологии, от сжатия до самых немыслимых и сложных, это невозможно в принципе. Средний размер битмапа обоев для рабочего стола в стандартном разрешении 1024х768 даже сжатый с потерями в JPG составляет сотни КВ. И это один кадр. А ведь в одной демосцене их десятки тысяч, в которых присутствует порядка 200 текстур, 5-15 минут звуковых эффектов, не говоря уже об описании самого игрового мира, координат, движений камеры, источников света и т.д. Да и сам текст…
В таких жестких условиях хранение какой-либо информации даже в суперсжатом исходном состоянии было бы недопустимо - размер таких демок мигом бы превысил пару десятков мегабайт - в лучшем случае. Безусловно все, абсолютно все объекты, включая музыку, генерируются по алгоритмам компьютером. Возможно, одна из технологий, это применение фракталов - самоподобных объектов. На эту тему среди программистов было переломано немало копий. Теоретически фракталы можно описать математическими уравнениями. Но к сожалению тут есть проблемы. В частности очень тяжело преобразовать какой-то, например 3D обьект, во фрактал, т.е. получить его уравнение. Непонятно, каким способом они ищут алгоритмы для решения этой проблемы, - единственным известным на сегодня методом является прямой перебор. И никто не может точно сказать, когда будет найдено уравнение того или иного обьекта. Зато фрактал это фактически безграничная вселенная. Его можно как обычную картинку уменьшать и увеличивать. В отличии от обычной картинки, при увеличении фрактала происходит не пропорциональное увеличение его пикселей - т.е. попросту приближения картинки, а происходит полная перерисовка картинки. Отсюда следует много замечательных свойств фракталов. Например, то, что, сколько бы мы не увеличивали и не уменьшали фрактал, он всегда будет абсолютно четким - ведь при любых его размерах, минимальная точка всегда равна пикселю. Кроме этого, из фрактала можно получить картинку любого размера - ведь он по ширине и высоте так же безграничен, как и по глубине. Еще очень интересно то, что, как правило, при сильном уменьшении или увеличении фракталов, мы получаем практически абсолютно новую картинку. Т.е. из очень удачного образца фрактала можно получить множество текстур.
Но не стоит думать, что из фракталов получают исключительно текстуры. Они вполне пригодны для построения трехмерных объектов, задавая своими результатами координаты их вершин. Из фракталов также иногда генерируют миди-дорожки, которые преобразуются синтезатором в звуковое сопровождение. Опять же это лишь предположения. Просмотрите 64КБ ролик «fr-019». И опять, не все так просто.
В частности, как я уже говорил, описать нужную нам картинку фракталом практически невозможно. А может для составления нужных текстур, объектов и т.д., используется наложение нескольких (десятков?) фракталов. Возможно. Но по крайней мере не все строится на фракталах. Очень много обычных математических выражений используется для описания сцены. Например, в «fr-08» явно присутствовали кубическая формула и экспонента. Заметно, что большинство 3D обектов имеют традиционную, полигональную структуру. Можно встретить и использование случайных величин. Например, плазма, преобразованная по своему цвету в высотные характеристики точек.
А теперь скачайте 64КБ ролик без единой текстуры «fr-030 candytron_party».
Говорят некий «GiZMO» с «CHAOS» из этих самых Фарб Рашен написал его всего за 52 бессонных часа, после чего бросил недоделанным.
|
|
|
|