Zaloguj się

Jog Jajcusia

xmpp:jajcus@jajcus.net

Mój jest ten kawałek Internetu…

…złe emocje i brudne buty proszę więc zostawić przed drzwiami.

Dofus pod PLD Linux

…czyli walki z Adobe AIR.

Przeglądając The Linux Game Tome natrafiłem na opis gry Dofus. MMORPG, z ładną grafiką, ale bez zbytnich wymagań do sprzętu (grafika 2D) – wyglądało zachęcająco, postanowiłem więc spróbować.

Ściągnąłem instalator, uruchomiłem… i nic, okazuje się że RPMowych dystrybucji nie obsługuje. Jak to tak?! Odpaliłem z opcją '--keep', żeby zobaczyć co jest w środku i ewentualnie zainstalować ręcznie. W środku trochę plików, skrypt instalacyjny, deinstalacyjny i jakaś binarka „UpLauncher”. Spróbowałem odpalić binarkę, brakowało starej wersji libjpeg. W PLDowych CVS na szczęście jest spec, to dobudowałem, doinstalowałem i coś ruszyło. Ruszyło, „uaktualniło grę”, ale odpalić już się nie dało. Okazało się, że czegoś brakuje…

Znalazłem logi (po francusku) i rzeczywiście jakby jakiś plików brakuje. Zajrzałem do skryptu instalacyjnego (komentarze częściowo po francusku) i zrozumiałem, że to miało sobie jeszcze Adobe AIR zainstalować, potem tym Adobe AIR zainstalować grę z plików *.air, a dopiero to ostatecznie jest uruchamiane…

Udałem się więc do Adobe po to całe AIR. Do wyboru paczki 'deb', 'yum', 'rpm' i 'bin'. Wybrałem ostatnie, nie licząc na kompatybilność tego RPMa z PLD. Okazało się jednak, że to 'bin' to niby samo-rozpakowujące-się-archiwum, ale potem i tak próbuje budować i instalować RPM. Budować w PLD tym bardziej nie umie, więc nic z tego nie wyszło. Wziąłem więc paczkę rpm (albo jednak z tego 'bin' coś wykopałem, nie pamiętam)… coś się zainstalowało.

Zainstalowanym „Adobe AIR Application Installer” próbowałem zainstalować „Dofus.air” i „Reg.air” jak to miał robić skrypt instalacyjny Dofusa. Nie udało się. Okazało się, że ten cały „application installer” też próbuje jakieś RPMy budować, co mu nie wychodzi. Czemu nie można jak np. z javowymi aplikacjami „java -jar cośtam.jar”? Ja rozumiem, że developerzy postawili sobie za cel zrobić tak, że user dwa razy kliknie w paczkę i mu się zainstaluje jak każda inna aplikacje, ale żeby to osiągnąć strasznie przekombinowali jednocześnie zapewniając sobie kompatybilność tylko z kilkoma konkretnymi dystrybucjami, właściwie uniemożliwiając użycie tego w innych…

W końcu, jakoś strasznie hackując udało mi się to jednak opanować i grę zainstalować tak, że zadziałała. Właściwie zadziałało wszystko poza dźwiękami i urwanymi tekstami NPC już w samej grze (ten drugi problem najwyraźniej doskwiera też innym linuksowym użytkownikom Dofusa). Skoro zadziałało, to sobie trochę pograłem. I spodobało mi się. Prawie że noce nad tym zarywam, jak kiedyś nad Crossfire ;-)

Wciąż jednak nie dawało mi spokoju pytanie: „czy na prawdę nie dałoby się prościej”. I dzisiaj wygooglałem coś takiego: Adobe® AIR on Gentoo Linux. Artykuł ten mówi jak można uruchamiać aplikacje AIR używają ichniejszego SDK. Bez żadnych śmiesznych „instalatorów” próbujących budować paczki. Sprawdziłem, rzeczywiście działa. Przygotowałem też „uproszczoną procedurę” instalacji Dofusa pod prawie każdym Linuksem (poniżej). Co więcej, tym razem udało mi się uzyskać także dźwięk! :-)

