poniedziałek, 13 sierpnia 2012

Dlaczego jaram się portem silnika Source na Linuksa?

Source to z pozoru nic ciekawego, często podsumowywany jako silnik z 2004 roku bez obsługi DirectX 10 i 11. Są jednak powody dla których Source może mieć większe znaczenie niż Unity 4 czy Unigine.

Poniżej znajduje się prezentacja Source z 2003 roku.


Jaka jest różnica względem prezentacji innych silników (np. Unreal Engine, id Tech czy Unigine)? Nie skupiono się na grafice. Wtedy, choć oszałamiająca, była tylko jedną z wielu nowinek obsługiwanych przez Source.
Na samym początku widoczna jest animacja mimiki twarzy (w póżniejszych wersjach nawet 80 sprzętowo akcelerowanych [1] "mięśni") oraz ruch warg generowany w locie na bazie ścieżki dźwiękowej.

Późniejsze etapy prezentacji przedstawiają interakcję ze środowiskiem, "fizykę" (tu w akcji zmodyfikowany Havok 2) czy zachowanie postaci kierowanych przez komputer. I w tym miejscu chcę się na chwilę zatrzymać.
Jak wiele znacie modów/samodzielnych gier utworzonych na silnikach id Tech po ich uwolnieniu? Sporo. A ile z nich to kampanie dla jednego gracza? Znajdzie się coś poza klonami Quake 3 Arena?
W przypadku Source nie można narzekać na brak (darmowych) modów singleplayer. Niektóre z nich prezentują wręcz rozmach i jakość godną komercyjnych produkcji. 

Sporym ukłonem w stronę twórczej części społeczności są narzędzia niespotykane u innych wydawców. Tu wsparcie nie kończy się na samodzielnym edytorze map (Hammer). W Portalu 2 zintegrowano prosty w obsłudze edytor komór testowych, a urodzeni reżyserzy mogą spróbować swoich sił w programie Source FilmMaker.

Trudno nazywać Source silnikiem z 2004, bo jest cały czas rozwijany. Największe zmiany przeszedł w 2007 roku przy okazji Orange Boksa.



Przyniósł on nie tylko zmiany w oświetleniu ale i wsparcie dla prerenderowanej "fizyki", która pozwalała na wielkie sceny destrukcji bez przeciążania CPU, system cząstek i roślinności.


Kolejne gry przyniosły rendering dynamicznie tworzonych ran (Left 4 Dead 2), symulacje płynów (Portal 2) czy symulacje ubrań (Dota 2).

Dlaczego Source nie wspiera Direct3D 11/OpenGL 4.0? Nie wiem, może w Valve odbyła się taka rozmowa:
- Zróbmy Portala 2 pod DirectX 11!
- Po co?
- Będziemy mogli wykorzystać tesselację!
- Do czego?
- Do Companion Cube! Chwila...

Source to dalej bardzo zaawansowany twór i niebawem pewnie także najbardziej zaawansowany silnik dostępny na Linuksa. Serio!

 Autor obrazu: Klow. Licencja CC-BY-SA.

Zapomniałbym: prezentacja Valve na temat portowania L4D2 na Linuksa.

[1] Sprzętowa akceleracja mimiki wymaga karty klasy DX10 lub wyższej (w oryginalnym komunikacje Radeona HD2000), mimo iż cały czas mówiły o grze pod DX9!

Więcej o silniku Source half-life.wikia.com/wiki/Source i en.wikipedia.org/wiki/Source_(game_engine)

PS Wykradziona w 2003 roku beta pozwalała wybierać między rendererami OpenGL/Software/Direct3D. Wersja ostateczna wspierała wyłącznie Direct3D. Tu trzeba nadmienić, że OpenGL 2.0 ze wsparciem GLSL był gotowy dopiero rok po DirectX 9.0b (odpowiednio druga połowa 2004 i 2003 roku). Zdecydowanie zbyt późno.

2 komentarze:

  1. (nie chce mi się logować - kwh) - na gamescom Valve ma wystawić (werble!) Half-Life 3 http://www.gamescom-cologne.com/media/gamescom/downloads/pdf/presse/Neuheitenliste.pdf

    OdpowiedzUsuń
    Odpowiedzi
    1. No i zniknął z listy "I have made a second call to Gamescom. I was explicitly informed that Valve were the ones who askedthat HL3 be placed on the list; but that apparently, "just a few minutes ago", Valve requested that HL3 be removed from that list." http://lambdageneration.com/posts/half-life-3-confirmed-to-be-revealed-at-gamescom-2012/

      Usuń