Całkiem poważna rozrywka

W grach komputerowych jak w soczewce widać nie tylko trendy w technologii, ale również zjawiska społeczne wywoływane przez postęp w informatyce.

W grach komputerowych jak w soczewce widać nie tylko trendy w technologii, ale również zjawiska społeczne wywoływane przez postęp w informatyce.

Nie da się ukryć - gry komputerowe zawsze były jednym z motorów napędowych rynku IT. Począwszy od gry w szachy, która przyczyniła się do rozwoju systemów podejmowania decyzji, oraz słynnego Ponga, który pomógł położyć teoretyczne podwaliny grafiki i animacji komputerowej - gry rozwijały się razem z "poważną" informatyką. Granice pomiędzy "poważnymi" produktami a rozrywką zacierają się - także w wymiarze ekonomicznym, bo szacunki na temat rynku pokazują gigantyczne zyski całego sektora. Sam rynek konsol jest wart według różnych szacunków od 10 do 25 mld USD rocznie. Gry komputerowe sprzedawane w sklepach w samych tylko Stanach Zjednoczonych to kolejne 10 mld USD. Co najmniej dziesięciokrotnie większą wartość ma piractwo gier komputerowych. Nikt nie prowadzi statystyk na temat wartości rynku gier sprzedawanych online - zarówno tych do pobrania z Internetu, jak i wirtualnych światów dostępnych za miesięczny abonament MMORPG (Massive Multiplayer Online Role Playing Games). Jedno jest pewne, gry to dziedzina angażująca dziś najlepszych specjalistów rozmaitych dziedzin (programistów, grafików, kompozytorów, scenarzystów, aktorów), kipiąca od kreatywności i na dodatek oferująca wielkie pieniądze.

Flight Simulator - o fizyce, grafice i pieniądzach

Ogłoszenia o pracy dla informatyków pochodzące od producentów gier dają dobry obraz oczekiwanych kwalifikacji. Oprócz znajomości kilku języków programowania (na "topie" są C++ i Java) pojawiają się znajomość technik grafiki komputerowej, wyobraźnia i kreatywność, ale także znakomita znajomość geometrii i fizyki.