Instalacja Dofusa pod ulubioną dystrybucją

  1. Ściągnijmy Adobe AIR SDK z http://www.adobe.com/cfusion/entitlement/index.cfm?e=airsdk
  2. Zainstalujmy Adobe AIR SDK (tutaj do /opt, więc potrzebne prawa roota):
    mkdir -p /opt/AdobeAIRSDK
    cd /opt/AdobeAIRSDK
    tar xjvf AdobeAIRSDK.tbz2
    cat >/usr/local/bin/adl <<'EOF'
    #!/bin/sh
    
    exec /opt/AdobeAIRSDK/bin/adl "$@"
    EOF
    
  3. Ściągnij instalator Dofusa dla Linuksa ze strony gry i rozpakuj do tymczasowej lokalizacji. To (i wszystko następne) już z prawami zwykłego użytkownika.
    mkdir /tmp/dofus-inst
    cd /tmp
    wget http://dl.ak.ankama.com/games/dofus2/setup/DofusInstall.run
    chmod a+x DofusInstall.run
    ./DofusInstall.run --keep --noexec --target /tmp/dofus-inst
    
  4. Stwórz katalog dla gry (tutaj w $HOME/Gry/Dofus) i rozpakuj tam aplikacje AIR:
    mkdir -p ~/Gry/Dofus
    cd ~/Gry/Dofus
    mkdir -p share/reg
    cd share
    unzip /tmp/dofus-inst/Dofus.air 
    cd reg
    unzip /tmp/dofus-inst/Reg.air
    cd ../..
    
  5. Stwórz pliki wykonywalne dla tych aplikacji:
    mkdir -p bin share/reg/bin
    cat >bin/Dofus << 'EOF'
    #!/bin/sh
    
    exec /opt/AdobeAIRSDK/bin/adl -nodebug ~/Gry/Dofus/share/META-INF/AIR/application.xml ~/Gry/Dofus/share
    EOF
    chmod a+x bin/Dofus
    cat >share/reg/bin/Reg << 'EOF'
    #!/bin/sh
    
    exec /opt/AdobeAIRSDK/bin/adl -nodebug ~/Gry/Dofus/share/reg/META-INF/AIR/application.xml ~/Gry/Dofus/share/reg
    EOF
    chmod a+x share/reg/bin/Reg
    
  6. Oryginalny instalator robi jakieś dziwne symlinki. Więc i my je zróbmy:
    mkdir share/reg/share
    ln -s ../Reg.swf share/reg/share/Reg.swf
    ln -s ../content share/reg/share/content
    
  7. Teraz skopiujmy pliki z instalatora:
    cp /tmp/dofus-inst/UpLauncher share
    cp /tmp/dofus-inst/games.xml share
    chmod a+x share/UpLauncher
    
  8. I zróbmy skrypt do uruchamiania gry:
    cat > start-dofus << 'EOF'
    #!/bin/sh
    
    cd ~/Gry/Dofus/share
    exec ./UpLauncher
    EOF
    chmod a+x start-dofus
    
  9. Teraz można spróbować uruchomić grę:
    ./start-dofus
    

    To może się nie udać, jeśli w systemie brakuje odpowiednich bibliotek w odpowiednich wersjach. W PLD Th np. trzeba było zbudować i doinstalować libjpeg6.

    Po doinstalowaniu brakujących bibliotek powinien się Launcher uruchomić i zacząć „uaktualniać” grę. Gdy Launcher ściągnie najnowszą wersję Dofusa będzie go można uruchomić.

3 komentarze do wpisu „Dofus pod PLD Linux”


Świat Gu – kupiłem sobie gierkę na Linuksa

Zajrzałem sobie na Linux News i od razu rzuciła mi się w oczy informacja, że jakaś Linuksowa gra, normalnie kosztująca $20 jest teraz (do 19 października) dostępna za „co łaska”. World of Goo niewiele mi mówiło, ale po przejrzeniu opisu i obrazków uznałem, że czemu by nie spróbować. Może nie dałem ile gra jest warta, ale tylko tyle na ile obecnie mnie stać (nowe mieszkanie jednak nieźle wysysa bankowe konta), ale to zawsze lepsze od „piracenia”.

