Prawie Wolfenstein w 600 liniach kodu - zgadnijcie jaki to język zanim klikniecie
Gdy pozbawimy grę obsługi skomplikowanych procedur wspierających oświetlenie czy renderowanie obrazu, kod będzie znacznie prostszy
O tym, że optymalizacja kodu jest bardzo ważna nie tylko ze względu na jego czytelność, wie każdy kto liznął choć trochę programowania. O tym jak potężne mogą być języki skryptowe, zapewne też słyszeliście. Za pomocą skryptów sterowane są na przykład ogromne teleskopy astronomiczne.
Oto demonstracja możliwości jakie tkwią w znanym użytkownikom linuxa bardzo przydatnym narzędziu AWK, które dedykowane jest przede wszystkim manipulowaniu danymi w plikach tekstowych.
Kod w AWK, który można pobrać z tej strony liczy tylko, czy aż 600 linii. Jest napisany schludnie co ułatwia rozgryzienie działania poszczególnych procedur. A efekt? To gra, która przypomina legendarnego Wolfensteina. Oczywiście nie mamy tu grafiki 3D z wysokiej rozdzielczości teksturami, a jedynie 3D symulowane za pomocą kolorów i znaków ASCII.
Tak wygląda Wolfenstein w AWKu
Najszybciej efekty mogą zobaczyć użytkownicy Linuxa, którzy muszą jedynie zainstalować (jeśli już nie mają zainstalowanego) interpreter AWK i wykonać skrypt. Poniżej polecenia jakie trzeba wydać by zainstalować gawk (wymagana wersja 4 lub nowsza), pobrać skrypt AWK i uruchomić go.
Źródło: Hack A Day
Komentarze
11W asemblerze na MS-DOS można to zrobić z teksturą w 128 bajtach (to mniej niż post na twitterze):
http://finalpatch.blogspot.com/2014/06/dissecting-128-byte-raycaster.html
W HTML5 można to zrobić w 256 bajtach (to mniej niż ten post):
http://www.p01.org/wolfensteiny/
A w 4 kilobajtach można już zrobić na MS-DOS wolfa ciężkiego do odróżnienia od oryginału:
http://www.pouet.net/prod.php?which=6799
J
http://www.rom-game.fr/news/1974-Wolfenstein+-+600+lignes+de+code+AWK+suffisent+!.html