Konkurs NOMAM: BASIC Ten-Liners 2015 by Adam Wachowski 2015-01-30 18:39:51
Gunnar "Bunsen" Kanold ogłosił zasady tegorocznej, czwartej
już edycji konkursu na najlepszą grę mieszczącą się w 10 liniach
kodu języka BASIC. Konkurs tradycyjnie organizowany jest z okazji
niemieckiego zlotu miłośników komputerów retro NOMAM ("Not
Only Marvelous Atari Machinery") odbywającego się wiosną w
Lubece.
W roku 2011 była to zabawa ograniczona do kodowania na żywo podczas
trwania party. Analogicznie było w 2013 roku, a 6 powstałych
wówczas dziesięciolinijkowców zostało zgłoszonych do konkursu
programistycznego ABBUC jako jeden zestaw gier (efekt: niezłe 9.
miejsce na 14 zgłoszeń).
Przełomowy był rok ubiegły, kiedy to konkurs ogłoszono wcześniej na
forach, a zgłoszenia były przyjmowane z całego świata (z Polski
wystartowali Pirx, Ilmenit, mgr inż. Rafał, Sikor i Kuba Husak) –
łącznie powstało 40 gier. Została nawet wydana
książka ze wszystkimi grami i informacjami o ich autorach.
W tym roku organizatorzy idą za ciosem i jeszcze bardziej
rozszerzają formułę, zarówno jeśli chodzi o platformy, jak i
dialekty języka BASIC. Oto ich pełna lista:
Rywalizacja będzie prowadzona w następujących kategoriach:
1. Kategoria "PUR":
Linia kodu może zawierać maksymalnie 120 znaków, skróty są
dozwolone.
2. Kategoria "EXTREM":
Linia kodu może zawierać maksymalnie 256 znaków, skróty są
dozwolone.
3. Kategoria "LIVE":
W trakcie zlotu NOMAM zostanie ogłoszone zadanie programistyczne,
które ma być rozwiązane w ciągu 2 godzin
Zasady:
- nie można doczytywać danych ani kawałków programu;
- program nie może zawierać instrukcji kodu maszynowego;
- używanie POKE-ów jest dozwolone (żeby np. zmodyfikować Display
List, grafikę Player-Missile);
- deadline: zdalnie – środa 8 kwietnia, godzina 21:00 czasu
letniego środkowoeuropejskiego (maile przesyłamy na adres
GKANOLD-małpka-gmail-kropka-com), na miejscu – sobota 11 kwietnia,
godz. 21:00;
- głosowanie, a potem przyznanie nagród: sobota 11.04 o 23:30;
- wraz z kodem powinien być dostarczony również plik tekstowy,
zawierający opis i instrukcję gry;
- programiści wyrażają zgodę na publikację tych programów, opisów i
instrukcji przez organizatora;
- głosować mogą wyłącznie uczestnicy zlotu NOMAM w Lubece.
"2047" Pirxa - zwycięzca w kategorii EXTREM w
2014
"Moonlander" Stefana Dorndorfa (2013)
"Flappy" Pirxa (2014)
pin 2015-01-30 20:57:00
Da się obejść regulamin na dwa sposoby. Jeden umożliwia zapisanie większej ilości danych w linii, niż zazwyczaj (np. 160 znaków + skróty instrukcji), drugi trick zastosował onegdaj w podobnym konkursie Magnus, pisząc pracę w asm ;) pin 2015-01-30 21:01:36
np. teraz mam w tbxl jedną linię na pięć linii. 190 znaków :D Adam 2015-01-30 21:28:46
Pin, nawet nie przeczytałeś tego, co jest powyżej, prawda? Bo po co, jak można napisać jakiś komentarz ;) Wyraźnie jest napisane, że istnieje odrębna kategoria z liniami do 256 znaków ze skrótami. A wywoływanie kodu maszynowego jest niedozwolone. pin 2015-01-30 21:50:36
... przeleciałem wzrokowo do punktu zasady - przepraszam ;)
Ale co do kodu maszynowego, to nie jestem przekonany. Może inaczej zapytam - czy można użyć instrukcji REM i dowolnych znaków po niej następujących, oraz zapisać 2* poke i wyjść do DOS? Odpowiedz na takie pytanie. Adam 2015-01-30 22:16:08
@pin: intencja organizatorów jest jak rozumiem taka, że nie można tak zrobić. Bunsen już raz zmieniał treść odpowiedniego punktu regulaminu, w tej chwili brzmi on "the 10 lines of the programm can not contain self-written machine code". Nie wykluczam, że ta treść będzie przez organizatorów jeszcze ulepszana i doprecyzowywana, żeby przekaz dla różnych "spryciarzy" był klarowny :) pin 2015-01-31 01:09:55
Czyli nie można korzystać z instrukcji REM mimo, że nie jest to jasno powiedziane? ;)- Adam 2015-01-31 11:25:10
Samo REM jest oczywiście dozwolone :) Ale jeśli po REM umieszczasz sekwencję, która ma realizować kod maszynowy, to zostanie to potraktowane jako "self-written machine code". Tak to rozumiem. Najlepiej jest wyjaśniać wątpliwości u źródła, w zasadach podany jest adres głównego organizatora. Być może po wysłuchaniu Twojej argumentacji Bunsen poprawi odpowiedni punkt. Adam 2015-01-31 11:31:28
A jeśli masz pomysł na świetnego dziesięciolinijkowca i blokuje Cię tylko niemożność użycia instrukcji po REM, to nie przejmuj się, pisz śmiało :) Najwyżej NOMAM odrzuci zgłoszenie w konkursie, ale ludzie mogą taki program docenić. My chętnie go opublikujemy i opiszemy. Pozdrowienia! pirx 2015-02-01 21:08:05
teraz w regulaminie są dwa wiersze na temat ML:
- Call of machine language programs are prohibited - the 10 lines of the programm can not contain self-written machine code
Czyli nie tylko USR jest zabronione, ale trick z DOS też, bo to jest niewątpliwie "Call of ML". Przed tym dopiskiem można by sobie wyobrazić wywołania ML z ROMu za pomocą komendy DOS. Adam 2015-02-01 21:41:24
No niezupełnie - pierwsze zacytowane przez Ciebie zdanie zostało zastąpione przez to drugie, tyle że Bunsen nie wie, jak zmienić swój pierwszy post na AtariAge i pierwsze ciągle tam wisi :) Na oficjalnej stronie to pierwsze zdanie jest wyczernione jako nieaktualne: http://gkanold.wix.com/homeputerium#!10liners/c15hi Adam 2015-02-01 22:51:25
Zgłoszony został kolejny dziesięciolinijkowiec na Atari: "K1nderc0mp" - autor: ponownie Chris "atariland2600" Read. pirx 2015-02-02 01:04:29
no to chyba fiaktycznie nie byłoby wbrew regulaminowi wywołyłać coś z ROMu za pomocą komendy DOS. mono 2015-02-02 12:15:04
Albo przerwania :) Adam 2015-02-03 11:38:46
Pojawiła się w konkursie kolejna gierka na Atari: "Mini-Breakout", autor: Adrian Groves ZbyniuR 2015-02-05 00:29:41
Devilmarkus to ten sam co stworzył emulator JavaCPC. :) Adam 2015-02-05 21:46:05
Zaktualizowałem listę zgłoszeń - w tej chwili jest ich 11, z czego 6 na Atari.