[screenshot]

Gierka to takie połączenie starych dobrych „Lemingów” z popularnymi ostatnio grami „konstrukcyjnymi” (typu: zbuduj most, żeby pociąg przejechał). Trzeba spuścić sympatyczne gluty (kulki Goo) rurami. Te same gluty służą jako element konstrukcyjny drogi do celu. Może nie ma powalającej fabuły, ale jest sympatycznie i dużo ładniej niż w większości gier dostępnych pod Linuksem. Ja już chyba kończę pierwszy rozdział, a Krysia skończyła pierwsze trzy poziomy. Nawet, jeśli za tydzień się znudzi, to trochę rozrywki jest. :-)

21 komentarzy do wpisu „Świat Gu – kupiłem sobie gierkę na Linuksa”


Ta gierka

Od jakiegoś czasu co nasze dziecko (przypominam: pięcioletnie) przychodzi do domu, to od razu się pyta Tato, mogę pograć w tą gierkę?. Ostatnio grzecznie się przy tym bawi (bez płaczu i wzywaniu rodziców, że coś poszło nie tak), a i jest przy tym chwila spokoju dla rodziców, więc pozwalamy jej grać. Szczególnie, że gierka jest raczej ambitna...

No właśnie... kiedyś, co Krysia zobaczyła jak tata w coś gra, to zaraz chciała grać w to samo... a potem był płacz, bo nie umie. Ostatnio przypomniałem sobie Simutrans, dziecku się spodobały domki i samochodziki i obawiałem się, że znowu będzie ryk. Więc przez jakiś czas nie pozwalałem jej grać, najwyżej pozwalałem patrzeć mi przez ramie jak gram (i przegrywam)... W końcu jednak dałem się jej przekonać. Pokazałem jej jak się buduje drogi, przystanki, ustala rozkład jazdy. Pozwoliłem klikać z obawą oczekując momentu, gdy zbankrutuje. O dziwo porażkę przyjęła dobrze i po prostu następnym razem zaczynała od nowa.

Co jakiś czas jej pomagałem. Często dziwiłem się co tam wyprawia, ale ostatnio zaczynają mnie zaskakiwać efekty. Raz stwierdziła puściłam 40 ciężarówek. Najpierw myślę po cholerę tyle... a niech się cieszy, że jeżdżą, i tak zaraz zbankrutuje. Potem a czy ona umie do 40 policzyć?. Chyba umiała, bo ciężarówek była cała ulica i kolejne wyjeżdżały. Prawdę mówiąc nie sądziłem, że w ogóle opanuje kopiowanie pojazdów (raz jej to pokazałem)... Jednak kompletny opad szczęki zaliczyłem, gdy zobaczyłem ile pieniędzy na tym zarabia. Wcisnąłem na chwilę fast forward i już miała prawię milion na koncie... Dzisiaj po piętnastu minutach gry stwierdziła miałam już pieniądze na czerwono, to wcisnęłam przyspieszenie... i miała 200.000 na czarno. Znaczy się, zupełnie bez mojej pomocy zrobiła w grze dochodowy interes. A przecież ile razy mnie się to nie udało. A ja umiem liczyć, umiem czytać, znam angielski... Gra jest pełna różnych szczegółów, w których trzeba się przynajmniej minimalnie orientować (np. skąd dojeżdżają pracownicy do fabryk i kto jest dostawcą surowców), a niespełna sześcioletnia Krysia sobie w tym radzi. Zrozumiała i opanowała też zapisywanie (pod nazwą "krysia1", "krysia2") i odczytywanie stanu gry... No, wciąż nie mieści mi się to w głowie! :-)

Mam nadzieję, że córka nie dorwie się do hasła roota... ;-)

26 komentarzy do wpisu „ Ta gierka”


Powrót na matę

Po jakimś miesiącu przerwy dziecko sobie przypomniało, że dawno nie graliśmy na macie. W sumie sam byłem ciekaw, czy coś jeszcze umiem. Podłączyłem, matę, odpaliłem StepManię... znaczy się, próbowałem odpalić, bo tradycyjnie przestała działać... od ostatniego razu zdążyłem popsuć ALSA w środowisku 64-bit... tak już bywa z komputerami hackera...

