www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Вопросы новичка

 
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Демо
Предыдущая тема :: Следующая тема  
Автор Сообщение
kHerz



Зарегистрирован: 06.03.2012
Сообщения: 2


СообщениеДобавлено: Вт Мар 06, 2012 23:20    Заголовок сообщения: Вопросы новичка Ответить с цитатой

Здравствуйте, старейшины демосцены)

Где-то лет эдак 5 назад я наткнулся на демку Binary Flow с Assembly 2005 и парочку других(их названия запамятовал). Скажу сразу, несмотря на свою, казалось бы, простоту(в визуальном плане) она меня очень впечатлила, поскольку и видео ряд довольно красочный и динамичный, да вдобавок и музыка прекрасная. С тех пор благополучно забыл о BF. И вот, буквально на днях, лазая по ютубу, наткнулся на плейлист с видео отрендеренных демок. Только просмотрев их и после несколько кратких статей, осознал насколько это сложная и интересная культура! Меня словно, как говорится, замкнуло! Теперь я горю желанием научиться творить. Очевидно, нужно определить базовые точки для старта. Так как я новичок в этой области, то у меня накопилось ооооооочень много вопросов. Да, можно перелопатить интернет в поисках ответов, но, думается, лучше спросить у людей, которые могут на них ответить.

Вот некоторые из них:
1) На чем(языки, среды программирования) пишется код демосцен? Какие книги стоило бы прочитать для начала? В программировании я не силён(т.е. владею С++, Delphi на уровне школьных задач). К тому же наверняка придется ознакомиться и с некоторым математическим аппаратом.
2) Как создается геометрия сцен? Обилие сложной геометрии поражает меня более всего при просмотре разных 64k intro. Насколько я понимаю, она создается отдельно с помощью спец. редакторов, экспортируется в виде кода и потом вшивается в демку при компиляции. С трудом представляю, чтобы человек вручную пытался записать поверхность человеческого тела в виде кода. Моделируют же наверняка в чем-то вроде 3d max.
3) Только ли в трекерах пишут музыку? Или это не принципиально(хоть FL, Reason, Cubase), а вопрос заключается лишь в необходимой кодировке аудио, что бы его можно было использовать? Особенно интересует случай демок с одним лишь исполнительным файлом (встречал демки, состоящие из .exe и рядом лежащего аудио файла, к которому судя по всему и обращалась сцена).
4) Как при таком количестве составляющих(музыки, геометрии, кода различных визуальных эффектов) добиваются столь малого объема исполнительного файла в kb intro?

Буду крайне признателен, если посоветуете действительно интересные(в плане исполнения/идеи) и зрелищные демо, которые стоит увидеть.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mikle



Зарегистрирован: 02.12.2008
Сообщения: 416
Откуда: Туапсе

СообщениеДобавлено: Ср Мар 07, 2012 09:47    Заголовок сообщения: Ответить с цитатой

Ресурсы для демо не сжимаются, а генерируются (синтезируются). Можно использовать небольшие заготовки (семплы).
Например, музыкальный синтезатор всего лишь умеет генерировать четыре вида волны - синус, меандр, пилу и шум, но позволяет менять частоты и амплитуды, модулировать один сигнал другим, для всех параметров задавать графики изменения. Так подбирается звук, похожий на нужный по задумке. Для тех звуков, которые сложно таким образом сымитировать, используют максимально короткие семплы. Есть и другие способы, например физическое моделирование:
http://www.demoscene.ru/forum/viewtopic.php?t=431
Так же можно генерировать текстуры или геометрические формы.
Первые шаги в генерации текстур:
http://www.gamedev.ru/community/toolcorner/articles/TFScript
Для генерации текстур и форм часто применяют фракталы.
Из языков применяют ассемблер, C, C++, но допустимы и Дельфи и т. п. Я вообще пишу в основном на VB6, и ничего, даже 4к демо получаются.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
SCRIMERS



