Archive for Thoughts

Poczucie misji

2007-08-17 20:36

Często na warsztatowym kanale IRC nie dzieje się nic ciekawego, ale czasem można usłyszeć tam coś interesująco. I czasem nawet kontrowersyjnego – jak choćby ta oto opinia:

[19:19:21] przy gamedevie brakuje poczucia misji
[19:19:29] to tak jakbym sprzedwal narkotyki dzieciom

Może jest ona nieco skrajna, ale to nie znaczy, że nie warto z nią polemizować. Jaka jest więc misja przemysłu wytwarzającego gry komputerowe?… W odpowiedzi na podobne wątpliwości lubimy zwykle sięgać do przykładu kinematografii – z tego porównania korzysta się na przykład wtedy, kiedy ktoś (po raz nie wiadomo który) podnosi kwestię nadmiernej brutalności gier.
Nie da się ukryć, że obecnie główną misją obu dziedzin twórczości jest dbanie o odpowiednio przyzwoity stan kont osób, które się nimi parają. W przemyśle filmowym jest domena hollywoodzkich superprodukcji, słynących z wtórności, powtarzalności, słabej strony fabularnej i przeładowaniem efektami specjalnymi. To nie przypadek, że dokładnie te same epitety możemy dopasować do wielu komercyjnych gier.

Jednocześnie mamy też tzw. kino niezależne, które celuje w nieco bardziej wyrafinowane gusta. Być może jego odpowiednikiem w przemyśle gier komputerowych są produkcje realizowane przez małe, czasem nawet nieprofesjonalne zespoły. Ich dzieła zwykle nie są nastawione na stronę techniczną – grafikę zapierającą krew żyłach i mrożącą dech w piersiach (;]) i superrealistyczne efekty dźwiękowe. Zamiast tego posiadają to, co bardzo rzadko przejawia się w komercyjnych grach – oryginalność.

Screen z gry Aquaria, jednego z laureatów IGF 2007

Można jej zasmakować przeglądając chociażby zwycięskie produkcje z dorocznego Independent Games Festival. Mówienie o nich jako o “zwykłych casualach” byłoby według mnie grubym nietaktem ;P

Tags:
Author: Xion, posted under Games, Thoughts » 4 comments

Uciążliwe reklamy

2007-08-13 10:08

Dawno, dawno temu, kiedy łącza były wolne a przeglądarki prymitywne, reklamy na stronach WWW miały postać statycznych lub co najwyżej animowanych banerów. Mało kto używał technologii w rodzaju Flash czy ActiveX, wymagających niestandardowych pluginów instalowanych po stronie użytkownika. A jeżeli już się na to decydował, to reklamy wykorzystujące te rozwiązania różniły się od zwykłych głównie stroną estetyczną: jakością i płynnością animacji.

Chciałoby się powiedzieć: stare dobre czasy, bo dawno odeszły już one do przeszłości. Teraz ze świecą można szukać nieflashowych banerów, a na stronach często można spotkać normalne telewizyjne, streamowane spoty reklamowe. Nie byłoby w tym nic niestosownego – w końcu reklamy są nieodłączną częścią każdego medium, a wykorzystanie najnowszych technologii z pewnością zwiększa ich atrakcyjność, a przez to skuteczność.

I wszystko byłoby w porządku, gdyby ich twórcy znali pojęcie umiaru i taktu. Problemem jest bowiem nie to, że dzisiejsze reklamy sieciowe to już nie tylko animacje, ale i filmy z dźwiękiem i muzyką, a nawet interaktywne gry. Sęk w tym, że one bardzo często przeszkadzają, a wręcz uniemożliwiają zapoznanie się z właściwą treścią strony, na której się znajdują.
Dzisiaj na przykład natrafiłem na baner jednego z operatorów komórkowych, wokół którego latały różnokolorowe motylki. Z pewnością wyglądały one efektownie, lecz czy oznacza to, że ich chmara powinna przesuwać się nad czytany przeze mnie tekst? A tak właśnie było, co oczywiście uniemożliwiało przeczytanie czegokolwiek. Rój uspokoił się dopiero wtedy, gdy przewinąłem się z powrotem na początek strony, gdzie widniał baner.