Już po pięciu minutach gra ruszyła. Zagrałem trzy kawałki... i całkiem nieźle mi poszło. Jedne nawet machine #1. Krysi też udało się przejść piosenkę za pierwszym podejściem... W kolejnych próbach zrobiłem jeszcze dwa machine #1 (w tym jedno AA, 205 combo). Ika też dała się skusić... i też osiągnęła machine #1 (tyle, że ona na light, a ja na normal). Wniosek jest jeden: to jak jazda na rowerze, tego się nie zapomina. ;-) A nawet drugi: taka przerwa dobrze robi. Ostatnio miałem problem zmieścić się w pierwszej dziesiątce swoich wcześniejszych wyników. A może, to po prostu poprawa ogólnej formy?

3 komentarze do wpisu „ Powrót na matę”


Giercowanie – 4X

Parę miesięcy temu kumpel mnie namawiał na grę w Longturn – sieciową rozgrywkę Freeciv z długimi turami. Wcześniej unikałem gier, żeby się znowu nie wyłączać na całe godziny/dni/tygodnie, ale skoro to miała być jedna kolejka dziennie... to czemu by nie? Zapisałem się do LT6 i zacząłem grać. I sam Longturn rzeczywiście nie odcinał mnie za bardzo od świata żywych, gorzej z pomocniczymi grami z botami, gdy sobie przypominałem jak się w to gra... Ale w końcu sobie przypomniałem dość i tylko parę razy dziennie zaglądałem do gry. (Żona twierdzi, że siedzę prze tym cały czas, ale jej się tylko wydaje ;-)).

Parę miesięcy grałem w LT6, miałem w grze fajnych sojuszników. Przegraliśmy, ale i tak jestem z rozgrywki bardzo zadowolony. W trakcie LT6 zapisałem się też na LT7... które przegrałem dość szybko. Aktualnie trwa LT8. Na LT9, czy LTClassic3 się nie zapisuję... bo znalazłem inną zabawkę. :-)

Ta inna zabawka to Outer Space. Znalazłem, jak większość gier, na Linux Game Tome. Tak jak Longturn jest to długotrwała gra turowa, jednak w przeciwieństwie do Freeciv, Outer Space został do takiego grania stworzony (w LT reguły Freeciva zostały niby dostosowane, ale dalej widać, że gra została stworzona do szybszych rozgrywek). Poza tym Outer Space też wygląda na zupełnie inną grę: podbój wektorowej galaktyki, a nie świata podzielonego na pola. Jednak i Freeciv (klon słynnej Civilization) i Outer Space (czerpiący raczej z Master of Orion) to gry 4x: eXplore, eXpand, eXploit and eXterminate i podczas gry czuje się to podobieństwo.

Możliwe, że Outer Space to gra jak wiele innych typu podbij galaktykę, zaczynając od Master of Orion. Sam jednak grałem tylko w MoO i to tak dawno, że pamiętam tylko, że bardzo mi się podobało i były w tym jakieś gwiazdy... Tydzień temu zacząłem grę w galaktyce Garis i chyba mnie wciągnęło. Właściwie to mi mało i założyłem sobie też konto w Inera, galaktyce która właśnie startuje. Jeszcze zanim Garis wystartowała zapisałem się do 15-dniowej Argo, ale tamtejsi gracze szybko mi uzmysłowili, że to nie ma sensu (startując tak późno byłbym daleko w tyle). A do Inera może jeszcze ktoś znajomy się skusi?

No i na koniec przyznaje się bez bicia, że przez to granie zaniedbuję trochę swoje projekty: CJC, PyXMPP, jggtrans i trochę PLD... ale cóż, jak nie grałem, to zaniedbywałem tak samo – np. oglądając gołe panienki w sieci... to chyba rozwijające gierki lepsze... ;-)

8 komentarzy do wpisu „ Giercowanie – 4X”


Pingwinaria 2007

Czwartek