Зарегистрирован: 21.03.2008
Сообщения: 269
Откуда: Sevastopol

СообщениеДобавлено: Чт Мар 08, 2012 01:57    Заголовок сообщения: Re: Вопросы новичка Ответить с цитатой

Здравствуй!
0) Во-первых, понятия. Демосцена - субкультура. Продукты демосценеров в основном это: интро (один исполняемый файл размеров 256б, 1Кб, 4кб, 64кб, 96кб), демо (формата размеров нет, читай больше 64-96Кб). Также это музыкальные диски (musicdisc), игры, электронные журналы (емаги или дискмаги - "dis magazine"), и тп. Употреблять к демке понятие "демосцена" выглядит странным.

1)Писать можно на всём впринципе. Ответ не абсурден, просто из соверменных смый используемый наверно С\С++. Хотя я на делфях пишу, Майк на ВБ. К тому же не забываем про другие платформы - ZX, Amiga сейчас приобретают популярность мобильные технологии (Java), и веб-технологии (Flash, javascript, php даже).
Тебе обязательно понадобится знание какого-либо из графических интерфейсов (OpenGL, DirectX). Вообще надо хорошо знать также и среду разработки, в которой ты работаешь (я это особенно ощутил, когда писал интру на VS).
МатАппарат наверно сразу особенно не понадобится, но вопрос в том, что ты подразумеваешь под маттаппаратом. Например в своей первой работе (vekmnabkmv) я использовал трансцендентные кривые. О них я вообще узнал благодаря тому, что стал писать интру, формулы взял на википедии и просто реализовал это. В последней работе (in the mood) для создания толпы людей мне понадобилось немного понаблюдать за людьми, как они ходят и я понял, что махи руками и ногами можно описать как колебания.
А так вообще я не математик, на 4,5 знаю).

2) Для надо знать граф. ин-фейсы, о чём я писал. В основном для этого идут шейдеры. Да, никто вручную (кроме меня, практически) координаты точек и множеств не забивает. Я в своё время выяснил у бывалых сценеров, что куда быстрее и выгодней написать\использовать тулзы, которые будут генерировать данные под графику, музыку, чем писать руками или использовать демосистемы.

Вот, как-то обсуждая работу (ars nova) товарища ФантомЛорда кто-то говорил, что он использовал 3дМакс для модельки формулы1. Так у меня сразу стал вопрос о том "как?" если там куча точек и лишних данных на выходе будет. А мне пояснили, что лишнеее всё убирается и остаётся минимально возможный "каркас" данных о модели таким образом, чтобы на этапе загрузки проги модель формулы1 доапроксимируется в идельную машину - во как!
Конечно не забывай, что не только 3дМакс.

3) Для интро только трекер или синтезатор (Quite Samplepool рекомендую - только для С\С++). Иначе расход места будет просто невозможный. Для демо всё что угодно.

4) Ты ещё забыл сказать про текстуры. Вообще для интро наверно всё, что возможно сгенерировать - генерируется. Представь, что у тебя сцена (именно как момент работы программы) космоса - планеты в виде шаров и корабль в виде параллелипипеда. Самый простой способ взять из 3дмакса экспорт данных шара и кубика сделать, и использовать их. Но только данных куча, а толку мало. Можно просто использовать много раз одну формулу для создания шара и куба ,а потом эти данные в память занести и использовать. При этом в отличии от первго способа ты хранишь не данные, а программный код реализации алгоритма. Он значительно меньше и его можно лучше сжать (тут меня возможно знающие люди ткнут пальцем).
Опять же знание среды разработки (IDE) даёт возможность определённым образом создать ехе файл, что при определённых опциях будет оптимизировано в размерах. И окончательно всё это дело упаковывается специальными архиваторами (rar и zip здесь не то).
Т.е. вопрос в том, что хранить - сами данные или алгоритм (слепок) их генерации.

