Komputery, oprogramowanie, internet i okolice
Kategorie: Wszystkie | Aplikacje | Blog | Dev | Hacks | Linux | Subversion | Varia | gry | khoomei | książki | mjuzik
RSS
sobota, 27 marca 2010

Do kolekcji moich skryptów Greasemonkey poprawiających Blipa dołączył właśnie kolejny. Oto przed wami...

Blip.pl - Expand links and citations

Jak sama nazwa skryptu Blip.pl - Expand links and citations wskazuje (pisząc kod przełączam się na angielski) skrypt ma za zadanie rozwijać cytowania oraz linki. Co 2,5 sekundy sprawdza czy na stronie nie pojawiło się coś do rozwinięcia. Ot i cała filozofia. Poniżej mała prezentacja:

Blip.pl - rozwijanie linków i cytowań

Instalacja

Dla posiadaczy Firefoxa instrukcja w czterech prostych krokach:

  1. Instalujemy Greasemonkey
  2. Wchodzimy na stronę skryptu Blip.pl - Count online users
  3. Klikamy w wielki przycisk "Install"
  4. Wchodzimy na Blipa i cieszymy się rozwiniętymi linkami i cytowaniami

W Google Chrome działa bez problemu jako rozszerzenie. Posiadacze innych przeglądarek muszą poradzić sobie sami.

Changelog:

  • 0.1 - pierwsza wersja
czwartek, 25 marca 2010

Zaprawdę powiadam wam, błądzi ten, kto myszy do przeglądania stron internetowych używa. Nawróćcie się, albowiem droga do produktywności przez skróty klawiaturowe wiedzie! A każda minuta na nauce klawiszologii spędzona, po siedmiokroć zwrócona wam będzie. Zaprawdę, zaprawdę powiadam wam, kto głosi inaczej fałszywym jest prorokiem, który oferując pozornie proste rozwiązania na pokuszenie wiedzie.

W poszukiwaniu produktywności

Jeszcze kilka dni temu zupełnie wystarczająca była dla mnie lista skrótów klawiaturowych Firefoxa, skróty w Gmailu i Google Readerze, mój zestaw rozszerzeń i odpowiednio poukładane elementy w paskach narzędziowych. Oraz oczywiście podręczny zestaw zakładek z ustawionymi słowami kluczowymi, pozwalający na otwieranie i wyszukiwanie stron przy użyciu kilkuliterowych skrótów. Wydawało mi się, że już niczego nie da się poprawić.

Aż pewnego dnia uzmysłowiłem sobie jak często macham ręką pomiędzy myszką a klawiaturą. Każde wpisanie adresu, użycie skrótu klawiaturowego wymagającego palców obu rąk wymuszało ruch dłoni. Tak na prawdę ruch zupełnie niepotrzebny. Powiedziałem dość! Nadeszła pora na rozwiązanie naprawdę ekstremalne!

Vimperator

Vimperator

Jak sama nazwa rozszerzenia wskazuje Vimperator sprawia, że Firefox zaczyna zachowywać się jak Vim. Jeśli Vima nie znasz (a dobrze jest poznać, choćby na tyle, by wiedzieć jak go wyłączyć) pewnie zastanawiasz się co to tak na prawdę znaczy i jak Vimperator zmienia sposób użytkowania przeglądarki. A zmienia praktycznie wszystko.

  • Wygląd - po zainstalowaniu rozszerzenia znika wszystko poza paskiem kart i (odrobinę odmienionym) paskiem stanu. Zamiast menu, paska narzędzi i zakładek (możemy je odzyskać wpisując :set go+=mTB) otrzymujemy coś na kształt linii poleceń.
  • Sterowanie - od teraz wszystko robimy z użyciem klawiatury. Po stronie poruszamy się z użyciem klawiszy j, k, h, l (dół, góra, lewo, prawo), gg (przeskok na górę strony), G (przeskok na dół strony), Spacja i Shift-Spacja to przewijanie po stronie. Tak samo przełączanie pomiędzy otwartymi kartami: gt i gT, lub C-n i C-p to następna, poprzednia karta, g0 i g$ to przejście do pierwszej i ostatniej karty.
  • Modalność - Firefox zyskuje wiele trybów pracy. Normalny do poruszania się p stronie, tryb Command do wprowadzania poleceń, Insert do wypełniania formularzy, Caret - do poruszania się kursorem po stronie, Visual - do zaznaczania tekstu, by wymienić te najważniejsze
  • Nowy sposób otwierania linków - teraz wystarczy nacisnąć f lub F by włączyć tryb podpowiedzi i wpisać numer odnośnika lub zacząć wpisywać tekst opisu.
  • Dostęp do rozbudowanego pliku pomocy z użyciem komendy :home
  • Autouzupełnianie poleceń i komend - przy okazji wyświetlany jest krótki opis, nie ma więc obawy, że gdzieś się zgubimy.
  • Pełna możliwość definiowania skrótów klawiaturowych i zachowania rozszerzenia używając pliku konfiguracyjnego.
  • Spore możliwości definiowania sposobu wyświetlania.
  • Możliwość użycia pluginów rozszerzających możliwości Vimperatora.
  • Mniejsze zużycie myszki podczas przeglądania stron internetowych.