No to znowu pojechałem na Pingwinaria. Tym razem z żonką. Wyjechaliśmy w czwartek rano, najpierw po gadżety do Ikuśnej firmy, a potem do Krynicy. Po drodze dołączył do nas Ajot. Po niecałych czterech godzinach byliśmy na miejscu.

Po rozpakowaniu poszliśmy (ja i Ika) na obiadek (wyżywienie w Damisie jak zwykle super), a po obiadku na spacer po Górze Parkowej. Na szczycie czynne były zjeżdżalnie (takie metalowe rynny po których się zjeżdża w filcowych workach) i żonka chciała od razu spróbować. No to wykupiliśmy 10 zjazdów (8zł) i poszaleliśmy trochę. Ja nawet dwa razy próbowałem na tej najbardziej stromej... próbowałem po za każdym razem, gdy usiadłem przy krawędzi, to się wycofywałem. ;-)

Po spacerku Ika rozstawiła sklepik z pingwinami, a ja zajrzałem na salę wykładową. Tego dnia nawet udało mi się obejrzeć po części z każdego wykładu. ;-)

Po kolacji i kawałku drugiej części ostatniego wykładu zaczęły się mniej oficjalne części imprezy, czyt. picie. Nie uczestniczyłem w tym zbyt intensywnie, ale spać położyłem się późno. Żonka dołączyła jeszcze później.

Piątek

W piątek okazałem się paskudny i w ogóle, bo obudziłem się o 6:30 i przy okazji obudziłem żonkę. Do śniadania przeleżeliśmy w łóżku (no może nie tylko przeleżeliśmy i nie tylko w łóżku... ;-)). Tego dnia nie byliśmy raczej wyspani. W południe planowany był mój wykład, przed nim planowaliśmy wypad do sauny. Rano więc poszliśmy tylko na mały spacerek na Deptaku pod Górą Parkową. Z sauną ktoś zamieszał tak, żebym ja się nie załapał, ale Ika owszem... No cóż, miałem więcej czasu na przygotowanie się do wykładu.

Mój wykład to jedyny na którym byłem od początku do końca. Opowiedziałem po kolei jak to pomogłem żonce z nalepkami na paczki, na początku zastrzegając, że to nie jest do końca zrobione tak jak powinno się robić, ale i tak wywołałem małą burzę. Niektórzy byli oburzeni, że takie rzeczy stosuje się w produkcji, inni mnie bronili, że to sprytne i niegłupie rozwiązanie. I dobrze, bo właściwie nie o moje skrypciki chodziło, ale o dyskusję na temat hackerskich rozwiązań. Swój wykład uważam więc za udany. :-). Żonka na mój wykład dotarła gdzieś w połowie, gdy dyskusja się rozpoczynała. Po wykładzie został już tylko wypoczynek.

Po obiedzie pomogłem rozstawić sklepik 403forbidden, a potem zajrzałem na wykłady sponsorów... nie zachwyciły mnie, to poszedłem na basen. Tam się pomoczyłem przez 45 minut, a przy okazji wymasowałem bąbelkami moje obolałe plecy.

Po kolacji było oficjalne świętowanie urodzin PLUGu, a potem panel dyskusyjny na temat otwartych systemów, standardów i oprogramowania. Na początku ciekawy, potem dyskusja zaczęła się kręcić w kółko, to poszliśmy szukać innych rozrywek. Ja np. poszedłem sobie na spacerek po Krynicy. Dowiedziałem się np., że o wpół do jedenastej wieczór lodowisko jest już zamknięte. ;-)

Wracając spotkałem na schodach integrującą się grupkę linuksiarzy, z Panią Prezes na czele. Agusia zażyczyła sobie mojej żony wraz z cyckami, więc poszedłem po Ikę... która już prawie spała w pokoju. No cóż, rano nie dałem jej pospać. Wspólna integracja na schodach nam nie szła, więc poszliśmy spać, wyjątkowo wcześnie jak na Pingwinaria, chyba jeszcze przed północą...

Sobota