5) Советую наших посмотреть Quite, fox, Phantom Lord, Crolyx, BiTL, unc, and.
Забугорных - mfx, faurbrausch, asd, rgba,
Вот тебе список работ, по критерию популярности http://pouet.net/prodlist.php?order=views
Себя не советую. У меня нет технически "вау"-реализованных работ.

Все работы ищи http://pouet.net, а также на http://demoscene.ru/demo/ - Манве отбирает лучшие работы, или те, на которые стоит обратить внимание.

Также советую посмотреть темы с вопросами на этом форуме, которые создавал - у меня тоже были в своё время вопросы. Думаю они тебе помогут.
Удачи!
_________________
на русской Сцене мы удивляем друг друга тем, что вообще что-то делаем (с) manwe
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Tronix



Зарегистрирован: 02.11.2011
Сообщения: 72


СообщениеДобавлено: Чт Мар 08, 2012 12:02    Заголовок сообщения: Ответить с цитатой

Скажу сразу, что я не являюсь демомейкером, сценером или даже программистом, поэтому мое мнение - это всего лишь мое мнение. Я так сказать "любитель" чтоле.

Расскажу как "это" было у меня. Начинал я с советского полу-IBM совместимого компьютера "Поиск". Конфа: аналог i8088 процессора, CGA монитор. Начал "программировать" с batch-файлов (.BAT) ибо была книжка по MS-DOS и дискетка с этим самым MS-DOS. Никаких бейсиков, ассемблеров, паскалей или тем более си в помине не было, и переписать их откуда-то то же не было возможности, ибо у всех остальных школьников тогда был минимум китайский тетрис а как максимум - Dendy в качестве высшего достижения компьютерной индустрии.

Но потом постепенно стали кое у кого появляться первые персоналки 286. Родители тащили их с работы, вместе с debug.exe и прочими qb.exe. Так, у меня начали появляться на дискетках комппиляторы с ЯВУ.

QB.EXE, да, появился у меня раньше, чем турбо паскаль, поэтому на чем кодить вопроса не вставало. Тем более откуда-то взялась книжка "Бейсик для статистиков" или что-то в этом духе. Что такое статистика я в то время конечно еще не догадывался, но вот интересные команды в этой книженции встречались (особенно для отрисовки графиков и тд). Вот так появились первые наброски графических эффектов. Что такое "демо" никто не знал, но что такое "хранитель экрана" в том же Norton Commander видели многие. Вот так появился набор различных "хранителей экрана" если так можно сказать. С удивлением щаз отрыл в бекапах:

Year: 1992-93
CPU: i8088 4,73 Mhz
Arc: MS-DOS, Quick Basic

http://www.youtube.com/watch?v=u5nDTe0vGEU

Никакого матана здесь ессно нет - только циклы, только рандом, только целые числа. Вощем только хардкор (тоска лютая), но тогда на "том самом" компе лично у меня вызывало восторг (особенно эффекты с кругами, как щаз помню Smile )

Ну а дальше появился turbo.exe, тут же была куплена книжка Фаронова. Параллельно эксперементировал с debug.exe, вникал в команды ассемблера. И начался у меня период "системного" программирования, если так можно выразится: всякие многочисленные конвертеры, дисковые утилиты, графические редакторы, MOD-плееры, игры-змейки, com-криптеры, BMP-вьюверы и тд и тп.

Были и эксперементы с графическими всякими эффектами, но так, в основном копи-паста с откуда-нибудь стыренных сорцов с изменением разве что коэффециентов. Ну пара-тройка своих эффектов. В общем и целом весь этот баян собрать в какую-либо дему так и не удалось, да и не хотелось.

Ну что, как систематизация всего этого "системства" в 1997 году мы с одним приятелем начали воять файловый менеджер, да такой, чтоб волкова уесть с его 64Kb размером запускаемого файла. У нас должен быть размер запускаемого файла быть меньше, а функционал больше. В целом - затея удалась, хоть и не до конца. Но наш файловый менеджер таки работал и таки содержал в себе зубодробительный удобный редактор и всякие утилиты для работы с дисками. И вот, дабы как-то прорекламировать данный продукт была закодена такая мини-интра:

Year: 1998-99
CPU: Pentium 166Mhz
Arc: MS-DOS Pascal/assembler

http://www.youtube.com/watch?v=09DnOsSUsFU

Матан вообщем-то есть, типа Sin и Cos, но в целом алгос скомунизжен из Disaev Demo Guide кажется, с небольшими изменениями и оптимизацией на ассемблере. Музыка конечно тоже скомунизжена откуда-то.

В то же время появился у меня помед на 33.6, и тут же была создана BBS станция. Ну а какая BBS может без BBStro? Так родилось это чудо:

Year: 1999-2000
CPU: Pentium 166Mhz
Arc: MS-DOS Pascal/assembler

http://www.youtube.com/watch?v=zH7b1I3MN4E

Эффект чисто мой, но в целом - уныл и тормозил чуть меньше, чем на видео, но тормозил. Тоже синусы и косинусы в основном. Никакого сверхвысокого матана.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tronix



Зарегистрирован: 02.11.2011
Сообщения: 72


СообщениеДобавлено: Чт Мар 08, 2012 13:43    Заголовок сообщения: Ответить с цитатой

Вот, все равно болею, делать нечего - решил пошариться по старым бекапам, и скомпоновать все мои графические экзерсисы в единый ролик.Никаких супер-пупер эффектов там конечно нет, все сплошной баян-прибаян, но написано и соптимизированно было собственноручно, пускай и подглядывая в чужие сорцы иногда. Это к вопросу на тему, "с чего начинать?".

Вот они тут: http://www.youtube.com/watch?v=RDAeZm3W9kQ
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kHerz



Зарегистрирован: 06.03.2012
Сообщения: 2


СообщениеДобавлено: Чт Мар 08, 2012 15:21    Заголовок сообщения: Ответить с цитатой

Mikle
SCRIMERS
Tronix
Спасибо, по большей части я узнал составляющие минимального набора необходимых знаний Smile

Полагаю, теперь я уяснил суть intro-демо - показать нечто впечатляющее, при этом доводя до максимума долю генерируемых алгоритмами элементов, избегая применения готового контента(вроде сэмплов, текстур, моделей).
Коротко - делая невозможное возможным.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2940


СообщениеДобавлено: Чт Мар 08, 2012 17:26    Заголовок сообщения: Ответить с цитатой

kHerz писал(а):
Mikle
SCRIMERS
Tronix
Спасибо, по большей части я узнал составляющие минимального набора необходимых знаний Smile

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


Генерировать или хранить готовые текстуры, сэмплы, модели - это не важно. Если номинация demo - то ограничение на объём обычно не менее 64мб, и в этом случае уже никто давно ничего не генерирует (ну за редким исключением), музыка тоже используется mp3, написанная любыми удобными стредствами.

Если номинация интро-64к, то нужно уложиться в 64 килобайта, и тогда естественно много заготовленного контента не упакуешь, приходится использовать генераторы текстур, специальные музыкальные синтезаторы (есть готовые и общедоступные, но можно и самостоятельно что-то сделать).

Есть ещё более "дикие" номинации - 4 кб интро, и даже 256 байт интро. Там уже чистый код.

- - - - - --

Чтобы начать программировать демо нужно познакомится с основами компьютерной графики. Можно начать изучать OpenGL.
Математический базис конечно понадобится, но главное чувство прекрасного, изобретательность и желание писать демо Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
f0x



Зарегистрирован: 23.09.2007
Сообщения: 496


СообщениеДобавлено: Пт Мар 09, 2012 08:24    Заголовок сообщения: Ответить с цитатой

изверги, не мучьте человека уже, дайте ссылки на инкуб, хуги, и семпл dx|ogl минимальный
_________________
кто сделал демку тот и выигралSmile (с) uncle night (?)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SCRIMERS