Najłatwiej zrozumieć geometrię i grafikę. Znaczna część współczesnych gier dzieje się w trójwymiarowej przestrzeni i obraz syntetyzowany jest na bieżąco. Warsztat programisty gier obejmuje wszystkie obszary grafiki komputerowej i geometrii analitycznej: rzuty na płaszczyznę, przekształcanie wieloboków, ukrywanie niewidocznych powierzchni, pokrywanie teksturami, dithering, ray-tracing, światło i cienie, mgłę... wszystkie te zagadnienia to zaawansowana matematyka. Wystarczy sięgnąć do przeciętnego artykułu nt. cieni i rzucania ich na powierzchnie (np.http://www.devmaster.net/articles/shadow_techniques ), by zauważyć mnogość wzorów matematycznych i algorytmów, których znajomość wymagana jest od twórców gier komputerowych.

Z tych samych powodów ważna jest fizyka, a zwłaszcza mechanika i kinetyka. Trzeba w sposób wiarygodny zaprogramować co stanie się z rzuconym kamieniem, w jaki sposób i na jaką odległość rażą odłamki wybuchającej bomby, w jaki sposób kąt wybicia z progu łączy się z odległością osiąganą na skoczni narciarskiej, kiedy statek kosmiczny osiądzie gładko na powierzchni, a kiedy się rozbije... dobra znajomość fizyki to w grach podstawa.

Najlepszym przykładem gry, gdzie występuje połączenie zaawansowanej grafiki komputerowej ze starannym modelowaniem fizycznym (ze szczególnym uwzględnieniem aerodynamiki), jest Flight Simulator. Już dziesiąte, jubileuszowe wydanie tej gry ma dostarczyć szczególnie realistycznych wrażeń z lotu i nowych, wiernie odwzorowanych lokalizacji. Wersja demonstracyjna ma, bagatela, 817 MB i zawiera zaledwie trzy samoloty, dwa lotniska i dwie misje - większość tej objętości to kod gry. To dowodzi, jak wiele wysiłku wkładane jest przez programistów w realizm symulacji.

Tak wysoko postawioną poprzeczkę mogą przeskoczyć tylko najlepsi: płaca dobrego programisty wynosi 30-70 tys. USD rocznie i nie różni się istotnie od płacy dobrego inżyniera baz danych czy projektanta aplikacji. Jest wszakże jedna istotna różnica: poza niewielkimi wyjątkami praca programisty gier ma inną skalę. Przeciętną aplikację ogląda kilkudziesięciu, może kilkuset użytkowników; w gry komputerowe grają miliony, a czasem dziesiątki milionów osób. Dodajmy, że świat gier tworzy zupełnie nowe zawody, nieznane w budowie innych aplikacji: np. kierownik scenariusza, animator, główny projektant postaci, projektant scen 3D, moderator internetowych społeczności graczy.

Unreal - nie ma jak dobry motor

Całkiem poważna rozrywka
Trzeba jednak sprawiedliwie dodać, że zaawansowane zagadnienia teoretyczne w coraz mniejszym stopniu obchodzą twórców gier. A dzieje się tak za sprawą bibliotek graficznych oraz tzw. motorów (engines) gier komputerowych. Jeszcze pięć lat temu każda gra miała od nowa tworzony interfejs graficzny i fizykę. Dzisiaj dostępne są dojrzałe biblioteki graficzne (np. DirectX czy OpenGL) i kilkadziesiąt motorów gier komputerowych. Jak przystało na middleware, biblioteki gier dają warstwę abstrakcji dla kart graficznych, obiektów, urządzeń wskazujących itd. Twórca nie musi więc myśleć, na jaki akcelerator graficzny czy rozdzielczość monitora gra ma być pisana. Biblioteka odpowiednio przeskaluje obiekty, rozlokuje na płaszczyźnie, da złudzenie przestrzeni.

Nieco inną funkcję mają motory gier komputerowych. Firma ID Games, twórca legendarnego Dooma, zauważyła, że biblioteki stworzone na potrzeby gry są chętnie licencjonowane i wykorzystywane przez niezależnych twórców do budowy własnych gier. Oddzieliła więc warstwę reguł wirtualnego świata oraz wizualizacji obiektów w tym świecie od samych obiektów oraz scenerii. Tę pierwszą część nazwała motorem gry i tak powstał bodaj pierwszy game engine. Ten z Dooma dostępny jest za darmo - choć oczywiście stanowi już tylko ciekawostkę historyczną.

Dzisiaj takich motorów jest kilkadziesiąt, a środowisko wyraźnie polaryzuje się dzieląc na "rozwijających technologię" (motory) i "kreatorów gier". Motor ma kilka ważnych funkcji: przede wszystkim stanowi abstrakcję dla platformy sprzętowej i systemowej. Pamiętajmy, że gry komputerowe to nie tylko rynek komputerów, ale przede wszystkim rynek konsol. Warstwa middleware pomiędzy programem a biblioteką graficzną zapewnia, że ten sam kod gry będzie przenośny pomiędzy platformami. Kolejna korzyść z motoru to oderwanie od równań z dziedziny fizyki czy grafiki komputerowej. O ile bez engine'u programista musi każdorazowo myśleć np. w jaki sposób pejzaż ma być "zamglony", o tyle w języku skryptowym programującym zadany motor mówi tylko "zrób zamglony pejzaż z przejrzystością 40%" i nic więcej. Aktualnie motory gier dodają jeszcze warstwę abstrakcji sieciowej, pozwalając kreować platformy rozrywki w Internecie.

GTA San Andreas - czy gry są moralne?

Całkiem poważna rozrywka
Gry komputerowe typu FPP (First Person Perspective) z dużą ilością krwi i przemocy budzą największe kontrowersje. Masakra w Columbine High School, gdzie szaleniec zastrzelił kilkoro młodych ludzi, wywołała dyskusję na temat wpływu takich gier na patologie społeczne. Sprawcy spędzali długie godziny, grając w gry FPP i w ataku do pewnego stopnia naśladowali zachowania znane z gry - jednak rodziny ofiar przegrały proces wytoczony producentom gier.

Dyskusja nad wpływem gier komputerowych na przestępczość ma zresztą korzenie w podobnych dyskusjach na temat filmów i telewizji.

Krytycy gier argumentują, że są one - w przeciwieństwie do telewizji - interaktywne i wymagają od gracza zachowań pełnych przemocy. Przemysł gier wideo uważa, że każdy odpowiada za swoje czyny popełnione realnie, nie zaś wirtualnie i scenariusze oraz fabuły gier komputerowych chronione są pierwszą poprawką do konstytucji.

Duże kontrowersje na temat gier komputerowych widać wtedy, gdy na świecie wydarza się coś istotnego.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200