W sobotę wstaliśmy o normalniejszej porze (po ósmej) i bardziej wyspani. Po śniadaniu poszliśmy z szefem Iki na mały spacer-zakupy. A potem Srebrną, w sali bilardowej, testowałem sprzęt do StepManii. Były drobne komplikacje, ale ostatecznie udało się dwie (z trzech) maty podłączyć do laptopa Iki tak, że działały i zebrać zestaw piosenek. Przy okazji wzbudziliśmy zainteresowanie wszystkich którzy w tym czasie byli w lub zajrzeli do sali wykładowej.

Przed obiadem (gdy ja testowałem maty) sklepik z pingwinami eksperymentalnie został rozstawiony przed jadalnią. I to okazało się być strzałem w dziesiątkę. Po obiedzie zabraliśmy Prezesa na Górę Parkową, licząc na to, że spuści go się metalową rurą w filcowym worku... ale padało i ślizgawki były zamknięte. Posiedzieliśmy w tamtejszej knajpce i wróciliśmy na dół. Podczas spacerku, mimo pogody, udało się znaleźć ślady wiosny, np. takie:

kaczence.jpg

Podczas kolacji znowu sklepik działał przed jadalnią, a ja zaraz po kolacji poszedłem rozkładać sprzęt na sali. Tam laptop i maty zaczęły odmawiać posłuszeństwa. Albo któraś z mat nie była wykrywana, albo wykrywane były obie, a działała tylko druga, albo po wykryciu znikały. W końcu, po paru minutach żonglerki wtyczkami USB, gdy już prawie się poddałem, udało się wszystko uruchomić i zaczęła się zabawa.

Najpierw skakałem ja ze Srebrną, żeby pokazać co i jak, potem, najpierw nieśmiało, próbowały inne osoby. Tylko ja, Srebrna, Ika i Agusia mieliśmy jakieś doświadczenie z tą zabawką, dla reszty to była nowość, ale wielu się bardzo spodobała. A ja robiłem za tego co wzbudzał podziw publiczności swoimi popisami. Do mistrzów StepManii mi pewnie daleko, ale w tym towarzystwie chyba rzeczywiście się wybijałem. I miło czuć na sobie pełen podziwu wzrok publiczności. I słyszeć te wszystkie pochwały i zachwyty... Gdyby to jeszcze podziwiały mnie same atrakcyjne kobiety, a nie (w większości) banda facetów... ;-).

Chciałem zwijać laptopa o jedenastej, ale w końcu impreza trwała chyba do drugiej w nocy. Niektórzy z nowicjuszy zdążyli nawet całkiem nieźle to opanować. Niektórzy (honey i mmazur) próbowali nawet mnie albo Ikę zamęczyć... Może trochę się im udało, bo jeszcze czuję zakwasy...

Niedziela

W niedzielę znowu udało się pospać (całe szczęście, jak byśmy dojechali?), ale cztery dni imprezowania i tak robiły swoje. Przy śniadaniu sklepik został rozstawiony po raz ostatni. Potem sauna (koedukacyjna). Tym razem i ja się załapałem. To działa! Po saunie czułem się znacznie bardziej zdatny do podróży niż wcześniej. Potem pakowanie i jazda. Znowu robiłem za pasażera, bo na razie żona kluczyków do auta mi nie daje (auto jest jeszcze na ubezpieczeniu teścia, jak by coś się stało, to mnie teść by zabił, a Ikę najwyżej opieprzy). Po drodze chcieliśmy zjeść obiad... nie było prosto, bo na drodze (bardzo malowniczej, polecam!) od Nowego Sącza do Mszany Dolnej nie wypatrzyliśmy żadnej knajpy. Dopiero w Mszanie jakąś pizzerię, z wierzchu nieciekawą. Ale pizza była pyszna.

W domku byliśmy około 16:30. Porządnie zmęczeni, ale trzeba było jeszcze przetrwać wieczór z dzieckiem... Ika padła zanim przyszedł czas kąpieli Krysi, ale ja jakoś sobie poradziłem. Ocknęła się, gdy Krysia zadawała mi poważne pytanie: Co zrobisz z mamusią, gdy będziesz ścielił łóżko?, a więc problem się sam rozwiązał. Chwilę po położeniu Krysi myśmy już też spali.

12 komentarzy do wpisu „ Pingwinaria 2007”