Przyznaję, że na początku można się poczuć odrobinkę zagubionym. Bez poświęcenia kilkunastu minut na przeczytanie dokumentacji się nie obejdzie. Potem trochę czasu na opanowanie podstawowych skrótów i komend oraz przygotowanie pliku konfiguracyjnego (tutaj opis mojej konfiguracji). Na pewno nie każdemu przypadnie to do gustu, co tu ukrywać, korzystanie z Vimperatora jest odrobinę hardcore'owe.

Ale naprawdę warto spróbować. To zupełnie inne podejście, otwierające oczy na wiele nowych możliwości. Jedyne do czego mogę to przyrównać to moment, gdy dowiedziałem się, że grając w Quake'a zamiast używać kursorów lepiej jest użyć klawiszy AWSD i myszki.

poniedziałek, 22 marca 2010

Dziś przeglądając RSSy natrafiłem na ten obrazek porównujący 20GB w 1980 roku i 32GB w 2010. Uzmysłowiłem wtedy sobie, że przecież mój pierwszy pecet miał dysk twardy, wcale nie taki mały, o pojemności 1080MB (słownie: tysiąca osiemdziesięciu megabajtów), a terabajt to była jakaś zupełnie abstrakcyjnie wielka ilość danych. Tak wspominając sobie Stare Dobre Czasy (słownie: połowa lat dziewięćdziesiątych) przypomniałem sobie o rewolucji, która miała wtedy nadejść.

Rewolucja 3D (słownie: trzy de)

Na początek może mały rys (pre)historyczny. W połowie lat dziewięćdziesiątych minionego wieku w świecie komputerów działo się bardzo wiele ciekawych rzeczy. Nowe technologie powstawały jak grzyby po deszczu. Z roku na rok pecety stawały się coraz szybsze i coraz wydajniejsze. Najnowsze procesory Pentium potrafiły osiągnąć prędkość ponad 100MHz! A pierwsze karty graficzne z akceleracją 2D i 3D (3D Virge, ATI Rage, 3DFX VooDoo) to już było prawdziwe szaleństwo.

Rynek kart graficznych napędzał rozwój gier, a rozwój gier napędzał zapotrzebowanie na karty 3D. Producenci gier prześcigali się w tworzeniu super realistycznej, jak na ówczesne czasy rzecz jasna, grafiki 3D. Każdy kolejny tytuł pokazywał, że da się wycisnąć z komputera jeszcze więcej. Praktycznie wszystko musiało być wtedy w trójwymiarze.

Wirtualna Rzeczywistość

Forte VFX1 Virtual I/O i-glasses

Tak! Wirtualna Rzeczywistość! Virtual Reality! Całkowicie trójwymiarowe, komputerowo generowane światy, to było coś na co wszyscy czekali. Pełen realizm i pełna wolność. Jak w Tronie czy Kosiarzu umysłów. Dla wszystkich wydawało się to wtedy całkowicie naturalnym kolejnym krokiem w rozwoju komputerów. Tak, wirtualna rzeczywistość zawładnęła wyobraźnią wielu ludzi. Wszystkim się wydawało, że staliśmy u progu prawdziwej (cyberpunkowej) rewolucji.

Rok 1995 miał być przełomem. Wirtualna rzeczywistość stała się wtedy dostępna dla każdego użytkownika peceta. Wreszcie pojawiły się pierwsze urządzenia. Najprostsze urządzenie były jedynie stereoskopowymi wyświetlaczami. Te bardziej zaawansowane były naszpikowanymi elektroniką hełmami z nowoczesnymi wyświetlaczami LCD, stereofonicznymi słuchawkami, systemem śledzenia ruchu głowy i futurystycznymi kontrolerami.

Z początku początku urządzenia te były piekielnie drogie, lecz miało się to szybko zmienić, gdy tylko rzeczywistość wirtualna się upowszechni. Jednymi z pierwszych urządzeń były Forte VFX1 oraz Virtual IO i-glasses. Pamiętam jak na jakiś targach komputerowych stałem w długiej kolejce do stoiska dystrybutora którejś z tych firm by choć przez chwilę zagrać w Magic Carpet z hełmem na głowie...

A jeśli ktoś mi nie wierzy, że w roku 2000 wirtualna rzeczywistość miała trafić pod strzechy niech obejrzy poniżej znakomitą reklamówkę hełmu VFX1 z 1995 roku. Hełmu nad którym zachwycały się wszystkie branżowe pisma.

Może jeszcze kiedyś doczekamy się domowej wirtualnej rzeczywistości... Może kiedyś...

00:35, kosciak1 , Varia
Link Komentarze (7) »
sobota, 20 marca 2010

Podczas przygotowywania wpisu o grze Dweller natrafiłem na poważny problem. Jak wykonać zrzuty ekranu gry na komórkę. Pierwszą myślą było wykorzystanie Sun Java Wireless Toolkit for CLDC, który o ile dobrze pamiętam zawierał emulator JME. Niestety okazało się, że dla systemów linuksowych dostępna jest jedynie wersja 32 bitowa. Musiałem więc poszukać czegoś innego.

MicroEmulator

MicroEmulator

MicroEmulator jest napisany w Javie, więc powinien działać na każdym systemie operacyjnym z zainstalowaną maszyną wirtualną Javy. U mnie zadziałał zarówno z użyciem OpenJDK, jak i Sunowskim JRE. Kilka losowo wybranych MIDletów uruchomiło się bez żadnych problemów, również tych z obsługą ekranów dotykowych.

To co najbardziej mi się podoba to prostota użycia MicroEmulatora. Po uruchomieniu możemy wybrać jedno z predefiniowanych urządzeń, różniących się wielkością ekranu (176x220, 240x320, lub urządzenie pozwalające określić wielkość ekranu). Jeśli komuś bardzo nie podoba się domyślna skórka, która nie jest zbyt piękna, może skorzystać z pakietu dodatkowych skórek (ewentualnie stworzyć własną). Po wybraniu urządzenia wystarczy już tylko wgrać plik JAR lub JAD i już możemy testować naszą aplikację

Jeśli ktoś potrzebuje łatwej możliwości przygotowania zrzutów ekranu może zainteresować go opcja Capture to GIF. Dzięki niej utworzony zostanie animowany GIF pokazujący nasze działania. Można też włączyć 2, 3 i 4 krotne zbliżenie ekranu.

Na stronie projektu można też znaleźć informacje o tym jak wykorzystać MicroEmulator do bardziej zaawansowanych celów. Można go na przykład użyć do uruchamiania MIDletów na stronie jako applety Javy (jak na stronie Opery Mini). Dostępne jest też wiele różnych opcji uruchomieniowych, ułatwiających testowanie aplikacji komórkowych.

środa, 17 marca 2010

Jak wiadomo blipować można na wiele sposobów. Z komunikatora, z telefonu, z wielu różnych aplikacji, z Asystenta, no i oczywiście ze strony www Blipa. Ja osobiście wolę korzystać z komunikatora ze względu na prostotę i minimalizm. Jeśli natomiast ktoś woli blipować przez stronę to warto zainteresować się tym oto "dopalaczem".

Blipalacz

Blipalacz w akcji

Blipalacz (autorstwa ^kubofonista) to skrypt Greasemonkey dodający nowe funkcjonalności na stronie Blipa. Bardzo dużo nowych funkcjonalności. Dzięki nim praktycznie wszystko co potrzeba mamy pod ręką. Testowana przeze mnie wersja 2.11 oferuje następujące rzeczy:

  • Możliwość ustawienia wielu kont i łatwe przełączanie się pomiędzy nimi
  • Wyświetlanie treści cytatów (rozwijanie [blip])
  • Rozwijanie skróconych linków
  • Możliwość łatwego cytowania cytowań
  • Kolorowanie tagów
  • Redesign Bliposfery (blipnięcia wyświetlane w pionie)
  • Przycisk ignorowania użytkowników tuż przy blipnięciu
  • Statystyki użytkowników via Blipi oraz informacje z TOP100
  • Wyszukiwarka Blipi zintegrowana z kokpitem
  • Możliwość usunięcia boksów "Polecamy" oraz "Popularne tagi"
  • Moje skrypty pokazujące ilość osób online oraz wyświetlanie informacji z RE.Blipi w statystykach rdir.pl

Chyba niczego nie pominąłem. Każdą z tych funkcji można wyłączyć dostosowując działanie skryptu do naszych upodobań i potrzeb. Szkoda tylko, że Blipalacz nie chce działać jako rozszerzenie w Google Chrome.

Dla osób, które blipują głównie przez stronę www i w dodatku korzystają z kilku kont (na przykład prywatne i firmowe) Blipalacz to na prawdę świetne rozwiązanie, ułatwiające życie na Blipie. W dodatku skrypt cały czas jest dynamicznie rozwijany i na pewno jeszcze kilka ciekawych funkcji się w nim pojawi.

EDIT:
Jeśli komuś nie działa strona domowa skryptu może pobrać Blipalacza z userscripts.org

Gdy poznaje nową bibliotekę, czy jak w przypadku Pythona moduł, pierwszą rzeczą jaką robię to zagłębienie się w dokumentację i przykładowe fragmenty kodu (jeśli oczywiście są dostępne). Następnie by rozwiać wszelkie wątpliwości i sprawdzić czy wszystko dobrze zrozumiałem biorę się za eksperymenty i testy.

Zabawy z Pythonem

Niestety... Zazwyczaj takie testujące fragmenty kodu dość szybko ginęły w trakcie prac nad projektem. Gdy ponownie natrafiałem na dany problem nie miałem jak do nich wrócić. Niepotrzebnie traciłem czas na ponowne szukanie rozwiązań. Postanowiłem to zmienić!

Od dzisiaj mam zamiar zbierać takie przykłady w jedno miejsce. A gdy zbierze się więcej przykładów dotyczących jakiegoś zagadnienia opiszę je na blogu. Może przy okazji inni też skorzystają. Kod przykładów znajduje się w repozytorium SVN projektu kosciak-misc. Najwygodniej będzie po prostu pobrać za pomocą:

svn checkout http://kosciak-misc.googlecode.com/svn/python/examples kosciak-python-examples

Jeśli ktoś nie zna Subversion to warto nadrobić zaległości, na przykład czytając mój poradnik Subversion.

Curses - przykłady

O module curses w Pythonie wspominałem już wcześniej, podając co zrobić by działał w systemie Windows. Dziś kilka przykładów. Wszystkie działają z PDCUrses na Windosie, natomiast wcurses się wysypuje.

display.py

display.py (xterm)

Szybki przegląd możliwości wyświetlania: obramowania (nie pytajcie jaka jest różnica pomiędzy border i box), tło (trzeba uważać, zwłaszcza w przypadku ustawienia znaku z dodatkowymi atrybutami), lini, wstawianie znaków i tekstu, wraz z różnymi atrybutami (w różnych terminalach różnie są wyświetlane).

keys.py

keys.py

Pobiera znak i wyświetla jego numer oraz nazwę zdefiniowaną przez curses. By naciśnięcie Ctrl-C nie przerywało skryptu ustawiony jest tryb raw. Zastosowałem tu mały trick z os.putenv("ESCDELAY", "25") by zmniejszyć czas oczekiwania po naciśnięciu klawisza ESC (domyślnie czeka pełną sekundę).

characters.py

characters.py (gnome-terminal)

Wyświetla wszystkie dostępne znaki. Bezpiecznie jest używać znaki ASCII z zakresu 32 do 126 - wszędzie powinny być wyświetlane w jednakowy sposób. Jeśli ktoś szuka znanego z DOSu tak zwanego extended ascii (zakres 127 - 256 zawierający na przykład znaczki ░▒▓║┴) to tak na prawdę szuka znaków ze strony kodowej CP437. Niestety nie jest ona dostępna w curses (lub przynajmniej nie wiem jak zmienić kodowanie). Część znaków z CP437 jest zdefiniowanych jako stałe ACS_*.

colors.py

colors.py (gnome-terminal)

Wyświetlenie tabeli wszystkich dostępnych połączeń kolorów + atrybuty A_BOLD, A_STANDOUT i A_REVERSE - na różnych terminalach różnie te połączenia są wyświetlane (boldowany jest kolor pierwszoplanowy lub tła). Dodatkowo zauważyłem, że PDCurses inaczej numeruje kolory.

CursesHandler.py

CursesHandler.py

Przykład implementacji logging.Handler wyświetlającego logowane dane w oknie. Jeśli ktoś zna bardziej elegancki sposób pobrania levelu z logging.LogRecord niż przez logging.Formatter to proszę dać znać.

00:03, kosciak1 , Dev
Link Dodaj komentarz »
poniedziałek, 15 marca 2010

Jeśli lubicie gry roguelike mam dla was prawdziwą gratkę. Oto znakomity sposób na spędzenie czasu siedząc w autobusie, poczekalni, czy na nudnym wykładzie. Wystarczy telefon komórkowy i już można przenieść się w świat magii i miecza!

Dweller

Dweller

Gra Dweller, mimo że dosyć prosta, oferuje wszystko to co prawdziwy roguelike powinien posiadać. Oto co mamy do dyspozycji

  • Prosty cel gry - zabicie króla goblinów
  • Trzy klasy postaci: wojownik, mag i łowca
  • Walkę wręcz, na odległość i magię
  • Wiele przedmiotów do odkycia i potworów do zabicia
  • Losowo generowane podziemia
  • Dwa tryby wyświetlania - klasyczny "literkowy" oraz graficzny z całkiem ładnymi kafelkami
  • Możliwość zapisu stanu gry
  • Możliwość samodzielnego zdefiniowania klawiszy
  • FOV (Field of View) i proste AI potworów

Dweller napisany jest w JME z obsługą MIDP2. Powinien więc działać na większości telefonów komórkowych z obsługą Javy, również na telefonach dotykowych (choć nie jest to tak wygodne).

Jak na razie muszę stwierdzić, że gra dostarcza naprawdę sporo frajdy. Może i nie jest bardzo rozbudowana, ale w końcu nie o to tu chodzi. Gry na komórkę nie mają oferować wielogodzinnej rozgrywki, lecz dobrej zabawy na kilkanaście minut nudy. Jeśli ktoś chce "poważne" roguelike to zagra na komputerze.

14:02, kosciak1 , gry
Link Komentarze (4) »
wtorek, 09 marca 2010

Pisząc o curses, wbrew pozorom, nie mam na myśli rzucania przekleństw. Choć biorąc pod uwagę ile czasu zajęło mi znalezienie rozwiązania jak uruchomić skrypty Pythona wykorzystujące bibliotekę curses w systemie Windows taka interpretacja nie odbiega znacznie od rzeczywistości. Skoro ja miałem takie kłopoty to inni pewnie też na nie się natkną. Dlatego postanowiłem podzielić się rozwiązaniem.

Curses

W wielkim skrócie biblioteka curses (jak i nowsza ncurses) pozwala na tworzenie TUI (Text User Interface) - interfejsów tekstowych, będących czymś pomiędzy CLI (Command Line Interface) a GUI (Graphical User Interface). Co ważne używając jej nie musimy martwić się o to, z jakiego terminala będą korzystać użytkownicy programu. Do naszej dyspozycji mamy możliwość tworzenia wirtualnych okien, wyświetlanie znaków w 16 kolorach oraz obsługę klawiatury i myszy.

Mogłoby się wydawać, że aplikacje tekstowe to już odległa przeszłość, nadal jednak są powszechnie wykorzystywane. Nie zawsze mamy dostęp do środowiska graficznego, nie zawsze chcemy też go używać. Gdy priorytetem jest niskie zużycie pamięci i szybkość działania programy konsolowe sprawdzają się znakomicie. Przykładami użycia biblioteki (n)curses są Midnight Commander (menadżer plików podobny do Norton Commandera), ELinks (przeglądarka www, o której już kiedyś pisałem), Mutt (klient poczty), czy EKG (klient Gadu-Gadu), by wymienić kilka z brzegu. Nie zapominajmy też o wszelkiej maści grach roguelike.

Curses + Python

Python jest stosunkowo prosty, przyjemny i przenośny. Jeśli chcemy szybko napisać jakieś mniej lub bardziej proste narzędzie jest jak znalazł. W dodatku od razu mamy do dyspozycji moduł curses, zawierający interfejs do biblioteki (n)curses. Dodatkowo dostępny jest przystępny tutorial curses i kilka przykładowych programów. Wydawałoby się, że nic innego nie pozostaje tylko usiąść przy edytorze i pisać! O ile korzystamy z systemów unixowych problemów rzeczywiście nie ma. Gdy jednak chcemy uruchomić nasz program w Windowsie... cóż...

Curses + Python + Windows

Tu dochodzimy do sedna problemu. W domyślnej instalacji Pythona dla systemu Windows brak jest obsługi biblioteki curses. Zaglądamy do Google i... zdecydowana większość wyników to narzekanie na brak curses pod Windowsem. Pojawiająca się dość wysoko w wynikach biblioteka wcurses teoretycznie powinna rozwiązać problem. Niestety dostępne na stronie wcurses 0.2, zarówno w Pythonie 2.5 jak i 2.6.4, działać nie chcą. Jedynie co zobaczymy to komunikat o niemożności załadowania biblioteki DLL. Prawdopodobnie wystarczy skompilować wcurses ze źródeł, ale nie mam dość czasu/chęci/narzędzi/umiejętności. Pythonowego wrappera dla PDCurses też nie widać.

Gdy już prawie zrezygnowałem, udało mi się znaleźć zbiór rozszerzeń dla Pythona przygotowany przez Christopha Gohlke (mój mirror bibliotek związanych z curses). Ściągnąć tam można implementację opartą o PDCurses, jak i działające z Pythonem 2.6.4 wcurses. Pierwsza wersja działa "normalnie", w oknie konsoli.

tclock.py z użyciem PDCurses

Wcurses tworzą nowe okno i emulują działanie konsoli tekstowej.

tclock.py z użyciem wcurses

Już na tym prostym przykładzie można zauważyć kilka różnic w sposobie wyświetlania. Podejrzewam, że wcurses może sprawiać więcej problemów i nie wszystko jest tam poprawnie zaimplementowane. Ale najważniejsze, że są dostępne jakieś rozwiązania.

14:24, kosciak1 , Dev
Link Dodaj komentarz »
środa, 03 marca 2010

Podczas niedawnego ataku prokrastynacji miałem wielką ochotę trochę sobie pograć. Szukałem czegoś, co pozwoli miło spędzić kilkanaście minut i trochę się odprężyć. Na portalach z grami flashowymi nie było niczego ciekawego - same głupoty sprowadzające rozgrywkę do bezmyślnego klikania. Już miałem zrezygnować i zabrać się za porządkowanie folderu domowego, gdy nagle przypomniałem sobie o grach roguelike. Szybko zerknąłem do repozytorium oprogramowania i już po chwili mój krasnoludzki wojownik walczył z hordami potworów zamieszkującymi przerażające podziemia.

Gry roguelike

Jak sama nazwa wskazuje gry roguelike (zwane czasem rogalikami lub rogalami) nawiązują do prehistorycznej już (napisanej w 1980 roku) gry Rogue. Można wyróżnić następujące cechy rogalików:

  • Tryb tekstowy - to chyba pierwsze co rzuca się w oczy i niestety jest dla wielu osób sporą barierą. Cały świat jest przedstawiony za pomocą różnokolorowych znaczków. Owszem, wiele gier ma nakładki graficzne, lub wykorzystuje grafikę, ale to już nie jest to. Granie w roguelike z grafiką to jakby w czasie pobytu we Włoszech żywić się cały czas hamburgerami.
  • Obsługa za pomocą klawiatury - w dodatku najczęściej bardzo rozbudowana (jeśli ktoś lubi grać w symulatory to będzie się czuł jak w domu). W połączeniu ze "specyficzną" oprawą graficzną daje to dość stromą krzywą uczenia się.
  • Losowość - tutaj wszystko jest komputerowo generowane: miasta, podziemia, pojawiające się potwory i przedmioty, przygody. Każda nowa gra obfituje dzięki temu w niespodzianki i jest zupełnie inna niż poprzednie.
  • Śmierć - w grach roguelike (zwłaszcza na początku) gracz ginie często. Bardzo często. W dodatku nie ma możliwości zapisania stanu gry i wgrania gdy coś poszło nie tak. Jeśli nasz bohater zginie to jedyne co możemy to rozpocząć nową przygodę z nową postacią. Jak w życiu nikt nie mówił, że będzie łatwo.
  • Wolność - zazwyczaj świat gry i jego mechanika są bardzo rozbudowane, dając nam ogromną swobodę działania.
  • Turowość - nigdzie nie trzeba się spieszyć i mamy dużo czasu na przemyślenie kolejnego kroku.
  • Podziemia - podstawą większości rogalików jest przemierzanie podziemii w poszukiwaniu przedmiotów i walka z napotkanymi potworami.
  • Jednoosobowa rozgrywka - zdecydowana większość gier roguelike nie pozwala na grę wieloosobową.
  • Fantasy - mimo, że zdarzają się rogaliki futurystyczne, większość jest osadzona w świecie fantasy - mniej, lub bardziej opartym o Tolkiena lub Dungeons and Dragons.
  • Klimat - to chyba najważniejsza cecha gatunku. Cecha dzięki, której te gry nadal mają się dobrze i mają wielu fanów. Skąpa grafika powoduje, że jest dużo miejsca na wyobraźnię. Już po chwili zamiast r widzisz paskudne szczury a g staje się atakującym zaciekle goblinem. Z każdym krokiem coraz bardziej zaczynasz się identyfikować ze swoją postacią i zaczynasz się zastanawiać nad każdym kolejnym krokiem.

Do najważniejszych reprezentantów gatunku należą: ADOM, Moria, Angband, NetHack, Crawl, ToME. W Ubuntu dostępnych jest całkiem sporo tytułów, zarówno klasycznych jak i tych nowszych. Ja poleciłbym następujące tytuły:

Ancient Domains of Mystery

Ancient Domains of Mystery

Ancient Domains of Mystery (w skrócie ADOM), to efekt wielu lat pracy Thomasa Biskupa. W dodatku efekt oszałamiający. To co wyróżnia ADOMa od innych rogalików to niesamowicie rozbudowana fabuła, której niejeden tytuł mógłby pozazdrościć. Tu liczy się nie tylko przemierzanie podziemi i zabijanie kolejnych potworów. Niezmiernie ważen są rozmowy z napotkanymi postaciami, wykonywanie różnorodnych zadań i poznawanie historii świata gry. Bez tego nie mamy żadnych szans na uratowanie Ancardii przed nadciągającymi siłami Chaosu.

Niestety w repozytorium Ubuntu nie znajdziemy ADOMa. Na szczęście wystarczy pobrać paczkę ze strony autora, rozpakować i już można grać.

Dungeon Crawl Stone Soup

Dungeon Crawl Stone Soup

Dungeon Crawl Stone Soup (wariant Linley's Dungeon Crawl) to w zasadzie czysta akcja bez potrzeby zaprzątania sobie głowy jakąś fabułą. Wybieramy rasę naszego bohatera, klasę, ewentualnie religię i od razu lądujemy w podziemiach. Do przemierzenia mamy 27 poziomów (plus specjalne strefy) pełnych niebezpiecznych stworów i skarbów. W przeciwieństwie do ADOMa, gdzie cała mapa mieści się w ekranie, w Dungeon Crawl mapy są naprawdę duże, jest więc co zwiedzać.

W repozytorium Ubuntu dostępna jest wersja 0.3.4, na stronie projektu można ściągnąć wersję 0.5.2, jednak wymaga samodzielnej kompilacji.

16:16, kosciak1 , gry
Link Komentarze (8) »
piątek, 26 lutego 2010

Minęły już ponad 2 tygodnie od startu Google Buzz i emocje związane z premierą powoli już opadają. Pomimo pozytywnego nastawienia zaczynam zauważać coraz więcej poważnych problemów utrudniających korzystanie z Buzza. Mam wrażenie, że upublicznienie Buzza nastąpiło zdecydowanie za wcześnie.

Co w Google Buzz nie działa tak jak powinno

Zepsuty Google Buzz

Co poszło nie tak? Co Google zepsuło? Oto moja lista najbardziej denerwujących problemów:

  1. Zarządzanie znajomymi - to małe wyskakujące okienko to jakaś wielka pomyłka. Zasłania interfejs Buzza, trzeba przewijać, nie pokazuje wszystkich na raz, osobno trzeba przeglądać obserwujących, osobno obserwowanych...
  2. Podpowiadanie znajomych - o ile na samym starcie podpowiedzi były w miarę trafne (choć nie wiem dlaczego wskazało osoby posiadające maile poza Gmailem, więc nie mogące korzystać z Buzza), tak teraz podpowiedzi są zupełnie nie trafione. Może to ludzie z list dyskusyjnych, nie wiem... Taki Facebook jakoś jest w stanie pokazać przerażająco trafne propozycje, mimo że praktycznie z Facebooka nie korzystam.
  3. Wyszukiwanie znajomych - znowu to małe, paskudne okienko... W dodatku najczęściej nie mogę zobaczyć profilu Google i buzznięć znalezionych osób (brak odnośnika). By przekonać się czy to na pewno jest poszukiwana osoba i czy pisze coś ciekawego (czy warto ją obserwować) muszę ją dodać niejako w ciemno.
  4. Brak osobnego interfejsu - integracja z Gmailem jest fajna, nowoczesna i w ogóle, ale potwornie potrafi obniżyć produktywność rozpraszając nowymi buzznięciami. Na pewno jest sporo osób, które chciałyby pobuzzować nie narażając się na utratę produktywności.
  5. Integracja z Google Readerem - jestem w stanie jakoś przeżyć, że obserwując kogoś na Buzzie, automatycznie obserwuję go w Google Readerze i (chyba) vice versa. Ale znieść nie mogę, że muszę dwa razy oznaczać coś jako przeczytane - raz w Buzzie, drugi raz w GReaderze.
  6. Edycja buzznięć i komentarzy - zgoda, czasem się przydaje, ale nadal uważam, że powinno to być jakoś ograniczone.
  7. Chronologia - czy może raczej jej brak. Sortowanie po dacie ostatniego komentarza (ale nie zawsze) to zły pomysł. W efekcie mamy całkowity chaos i pomieszanie rzeczy nowych, które nas interesują i starych, które ktoś zupełnie nas nieobchodzący skomentował.
  8. Komentarze - dzięki nim cała dyskusja znajduje się w jednym miejscu i strumień buzznięć jest o wiele czytelniejszy niż w przypadku Blipa, czy Twittera. Często dyskusja w komentarzach jest o wiele ciekawsza od oryginalnego buzznięcia. Często jednak dyskusja zbacza na boczny tor i przestaje mnie zupełnie obchodzić. Niestety nadal będzie wyskakiwać (patrz punkt 7.), w dodatku nie mam możliwości ich zwinięcia. W efekcie pół ekranu zajmuje 20 nowych komentarzy będących dla mnie tylko i wyłącznie szumem. Przydałoby się "Mute new comments".
  9. Mute - dwa powyższe problemy teoretycznie rozwiązuje ignorowanie buzznięć. Jednak wtedy znikają one z Buzza! Nie ma (łatwej!) możliwości ponownie się do nich dostać.
  10. Wyszukiwarka - teoretycznie świetna sprawa, możemy w czasie rzeczywistym (mam przynajmniej nadzieję, że w czasie rzeczywistym) przeglądać buzznięcia. Problem polega na tym, że zawsze przeszukujemy wszystkie publiczne buzznięcia. Nie ma możliwości ograniczenia szukania do buzznięć osób, które obserwujemy.
  11. Filtrowanie - jeśli któryś ze znajomych importuje na Buzza statusy z Twittera na pewno czujesz potrzebę ich odfiltrowania. Teoretycznie da się to zrobić stosując rozbudowane filtry Gmaila, jednak Buzz ma być przyjazny. Chciałbym kilkoma kliknięciami wybrać "Ignoruj buzznięcia z Twittera użytkownika Jan Kowalski".
  12. Działanie w czasie rzeczywistym - niby jest PubSubHubbub i inne magiczne rozwiązania, ale nie chce to działać... Wpisy z Twittera zaciągane są partiami co pół godziny, godzinę, często są już wtedy nieaktualne. Wpisy z blogów również pojawiają się ze sporym opóźnieniem (mimo, że już dawno pojawiły się w Google Readerze).
  13. Witryny pokrewne - już nawet nie będę się czepiał, że ta nazwa jest strasznie pokraczna... Problem polega na tym, że tak na prawdę nie wiadomo jak je skutecznie dodawać.
  14. Załączniki - próbowaliście kiedyś dodać do buzznięcia kilka obrazków z użyciem URLa? To chyba nie powinien być problem i nie powinienem być zmuszany do wcześniejszego zgrywania ich na dysk. Podobnie z obrazkami ze stron. Mogę dodać obrazki tylko z pierwszej podanej strony.
  15. Skróty klawiaturowe - fajnie, że są. Niesamowicie ułatwiają pracę. Nieskromnie dodam, że moje ściągawki ze skrótami dla Buzza zrobiły prawdziwą furorę. Niestety brak najważniejszego - nie da się wysłać nowego buzznięcia bez dotykania myszy!

Czy to wszystkie problemy? Niestety nie... Jest ich sporo więcej, lecz nie są tak uciążliwe.

Buzz miał być rewolucją. Miał wciągnąć do mikroblogowania tych, którzy o mikroblogowaniu nie mają pojęcia. Miał być pierwszą społecznościową usługą Google, która odniesie sukces. Boję się, że Google popełniając tak dużo błędów zaprzepaściło swoją szansę. Teraz będzie musiało ponownie przekonać wszystkich tych, którzy do Buzza zdążyli się zrazić.

Spis Treści
Kanały RSS
Add to Google
Add to Netvibes