Зарегистрирован: 21.03.2008
Сообщения: 269
Откуда: Sevastopol

СообщениеДобавлено: Пт Мар 09, 2012 10:27    Заголовок сообщения: Ответить с цитатой

f0x писал(а):
изверги, не мучьте человека уже, дайте ссылки на инкуб, хуги, и семпл dx|ogl минимальный

Фокс ну есть они на форуме. Я в своё время теже вопросы задавал. В темах, что я создавал пусть смотрит.
Иначе тогда проще оформить FAQ. :Ъ
_________________
на русской Сцене мы удивляем друг друга тем, что вообще что-то делаем (с) manwe
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2940


СообщениеДобавлено: Пт Мар 09, 2012 23:59    Заголовок сообщения: Re: Вопросы новичка Ответить с цитатой

kHerz писал(а):

2) Как создается геометрия сцен? Обилие сложной геометрии поражает меня более всего при просмотре разных 64k intro. Насколько я понимаю, она создается отдельно с помощью спец. редакторов, экспортируется в виде кода и потом вшивается в демку при компиляции. С трудом представляю, чтобы человек вручную пытался записать поверхность человеческого тела в виде кода. Моделируют же наверняка в чем-то вроде 3d max.


Есть несколько основных способов:

- Создание геометрии сцен в спец.редакторе, который в последствии сохраняет не данные о самих 3д-моделях, а лог их построения, впоследствии интро имеющая ядро этого спец.редактора воссоздаёт геометрию по этому логу. На этом принципе построены демо-тулзы(демо-системы) Werkkzeug, Plasticator и наверное другие. (генерация текстур и звуковых сэмплов обычно делается по этой же схеме)

- Создание 3д-моделей в 3D-max (или любом другом проф.редакторе), последующая "деградация" моделей в Low-poly (в низкополигональную модель). В движке интро создаём процедуру тесселяции модели (тоесть повышаем её детализацию и сглаживаем), сейчас всё проще, DirectX 11 и OpenGL поддерживают тесселяцию. До сих пор всё делалось ручками (всмысле свои алгоритмы писались). Примеры интр где модели созданы таким образом:
http://pouet.net/prod.php?which=55550
http://pouet.net/prod.php?which=12821

- raytracing, ray-casting - популярные ныне технологии, которые получили новую жизнь на демосцене с развитием пиксельных шейдеров и мощностей видеокарт. Все сцены строятся трасировкой, тоесть никаких полигональных моделей нет. В данном случае сцены обычно абстрактные, поскольку объекты задаются функцией.
Примеры таких интро:
http://pouet.net/prod.php?which=55758
http://pouet.net/prod.php?which=53605

- генерирование геометрии процедурно. Процессором или шейдером, неважно. Обычно генерируются скейпы, тоесть поверхность. Горы, пустыня, море и т.п. Но и другие штуки тоже. Трактор там, или человека конечно не сгенеришь функцией ) Но какой-нить мудрёный кубик или шарик - это запросто.
Пример использования шейдеров для создания лэндскейпа:
http://pouet.net/prod.php?which=52938 (трудно поверить, но это 4кб)

- - - - - -

Ну и конечно же не забываем про exe-пакеры, без которых ни о каких 64кб, а темболее 4кб речи быть не может Smile

kkrunchy - для 64кб-интро http://pouet.net/prod.php?which=26088
Crinkler - для 4кб http://pouet.net/prod.php?which=18158

- - - - - - -
Для музыки, если идти по пути наименьшего сопротивления, юзаем
v2 (для 64кб-интро) http://pouet.net/prod.php?which=15073
4klang (для 4кб) http://pouet.net/prod.php?which=53398
- - - - - - -

Естественно демо-тулзы это не мэйнстрим-софт, и поэтому к нему нужно приловчится, изучить нюансы и повозится с прикручиванием к своему проекту.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Демо Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах