Скажу сразу, что я не являюсь демомейкером, сценером или даже программистом, поэтому мое мнение — это всего лишь мое мнение. Я, так сказать, «любитель» что-ли.
Расскажу как «это» было у меня. Начинал я с советского полу-IBM совместимого компьютера «Поиск». Конфа: аналог i8088 процессора, CGA монитор. Начал «программировать» с batch-файлов (.BAT) ибо была книжка по MS-DOS и дискетка с этим самым MS-DOS. Никаких бейсиков, ассемблеров, паскалей или, тем более, си в помине не было, и переписать их откуда-то то же не было возможности. Потому как у всех остальных школьников тогда был минимум — китайский тетрис а как максимум — Dendy, в качестве высшего достижения компьютерной индустрии.
Но потом постепенно стали кое у кого появляться первые персоналки 286. Родители тащили их с работы, вместе с debug.exe и прочими qb.exe. Так, у меня начали появляться на дискетках комппиляторы с ЯВУ.
QB.EXE, или Quick Basic, да, появился у меня раньше, чем турбо паскаль, поэтому на чем кодить вопроса не вставало. Тем более откуда-то взялась книжка «Бейсик для статистиков» или что-то в этом духе. Что такое статистика я в то время конечно еще не догадывался, но вот интересные команды в этой книженции встречались (особенно для отрисовки графиков и тд).
Вот так появились первые наброски графических эффектов. Что такое «демо» никто не знал, но что такое «хранитель экрана» в том же Norton Commander видели многие. Вот так появился набор различных «хранителей экрана» если так можно сказать. С удивлением щаз отрыл в бекапах:
Year: 1992-93
CPU: i8088 4,73 Mhz
Arc: MS-DOS, Quick Basic
Никакого матана здесь ессно нет — только циклы, только рандом, только целые числа. В общем только хардкор (тоска лютая), но тогда на «том самом» компе лично у меня вызывало восторг (особенно эффекты с кругами, как щаз помню )
Затем откуда-то появился turbo.exe, знаменитый Turbo Pascal. Тут же была куплена книжка Фаронова. Параллельно эксперементировал с debug.exe, вникал в команды ассемблера. И начался у меня период «системного» программирования, если так можно выразится: всякие многочисленные конвертеры, дисковые утилиты, графические редакторы, MOD-плееры, игры-змейки, com-криптеры, BMP-вьюверы и тд и тп.
Как систематизация всего этого «системства» в 1997 году мы с одним приятелем начали воять файловый менеджер, да такой, чтоб волкова уесть с его 64Kb размером запускаемого файла. У нас должен быть размер запускаемого файла быть меньше, а функционал больше. В целом — затея удалась, хоть и не до конца. Но наш файловый менеджер таки работал и таки содержал в себе зубодробительный удобный редактор и всякие утилиты для работы с дисками. Вот он собственной персоной — Horizont Present Commander:
И вот, дабы как-то разрекламировать данный продукт, была закодена такая мини-интра:
Year: 1998-99
CPU: Pentium 166Mhz
Arc: MS-DOS Pascal/assembler
Матан вообщем-то есть, типа Sin и Cos, но в целом алгос скомунизжен из Disaev Demo Guide кажется, с небольшими изменениями и оптимизацией на ассемблере. Музыка конечно тоже скомунизжена откуда-то.
Вскоре у меня появился мопед на 33.6, и тут же была создана BBS станция. Ну а какая BBS может без BBStro? Так родилось это чудо:
Year: 1999-2000
CPU: Pentium 166Mhz
Arc: MS-DOS Pascal/assembler
Эффект чисто мой, но в целом — уныл и тормозил чуть меньше, чем на видео, но тормозил. Тоже синусы и косинусы в основном. Никакого сверхвысокого матана.
За время системного кодерства были и эксперементы с графическими всякими эффектами, но так, в основном копи-паста с откуда-нибудь стыренных сорцов с изменением разве что коэффециентов и быть может, наложением своих фильтров. Ну пара-тройка своих эффектов. В общем и целом весь этот баян собрать в какую-либо дему так и не удалось. Да и не хотелось, потому что стыдно. Но теперь, спустя уже почти как 15 лет, решил достать со шкафа арвид и попытаться склеить подборку тогдашних «эксперементов». Здесь далеко не все, а только то, что хоть как-то работало и не выглядело ужасающе глючным:
Хотя нужно сказать, что каждый алгоритм переписывался мной с нуля, в основном с ассемблерной оптимизацией. Вот так выглядят часть исходников из 3D Tor:
Begin GetMem(P,64000); Asm mov ax,13h int 10h End; Port[$3c8] := 1; For I := 1 to 63 do Begin Port[$3c9] := i; Port[$3c9] := i; Port[$3c9] := i; End; p1 := 0; p2 := 0; Repeat Asm les di,p db $66,$33,$c0 mov cx,320*200/4 db $f3,$66,$ab End; p1 := p1+0.03; p2 := p2+0.03; Asm fld p2 db $d9,$ff {fcos} fimul o30 fiadd o100 fstp r1 { r1 := 100+cos(p2)*30} fld p1 db $d9,$fe {fsin} fimul o20 fiadd o50 fstp r2 { r2 := 50+sin(p1)*20} End; c1 := 0; Repeat c2 := 0; Repeat Asm fld c2 db $d9,$ff {fcos} fld r2 fmul fld r1 fadd fst r { r := r1+cos(c2)*r2} fld c1 db $d9,$fe {fsin} fmul fstp x { x := r*sin(c1)} fld c1 db $d9,$ff {fcos} fld r fmul fild o200 fadd fstp z
Что же теперь, спросит пытливый читатель? А, — ничего. Дом, семья, работа — работа, семья, дом. Хотя нет-нет, да и захочется тряхнуть стариной. Например, закодить «огонек» для какого-нибудь авто-навигатора или, немного ранее, для видео-открытки на MIPS из журнала Vogue: тот же огонек или sinedots. В общем, для девайсов, которые попадаются в руки.
Что же касается заголовка статьи, то вы — первые люди, после меня, кто видит все это спустя каких-то 15 лет.
PS: И помните: make demo or die!
Автор: tronix286