Демо, которых никто никогда не видел

в 12:12, , рубрики: demo, demoscene, intro, метки: , ,

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

Расскажу как «это» было у меня. Начинал я с советского полу-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


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js