Wyobraźcie sobie, że są ludzie, którzy pamiętają starego Bloka i znaleźli nowego (wiem o dwóch, a dwóch to więcej niż jeden i jeszcze więcej niż zero).
Stary Blok był obwieszony pluginami jak choinka czy też jak alfons łańcuchami. Jednym z nich był plugin umożliwiający zasubskrybowanie bloga na maila! Najśmieszniejsze jest to, że znaleźli się nai... prawdę odważni, który się zapisali! Przemilczę ilość, dość powiedzieć, że w tamtych czasach admini z hostingu dzwonili, żebym przestał być tak popularny, bo im baza serwery zarzyna. Tak, wyobraźnia to piękna sprawa.
Teraz jednak zdziczałem, paranoja w pełni, serwer schowałem do skarpety i myślę, że dam radę ten ciężar udźwignąć.
Całą noc importowałem listę adresów, więc jeżeli byłeś zapisany, to już dostałeś spama. A jeżeli nie, to masz okazję:
Napisałem, że niektóre stare wpisy z Bloka będą się co jakiś czas pojawiać. Dziś jest pierwsza taka okazja i pojawi się pięć archiwalnych artykułów naraz (oczywiście z jednym motywem przewodnim). Na początku jednak trochę didaskaliów i nostalgii.
Podczas rozmowy w gronie, którego to grona charakteru nie potrafię jednoznacznie określić, przypomniało mi się, co bardzo chciałem kiedyś w życiu robić i chyba nadal chciałbym.
Z dwadzieścia lat temu chciałem pisać gry komputerowe.
Dwie nawet stworzyłem.
Pierwsza powstała na przełomie podstawówka / technikum i była to moja wersja gry Sokoban, czyli, jakże oryginalnie nazwany - PaBreKOBAN. Patrząc na to teraz, z perspektywy czasu - samoszacun. Dostęp do internetu kosztował wtedy konkretne pieniądze, które trzeba było zostawić w "kafejce", więc w zasadzie rozkminiałem całość na podstawie:
oraz wydruków "tutoriali" z dyskmagazynów takich jak Tankard, Wrotki czy Dragon - głównie do części pisanych w asemblerze x86.
Sama gra wyglądała mniej więcej tak:
Przejrzałem źródła i jest to napisane od zera, z własną biblioteką graficzną w asemblerze, własną obsługą bitmap, pakowaniem danych we własne, nazwijmy to archiwa itp. Jakość kodu momentami rozkłada, ale to wiem teraz, prawie dwadzieścia lat później. W zasadzie, jestem z tej gry dumny.
Tu akurat zrzuty z DOSBoxa, bo, jak mniemam z powodu moich "wysokiej jakości" wstawek asemblerowych, gra nie chce się za bardzo odpalać na współczesnych systemach...
Zauważyłem też, że moja wersja trafiła na czyjąś zbiorczą listę klonów Sokobana:
To znaczy, że ktoś to znalazł i odpalił. Co prawda chyba mu się trochę sypało, ale to i tak prawie jak sukces, czyż nie?
Skończmy wpadanie w samozachwyt i wspomnijmy jeszcze o drugiej ukończonej przeze mnie grze. Tym razem trafiło na grę wzorowaną na Tronie. O szczegółach poniżej, w "oryginalnych" wpisach sprzed lat. Mnie natomiast kusi zrobienie tego na nowo, w sposób dla mnie nowy, powiedzmy w Pythonie i z obsługą grania po sieci.
A potem... później podbiję świat swoją przygodówką. Ale to już inna historia.
Poniższy wpis został opublikowany 21 czerwca 2011 roku. Prezentowany bez istotnych zmian i poprawek. Poprawiłem formatowanie oraz linki. Gra, o której we wpisie wspominam, to Achtung, die Kurve!
Tron PaBre'go odnaleziony!
Wiedziałem, że gdzieś to mam.
Źródła TRON-a w moim wykonaniu.
Historia jest prosta. Jeszcze za czasów technikum, grywaliśmy w MegaBlast, Zuzel (ten kultowy, jednoklawiszowy), czy Tron'a.
Wszystkie pozwalały na grę przynajmniej czterem (a Tron sześciu) graczom na jednej maszynie (i jednej klawiaturze...) oraz działały na dostępnym nam wtedy supersprzęcie typu 386 - 486.
Tron jakiego posiadaliśmy był z ,,ulepszeniami'' - można było skręcać pod dowolnym kątem i trafiały się "eventy" typu przyspieszenie akcji etc.
Później, zamiast robić karierę i zarabiać pieniądze, poszliśmy na studia. Studia dzienne na uczelni publicznej rządzą się specyficznymi prawami - na przykład normą jest, że zajęcia są od 8 do 10, a później od 14 do 16...
Coś przez te n godzin robić trzeba, a pojemność piwna jest ograniczona (nawet studenta). W tamtym czasie posiadałem wielkiej mocy laptoka - mała Toshiba zdaje się z Pentium 133. Rozstawiając się z tym na stołach pod aulami wywoływałem niemałe poruszenie - to były już czasy Core2Duo w laptokach.
Przypomniały nam się Tron-o-rozgrywki. Niestety, nie byliśmy w stanie wygooglać ,,naszej'' wersji gry - prawdopodobnie miała inną nazwę.
PaBre ma jednak czasem przebłyski, czasem chce sprawdzić, czy potrafi, albo czy ,,się da''. W ten sposób, w ciągu jednego ,,okienka'' między zajęciami powstała moja wersja gry. W ciągu kilku dni została w miarę dopracowana (wszystko tworzone tylko i wyłącznie na wydziale) i mogliśmy grać w 6 osób na maleńkim ekranie, z archaiczną matrycą o żałosnych kątach widzenia i maleńkiej laptokowej klawiaturze. Czysta, niczym nieskażona frajda!
Brakowało menu czy możliwości konfiguracji - zmiana ilości graczy lub mapowania klawiszy polegała na zmianie stałych w źródle i przebudowaniu programu. Kilka ,,upgrejdów'' tam jednak zakodowałem - pojawiają się przeszkadzajki, jest rozbudowana punktacja (punkty dostaje się za każdego, kto rozbił się na twoim śladzie). Skręty są ,,klasyczne'' - pod kątem prostym. Oficjalny powód to przywiązanie do tradycji, a tak naprawdę bolała ilość potrzebnych obliczeń - chcieliśmy sobie pograć, a nie optymalizować program, żeby wszystko działo w miarę szybko.
Teraz odnalazłem źródła - jest także DOS'owa binarka. Co najfajniejsze - gra kompiluje się i w dzisiejszych czasach bez problemu. Tak więc mam już Linuksową binarkę. Grywalność jest niestety mizerna, bo wszystko działa ,,trochę'' szybko.
W ciągu kilku dni postaram się jednak uniezależnić prędkość działania od sprzętu i dodać możliwość konfiguracji.
Zaraz później z wielką pompą zrobimy premierę i podbijemy Świat 🙂
Poniższy wpis został opublikowany 21 czerwca 2011 roku. Prezentowany bez istotnych zmian i poprawek. Poprawiłem formatowanie oraz linki.
Tron PaBre'go - informacje dodatkowe.
Szybko pojawiły się pytania, poza tym kilka kwestii sam chcę wyjaśnić.
Tron PaBre'go został napisany w standardowym języku, do zastosowań ,,nieważne jak, ma szybko powstać i byle działało, w miarę...'', czyli C z domieszkami z C++. A w zasadzie to w C++ pisanym w stylu C. Sami wiecie - taka programistyczna schizofrenia.
Biblioteką graficzną jest Allegro. Zrezygnowałem z mojej niezniszczalnej 13h (tej od PaBreKOBAN'a, animowanych szeregów Fouriera itp), bo jednak 320 x 200 to w tym przypadku zbyt mało.
Program powstał w DJGPP. Wyszedł całkiem zgrabny - zaledwie około 240 linii, ale trzeba przyznać, że kilka jest ,,spakowanych'', np takich:
Maksymalna liczba graczy jest w zasadzie nielimitowana - ale ograniczaliśmy się do sześciu.
Ilość graczy oraz klawisze są konfigurowalne jedynie w źródle.
Rozdzielczość - dowolna, konfigurowalna oczywiście w źródłach. Graliśmy w 640x480.
Pozycja startowa jest losowana.
Sterowanie jedynie dwuprzyciskowe - ,,w lewo'' oraz ,,w prawo''.
Losowe są zdarzenia dodatkowe - pojawianie się ,,kulek przeszkadzajek'' lub wysyp pojedynczych pikseli (na wszystkim się oczywiście można rozbić - ale wysyp pikseli trzeba zlikwidować - to był nieudany pomysł).
Każdy gracz po rozbiciu się zostawia na ekranie emotki (losowe położenie) - w swoim kolorze, więc rozbicie się na nich powoduje naliczenie punktów.
Punktacja jest prosta - "last man standing" otrzymuje dwa punkty, dodatkowo każdy z graczy otrzymuje punkt za każdego, kto rozbił się na jego śladzie.
,,Starą'' binarkę dla DOS'a mogę udostępnić, ale nie mam starej wersji biblioteki Allegro. Czy będzie działać z nową - nie wiem. W DOSBox'ie nie działa.
Linuksową binarkę także mogę udostępnić. Biblioteki każdy sobie kombinuje wtedy na własny rachunek 😉
Źródeł nie upublicznię. Wstydzę się.
Poniższy wpis został opublikowany 21 czerwca 2011 roku. Prezentowany bez istotnych zmian i poprawek. Poprawiłem formatowanie, linki i jednego strasznego babola ortograficznego. We fragmencie o kolei i drogach miejcie na uwadze, że był to okres, kiedy droga nad morze kończyła się w Łodzi, a dalej "nie było niczego", natomiast w przypadku PKP... nadal można było się przejechać kiblem z drewnianymi siedzeniami, ewentualnie w zimie usmażyć jajka na plastiku.
Minęło ponad pół roku od ostatniego wpisu na Bloku.
Był to wpis nt Portfolio i poszukiwania przeze mnie pracy. Mam nadzieję, że czytelnicy szybko kojarzący fakty, potrafili odtworzyć sobie moją sytuację - tak, znalazłem pracę, całkowicie wybiło mnie to z rytmu i Blok nieco się zakurzył.
Powrót do stanu stabilności co prawda trochę trwał - ale powiódł się. Może gdyby automatyka nie była w piątki na 8 rano, to potrafiłbym zbudować lepszy regulator życia, taki który szybciej tłumiłby drgania... Najważniejsze jednak jest to, że tłumi a nie generuje 😉
Ostatnimi czasy mamy wysyp zaskakujących, niespodziewanych, wręcz niesamowitych zjawisk. Zaczęło się (owszem, dosyć dawno) od wypuszczenia przez Blizzarda patcha 1.10 do Diablo 2. Teraz ukazał się Duke Nukem Forever. Nie grałem, nie wypowiem się. Postanowiłem jednak wskoczyć do strumienia zmian i zjawisk wręcz magicznych. Udostępnię źródła TRON'a by PaBre.
Całe szczęście, istnieją jeszcze rzeczy niezmienne, punkty oparcia, prawdziwe Gwiazdy Polarne na Ziemi - umożliwiające odnalezienie się w dynamicznej rzeczywistości, powrót do własnego ja i swojego miejsca we wszechświecie - polskie koleje i polskie drogi.
O odnalezieniu źródeł mojej wersji gry informowałem, z dokładnością do minuty, rok temu.
Kod jest ohydny, zawiera mnóstwo perełek w stylu:
struct player { char klr; char kll; int kolor; int px; int py; float dx; float dy; int lockright; int lockleft; int zywy; int punkty; };
Urzekające, nieprawdaż? W jednej strukturze mamy zmienne po polsku, zmienne po angielsku, a nawet schizofrenię w pełnym wydaniu - dwa języki w jednej nazwie - klr, to zapewne skrót od ,,klawisz right''.
Nie chcę upubliczniać takiego potwora, dlatego kod zostanie wydany za kilka dni, po małej kosmetyce.
Poniższy wpis został opublikowany 26 czerwca 2011 roku. Prezentowany bez zmian i poprawek.
opentron - pierwsze upublicznione źródła PaBre'go
Zgodnie z zapowiedzią - stało się.
Źródła minigry, stworzonego na kolanie, na wydziale uczelni, klona TRON'a - ujrzały światło dzienne.
Jak się okazuje, jakiś czas temu trochę poprawiłem całość, dodałem menu i konfiguracja nie wymaga już rekompilacji 😉 Nadal jest to jednak oprogramowanie napisane ,,na szybko, na kolanie'' - jeżeli ktoś cierpi na nadmiar wolnego czasu - może poprawiać.
Rozdzielczość należy zmieniać ręcznie w pliku ,,setup'' - nie wiem dlaczego tak zrobiłem, nie miałem siły i chęci dociekać.
Po wyświetleniu punktacji, nową rundę zaczyna się spacją.
Wyjście jest możliwe w każdym momencie, poprzez naciśnięcie ESC - wychodzi się z programu całkowicie. Oczywiście to tak ma być! To nie bug, to ficzer...
Nie-windowsowcy wklepują make i (zakładając, że mają odpowiednie biblioteki - w Debianie potrzeba liballegro-dev) sekundę później mogą grać.
Dla fanów Billa chciałem zrobić binarkę, ale poległem. Nie rozumiem tego systemu, nie znam się, nie potrafię, ja tu tylko sprzątam. Nawet już pod DOS'a nie ma lekko - DJGPP zdziczało...
Przykro mi - może kiedyś się zmuszę, może ktoś to skompiluje i podrzuci binarkę...
Źródła opentron'a (tak nazwałem projekt), na licencji GNU GPL v3, można dorwać po HTTP, lub SVN'em: http://xp-dev.com/svn/opentron/
W swoich archiwach mam jeszcze jeden wpis związany z tematem przewodnim - TRONem. W zasadzie nie na temat, ale aby trochę ostudzić swoje własne grafomańskie zapędy (bo to mi się straszne wydaje) - re-publikuję.
Poniższy wpis został opublikowany 31 grudnia 2010 roku. Prezentowany bez istotnych zmian i poprawek. Poprawiłem formatowanie oraz linki. Usunąłem jeden żałosny "żart".
PaBrecenzja - TRON: Legacy
Po marnym 2.5D, którego doświadczyłem na seansie Avatar'a, nie zamierzałem prędko wybierać się na kolejny film "czy de".
Ale TRON.
Są takie wydarzenia w życiu, w których po prostu trudno byłoby nie wziąć udziału. Własne narodziny. Gwiezdne Wojny w kinie, format c:, no i teraz dołączył do tego TRON. Nieważne co myślę o 3D, nieważne że zapowiadała się kapa, nieważne że popcorn.
Cypis: ,,PaBre, idziemy na piwo''
PaBre: ,,No, jakiś dzień koniecznie''
Cypis: ,,Taaa... no to idziemy do kina (na film)''
PaBre: ,,Ueee jakoś nie mam ochoty''
Cypis: ,,Na TRON-a''
PaBre: ,,Gdzie i kiedy mam być?''
Odkopałem płytkę z klasykiem, obejrzałem rano, a po południu wydaliśmy 25zł od łebka w ajmaksie.
Nie potrafię zrozumieć jednego - dostaję te śmieszne niedopasowane bryle, jestem na filmie "3D", przed filmem są reklamy - niektóre dotyczą filmów 3D. Dlaczego one są płaskie?
Alkoholik mode on - obraz się rozdwoił, pora zakładać okulary. Startujemy.
Napisy końcowe, zbieramy się.
A teraz to co pomiędzy. Uwaga, tekst może być z lekkim zabarwieniem spoilerowym, dlatego jeżeli jeszcze nie widziałeś filmu, to jesteś większa dupa kinowa ode mnie i możesz nie czytać dalej.
Fabuła jak fabuła. Przecież nie po to się idzie na taki film. O ile oryginalny TRON był czymś nowym i fabuła mogła być liczona na plus (tak naprawdę była słabiutka, ratował ją geekowo - nerdowy klimat, nawiązania, świeżość i styl) to po nowym w wersji fabularnej spodziewałem się dokładnie niczego. I nie zawiodłem się. Całość co prawda jest ,,Disney'owska'', ale od kiedy ta wytwórnia podpisuje się pod dziełami typu Hania Góralka i bajkami wyglądającymi jak rzygi z Kartonowej Sieci, to nie jest to wyznacznikiem czegokolwiek. Tak więc fabuła jest. Nie przeszkadza, można ją z czystym sumieniem pominąć i cieszyć się filmem.
TRON: Legacy jest tym dla TRON'a, czym nowe Gwiezdne Wojny były dla Gwiezdnych Wojen. Z tą tylko różnicą, że w Star Wars'ach mieliśmy Jar Jar Zaraz Wyjdę z Kina, a tu mamy Quorrę (znaną, ekhem ,,szerzej'', jako Trzynastka z Doktora Dom), w stylu Umy Thurman z Pulp Ficion, na którą w zasadzie nie można się napatrzeć 😉
Akcja jest. Wszystko błyszczy, wybucha, miga. Całkiem sympatycznie się to ogląda. ,,Bogata'' paleta barw jest chyba żywcem wzięta z 1982 roku. "3D" oczywiście obsysa z każdej strony i jest kompletną porażką. Naprawdę, nie warto. Lepiej iść na wersję przed okresem dojrzewania, a zaoszczędzoną kasę wydać na piwo albo drugi film, dla odmiany może być taki z fabułą.
Muzyka to zdecydowanie najsilniejsza strona filmu. Soundtrack jest dostępny od kilku tygodni i po raz pierwszy w swojej karierze malkontenta, znałem muzykę do filmu przez zobaczeniem filmu. Soundtrack jako ,,standalone'' jest dobry, a nawet bardzo dobry. Muzyka kojarzy się nawet ,,nie-nerdom'' z ,,muzyczkami z komodore czy atari'', a do tego ma klimat. No po prostu ma. Udało się Daft Punk'owi. To chyba wystarczy za komentarz i rekomendację. Od siebie dodam, że utworów mogłoby być mniej, ale za to dłuższych. Zaś w filmie dopasowanie jest świetne, może to zasługa tego, że jak wiadomo ,,lubi się tylko te utwory, które się zna''. Po raz pierwszy jednak byłem naprawdę zadowolony z udźwiękowienia filmu i nagłośnienia w kinie. Jak coś zrobiło pierdut, to było to słychać i czuć.
Lukier i cukierki. Czyli to, po co tak naprawdę ogląda się na TRON: Legacy. Nerd-owy lukier i Geek-owe cukierki. Film jest pełen nawiązań, aluzji i żartów. Niektóre są podane dosyć ordynarnie, część jest subtelna, większość cieszy. Sporo jest nawiązań do TRON'a z roku 1982. Nie brak odniesień do technologii ,,teraz i wtedy'', cieszy uniksowa konsola i `kill -9` 😉 pełno (ale serio: cała masa) jest nawiązań do Gwiezdnych Wojen i Gier Wojennych, Terminatora czy Matrixa. Jest i Łowca Androidów, w dodatku w dobrym wydaniu. Ostatnie sceny są jednoznaczne, ale pierwsze sceny w Grid'zie (po wessaniu juniora) - mają klimat Blade Runnera. Te kilka(naście) sekund jest fenomenalne. Naprawdę. O Pulp Fiction już wspominałem. To tylko najbardziej jaskrawe i oczywiste przykłady. Muzycznie (pod względem jakości klimatu) miewałem skojarzenia z Sorcerer'em (Cena Strachu). Jest tego więcej, część też mi zapewne uciekła. No i jest jeszcze coś lokalnego, czyli gejowaty program Zuse. Dla mnie został ZUS'em. Wielka szkoda, że w tej roli nie został obsadzony David Bowie. Jak to się mówi, to by było ,,epic''. (Przy okazji kolejny smaczek - sprawdźcie sobie kim był Konrad Zuse, bo Alan Bradley chyba jest oczywisty)
Tutaj warto zauważyć, że napisy są po prostu do dupy. Największą (zaraz po pomyleniu babci z dziadkiem) perełką jest przetłumaczenie "grid" jako ,,sieć''. Słownikowo to to może nie jest źle, ale kontekst... Jednym słowem napisy trzymają poziom tłumaczenia ,,Bones'' z Polsatu. A ja po prostu nie potrafię nie przeczytać tekstu, który pojawia się w zasięgu mojego wzroku, nawet jeżeli go przeczytać nie chcę.
Drugi raz się na pewno do kina nie wybiorę, ale gdyby mnie zmuszali, to z dwu powodów uległbym: muzyka i Quorra. Film jednak jeszcze kiedyś na pewno zobaczę z własnej woli, także w poszukiwaniu nawiązań i podtekstów, które mi umknęły.
Czy polecam? Ten film nie należy do kategorii ,,rzeczy polecane / odradzane''. Jeżeli jest to film dla Ciebie, to doskonale o tym wiesz i zapewne już na nim byłeś(aś). W ostateczności dopiero pójdziesz, ale wiesz, że nie ma takiej siły na tym świecie, która by Cię przed tym powstrzymała. Nieumrzeć też się niestety nie da.
Zaś jeżeli jesteś biedną dziewczyną, człowieka będącego jednym z nas (odwrotnej sytuacji nie potrafię sobie wyobrazić, nieważne jak bardzo się staram) i zostałaś zaciągnięta do kina - sorry.
Show must go on. Ale koncerty będą bardzo nieregularne. Pogodziłem się jednak z pewną kwestią, która zabiła Bloka na kilka lat. Było to usilne pragnienie udostepnienia wszystkich starych wpisów.
Nie ma. W całości i na raz nie będzie. Posiadam całą bazę wpisów, ale w XXI wieku nie da się zrobić kilku rzeczy. Jedną z nich jest konwersja pomiędzy bazami, w których trochę za dużo się namieszało (w pewnym momencie szlag trafił kodowanie znaków). Inną sprawą jest jakość samych artykułów - nieco czasu minęło, trochę inaczej sformułowałbym niektóre myśli, innych w ogóle.
Niektóre stare wpisy jednak powrócą w odświeżonej wersji.