Zazwyczaj jestem przeciwny wszelkim zakazom – zwłaszcza w delikatnym obszarze Internetu – ale tym razem uważam, że ktoś powinien się zająć tą sprawą. Ktoś – czyli na przykład Komisja Europejska, która ostatnio całkiem dobrze spisała się w zakresie obrony praw użytkowników komórek i klientów linii lotniczych. Pół miliarda obywateli UE, z którego większość korzysta z Internetu, na pewno nie miałoby jej za złe wprowadzenie regulacji ograniczających ekspansję uciążliwych reklam.
Nie uważam przy tym, by musiałyby być one szczególnie restrykcyjne. Zasadniczo wystarczyłyby tylko dwa punkty:

  • Reklamy wyświetlane w obrębie strony nie powinny wyświetlać się poza przeznaczonym na nie (w kodzie strony) prostokątem. Wszelkie “wychodzące” banery czy te nieszczęsne motylki powinny być zakazane.
  • Reklamy wyskakujące (popupy i popundery) powinny mieć zawsze widoczny, duży i kontrastowy przycisk X w prawym górnym rogu, przy pomocy którego można zawsze zamknąć reklamę.

Oczywiście można mieć wątpliwości, czy takie prawo nie byłoby trudne do egzekwowania, a przez to martwe. Dotyczyłoby ono jednak głównie dużych portali, czyli zarejestrowanych i powszechnie przedsiębiorstw, na które bez problemu można w razie czego nałożyć kary finansowe.
A co z mniejszymi serwisami? Naturalnie należałoby uniknąć absurdów w rodzaju wlepiania wirtualnych mandatów autorom stron domowych. W ich przypadku karą byłby po prostu spadek liczby odwiedzających i pogorszenie reputacji – czyli mechanizm, który w Internecie działa od zawsze.

Tags: ,
Author: Xion, posted under Internet, Thoughts » 3 comments

“Nie działa! Jejku, co ja zrobię?!”

2007-08-08 16:10

Na forum Warsztatu zdarzają się różne problemy. Część z nich dotyczy nieznanych przyczyn błędnego funkcjonowania programu lub jakiegoś kawałka kodu. Z pewnością nie jest tak, że takie wątki są z góry uznawane za niepożądane. To, co o tym decyduje, to przede wszystkim treść, opisowość i precyzja.

A z tym bywa kiepsko. Bardziej doświadczeni programiści wiedzą oczywiście, że do wyeliminowania błędu potrzebna jest dokładna wiedza, w jakich okolicznościach on występuje. A już zupełnie niezbędne jest określenie, co tak naprawdę się dzieje: błędny rezultat funkcji, wyjątek czasu wykonania, zawieszenie się programu, bluescreen, spalenie płyty głównej (no, może przesadzam ;)) ?…
Nierzadko jednak za cały opis ma wystarczać mgliste stwierdzenie, że coś nie działa. “Serio?” – chce się odpowiedzieć – “więc idź i to napraw ;P”. Przy tak skąpo opisanych objawach trudno przecież oczekiwać, żeby ktokolwiek mógł wywróżyć, co tak naprawdę jest ich przyczyną.

Czasem ta lakoniczność jest spowodowana tym, że dana osoba traktuje fakt niedziałania napisanego przez siebie kodu wręcz jako życiowe niepowodzenie lub – co gorsza – osobistą zniewagę. A gdy w grę wchodzą takie emocje, z zebraniem potrzebnych informacji może być kłopot…
Próbuję się tu wczuć w taką postawę, ale prawdę mówiąc zupełnie jej nie rozumiem. Może każdy na początku przygody z programowaniem reaguje podobnie, a ja zdążyłem już po prostu zapomnieć, że kiedyś mi się to zdarzało? A może jednak zależy to od charakteru i sprawia, że osoby biorące wszelkie niepowodzenia (w tym przypadku błędy) za bardzo do siebie mają trudności w zostaniu dobrymi programistami?

I czy faktycznie podejście emocjonalne tak bardzo przeszkadza?… Nie wiem, jak w jest w istocie, lecz wiem jedno: ostatnio zdecydowanie za często zajmuję się dziwnymi problemami :)

Tags: ,
Author: Xion, posted under Programming, Thoughts » 6 comments

Pytania o bardzo długich odpowiedziach

2007-08-04 20:51

Jako moderator forum Warsztatu dość często spotykam się z różnymi przejawami tak zwanego lamerstwa. Część z nich jest bardzo typowa, na czele z pokazywaniem kawałka kodu (zwykle obleśnego) i zadawaniem nieśmiertelnego pytania:

No i co tu jest źle?!

Nie trzeba się domyśleć, że reakcja na takie kwiatki jest zwykle dość gwałtowna :)

Innym przykładem lamerstwa są zbyt ogólne pytania – czyli takie, na których odpowiedzi (o ile w ogóle istnieją) kryją za sobą całe, nierzadko bardzo obszerne dziedziny. “Jak napisać grę podobną do …?” czy “Jak dodać do gry tryb multiplayer?” to całkiem reprezentatywne przykłady. Co można zrobić, kiedy napotka się tego rodzaju okaz?
Oczywiście można zareagować drastycznie i represyjnie. Twierdzę jednak, że każdego (no, prawie każdego ;)) lamera da się w końcu odlamić. Nie dysponujemy naturalnie nieograniczonym czasem, by w ten sposób załatwiać wszystkie przypadki. Z odrobiną dobrych chęci można chyba jednak coś zdziałać.

Otóż według mnie dobrą receptą na ogólne pytanie są… pytania bardziej szczegółowe. I to w dużych ilościach, zadawane w sposób logiczny i rzeczowy. Osoba zasypana gradem takich konkretnych pytań, poruszających szczegółowe kwestie z danej dziedziny, na pewno będzie przynajmniej uświadomiona o obszerności tematu, który tknęła. A jeśli posiada odpowiedni zasób umiejętności wyszukiwania – którym to powinien się wykazywać każdy programista i delikwent aspirujący do tego miana – wtedy użyje tych pytań jako wskazówek do poszukiwania informacji na własną rękę. Na forum powróci zaś wówczas, gdy pojawią się bardziej konkretne zapytania i problemy, które z pewnością będą mogły liczyć na przyjaźniejszy odzew.

Czy to zbyt optymistyczny scenariusz? Być może. Na szczęście dość szybko okazałoby się, czy taka okrojona marchewka działa. Jeśli nie, wtedy zawsze można sięgnąć po kij :)

Tags: ,
Author: Xion, posted under Internet, Thoughts » 1 comment

Dalsze badania nad relacją zawierania

2007-08-03 20:09

Nie tak dawno temu w notce Trzy rozwiązania dla relacji zawierania zastanawiałem się nad tym, jak elegancko i odpornie (na błędy) zrealizować interfejs klasy-kontenera zawierającego różne elementy. Po jakimś czasie jednak zapomniałem o całej sprawie, gdyż zająłem się menedżerem fontów, gdzie kwestia ta nie była mi potrzebna.
W końcu przyszła pora na zastanowienie się nad systemem GUI i wtedy przypomniałem sobie o tym problemie. Rezultatem tego jest wątek na forum Warsztatu.

Wywiązała się w nim ciekawa dyskusja, ale ostatecznie tylko odrobinę przybliżyła mnie do dokonania jakichś decyzji. Bardziej interesujące są może nieco inne wnioski, które przy tej okazji wyciągnąłem… Tak, chciałbym sobie teraz trochę pofilozofować :)
Zaskoczyło mnie trochę to, że na proste i jednoznaczne pytanie (“Które rozwiązanie jest lepsze?”) w dziedzinie tak zdawałoby się ścisłej jak programowanie nie ma dobrze uzasadnionej i obiektywnej odpowiedzi. Właściwie wszystkie argumenty, jakie tam padały były wielce subiektywne, na zasadzie: “wydaje mi się”, “bardziej naturalne będzie”, “najbardziej logiczne jest”, itd.
Okazało się, że programowanie – a zwłaszcza faza projektowania – wcale nie musi być taką ścisłą dziedziną, a każdy jego wytwór może mieć indywidualny charakter. Oczywiście, spora część podejmowanych przy okazji decyzji ma inny charakter niż dylemat, czy ładniejszy jest kolor zielony czy czerwony. Zdarzają się jednak i takie, gdzie kryteria są niejasne, nieostre i subiektywne.

Prostota, przejrzystość, elegancja… estetyka… piękno? Czy to dowód, że programowanie można w pewnym stopniu uważać za dziedzinę sztuki?

Tags: ,
Author: Xion, posted under Programming, Thoughts » Comments Off on Dalsze badania nad relacją zawierania
 


© 2017 Karol Kuczmarski "Xion". Layout by Urszulka. Powered by WordPress with QuickLaTeX.com.