Jak mogę nauczyć się szalonej sztuki demokodowania 4K?

Bardzo lubię demoscenę, szczególnie te małe exefile 4K. Nie mają żadnych zależności z wyjątkiem plików już znalezionych w systemie windows i wykazują niesamowitą moc programowania: grafika 3D + dźwięk, wszystko w 4K.

Jak to możliwe? Jakiego języka używają? Jakie są narzędzia handlu, najlepsze praktyki i ważne strony internetowe?

Uwaga: Proszę odpowiadać tylko wtedy, gdy wiesz o czym mówisz, bezużyteczne odpowiedzi typu " um, myślę, że używają asm " zostanie odrzucony. (to nie jest przeciwko asm, ASM jest wielki)

 29
Author: George, 2009-05-13

4 answers

Algorytmy kompresji cechują się oczywiście dużą funkcjonalnością, podobnie jak krótkie mechanizmy indeksowania dużych ilości danych i głęboka znajomość dostępnych bibliotek w docelowym systemie. (Te rzeczy można po prostu połączyć.)

Na Twoim miejscu zacząłbym od inżynierii wstecznej Twoich ulubionych demek 4k; być może zaczynając od tych sprzed 7-10 lat i pracując naprzód, aby podążać za najnowszymi osiągnięciami. Analiza danych wyjściowych kompilatora również jest dobrym miejscem do rozpoczęcia mają tendencję do optymalizacji prędkości, a nie przestrzeni.

Techniki programowania wbudowanego mogą być również pomocne, biorąc pod uwagę ograniczenia, pod którymi działają regularnie.

 10
Author: Dan Davies Brackett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-13 16:59:50

W międzyczasie znalazłem świetną stronę zajmującą się kodowaniem 4K:

IN4K

 12
Author: George,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-26 05:29:44

Inigo Quilez ma kilka przykładów Intro 1K i 4K. Możesz się od nich wiele nauczyć. Zobacz też inne jego artykuły.

Artykuł o Tiny PE autorstwa Alexandra Sotirova jest również interesujący.

 5
Author: Jan Deinhard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-15 16:07:41

Może nie jest to dokładnie to, czego szukasz, ale w tym samym duchu: istnieje kilka konkursów Java 4k. Celem jest stworzenie demo Java lub nawet gry (!), który całkowicie mieści się w pojedynczym słoiku o max 4096 bajtów.

Patrz np.

Http://www.mojang.com/notch/j4k/l4kd/

LUB

Http://javaunlimited.net/contests/java4k.php

Można by argumentować, że Java znacznie ułatwia pracę (ponieważ można korzystać z całego runtime), ale to wciąż imponujące (a Ty jesteś wieloplatformowy i nie musisz się uczyć asemblera ;)).

 3
Author: sleske,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-13 17:01:39