Source/pl

From Valve Developer Community
Jump to: navigation, search

Source jest trójwymiarowym silnikiem gry stworzonym przez Valve, który jest następcą silnika GoldSource. Source został użyty przez Valve oraz inne firmy zewnętrzne, i tak jak GoldSource, został on użyty w niezliczonych modach stworzonych przez społeczność na całym świecie.

Zdjęcie z gry Counter-Strike: Source działającej na silniku Source.
Zdjęcie z gry Counter-Strike: Global Offensive która aktualnie używa nowszej kompilacji silnika Source.

Renderer

  • Wersja 2.0 (i starsze) szadery, mapowanie wypukłości, LOD na modelach i otoczeniu
  • Tworzenie szaderów przy pomocy języka HLSL
  • Mapowanie kubiczne i środowiskowe
  • Światła dynamiczne, cieniowanie powierzchni i mapy oświetlenia, wiele typów świateł w tym pulsujące, migoczące itp.
  • Oświetlenie HDR
  • Załamania światła i efekty fresnel'a w wodzie
  • Zaawansowany system cząstek, który może emitować sprite'y lub modele
  • Rzutowanie cieni pozwala na dużą liczbę obiektów na scenie
  • "Tożsamości wykluczające" do blokowania widoczności
  • Środowiska wewnątrz budynków/na zewnątrz
    • Deformowalny teren
    • Trójwymiarowe skybox'y poszerzają horyzont i dodają głębi dlakim obiektom
    • Dynamicznie renderowana roślinność (trawa, drzewa itp.)
  • Powierzchnie typu subdivision, tekstury specular oraz diffuse dla wypukłości
  • Oświetlenie metodą energetyczną (radiosity) w czasie rzeczywistym
  • Efekty mogą zawierać: cząsteczki, promienie, dym, iskry, krew, efekty środowiskowe jak mgła lub deszcz
  • Skalowalność
    • Wsparcie dla sprzętu zgodnego z DX6-DX9

Materiały

  • Zamiast tradycyjnych tekstur, Source definiuje zestaw materiałów, które określają z czego obiekt jest stworzony i tekstury jakich on używa. Materiał określa w jaki sposób zachowa się obiekt w przypadku uszkodzenia, jaki wydobędzie dzwięk gdy zostanie uszkodzony lub będzie przesuwany po powierzchni, a także jaka jest jego masa i wyporność. System ten jest znacznie bardziej wszechstronny niz inne systemy bazujące tylko na teksturach.
  • Materiały mogą oddziaływac na obiekty lub NPC. Przykładem może być błoto lub lód na którym pojazdy tracą przyczepność lub też ślizgają się.

Kod rozgrywki wieloosobowej

  • Sprawdzony przez czas i miliony graczy na całym świecie
  • Wsparcie dla rozgrywek wieloosobowych w sieci lokalnej oraz przez Internet
  • Przewidywanie położenia i interpolacja wykrywania kolizji/trafień.
  • Optymalizacje dla połączeń:
    • o dużych opóźnieniach
    • o dużej utracie pakietów typu połączenia modemowe 56k.

Zaawansowane postacie

  • Szczegółowe, wiernie oddane postacie
  • Realistyczne oczy
    • Podążanie oczu za graczem/obiektem, nie tylko widok na wprost
    • Poprawnie odtworzona rogówka pozwala na realistyczne refleksy w oczach
  • Symulowana muskulatura pozwala na wyrażenie emocji, i mowy ciała.
  • Wymowa niezależna od języka, postacie mogą w naturalny sposób mówić w wielu językach
  • System szkieletu/kosci do animacji
  • Warstwowy system animacji moze poskładać skomplikowane animacje z wielu oddzielnych kawałków

Fizyka

  • Bardziej interaktywny świat z realistycznymi interakcjami
  • Dzwięk i grafika podążają za fizyką
  • Charaktery AI mogą wpływać na obiekty symulowane fizycznie
  • Liny/kable, maszyny, systemy powiązań, fizyka ragdoll
  • Może być kontrolowana przy tworzeniu poziomów
  • Kinematic animated bone followers
  • Definiowalne procedury kontroli fizyki
  • Pojazdy
    • Ślizgające się koła
    • Realistycznie oddane zawieszenie ze spręzynami przy każdym kole
    • Realistyczne pochylanie się przy przyspieszaniu/hamowaniu i skręcaniu
    • Indywidualnie ustawiane parametry takie jak ilość koni mechanicznych, przełożenia, maksymalna prędkość, szybkość przełożeń, materiał i przyczepność opon, miękkość i tłumienie zawieszenia, itp.
    • Wielu graczy w jednym pojeździe w trybie rozgrywki wieloosobowej
    • Tryb poduszkowca (uproszczona symulacja)

Zaawansowana sztuczna inteligencja (AI)

  • System I/O (we/wy) pozwalający twórcom map na kontrolę AI
  • Zaawansowana nawigacja: postacie które biegają, latają, skaczą, kucają, wspinają się na drabiny i wchodzą po schodach, oraz zakopują pod pod powierzchnią.
  • AI rozpoznaje otoczenie używająć wzroku, dzwięku i zapachu
  • Powiązania AI określają status przyjaciel/wróg pomiędzy jednostkami
  • AI trybu walki pozwala drużynom współpracować, wiedzieć kiedy atakować, wycofywać się, osłaniać ogniem itd.

Dźwięk

  • Dźwięk przestrzenny 7.1, 5.1 oraz 4.0
  • Generowanie dzwięku 3D wysokiej jakości
  • Programowalny procesor DSP
  • Automatyczne DSP w oparciu o geometrię otoczenia
  • Dekompresja ADPCM
  • Dane wave typu 16-bit 44KHz z zachowaniem wszystkich właściwości
  • Dekompresja MP3 (wymaga licencji Miles)
  • Wsparcie strumieniowania dla każdego typu dźwięku
  • Łączenie dźwięków w czasie rzeczywistym
  • Wcześniej przygotowane efekty Dopplerowskie, zapisane w plikach wave
  • Wcześniej przygotowane warianty odległości, zapisane w plikach wave

Interfejs Użytkownika

  • Przeglądarka serwerów - Wyświetla wszystkie aktywne serwery gier oraz pozwala graczowi na wybranie serwera, na którym chciałby prowadzić rozgrywkę. Gracze mogą filtrować oraz sortować wyniki celem przyspieszenia procesu wyświetlania i wyboru serwera.
  • Komunikator internetowy - Pozwala graczom na przesyłanie sobie wiadomości zarówno w grze, jak i poza nią. Pozwala również na dołączanie do sesji gry w którą grają osoby na twojej liście znajomych.
  • Niestandardowy Graficzny Interfejs Użytkownika (VGUI) - odwzorowuje większość elementów sterujących systemu Windows, ale jest renderowany za pomocą silnika Source zarówno w grze, jak i poza nią. VGUI jest niezależny od platformy i jest zgodny ze standardem Unicode, co ułatwia wyświetlanie w różnych językach.

Programowanie

  • Cały kod napisany w C/C++ używając Visual Studio 6.0. Łatwa i szybka możliwość wprowadzenia nowych jednostek z istniejących bazowych klas.
  • Wewnętrzny system monitorowania wydajności.
  • Narzędzia do pomiaru wydajności graficznej wbudowane w silnik.
  • Modułowy projekt kodu (poprzez DLLs) pozwala na zamianę podstawowych komponentów w celu łatwej aktualizacji lub wymiany kodu.
  • Wszystkie Szadery DX9 napisane w HLSL.

Narzędzia

  • Face Poser
    • Narzędzie sterujące mimiką twarzy używane do odwzorowania mowy oraz wyrażania emocji
  • Valve Hammer Editor
    • Edytor poziomów oparty na WYSIWYG
    • Tworzenie "world brushes"
    • Edytor ukształtowania terenu
    • Umieszczanie przedmiotów (szczegółowych modeli) oraz NPC
    • Umieszczanie celi/ścieżek nawigacji dla NPC
    • Umieszczanie wyzwalaczy, "clip brushes", elementów zadań logicznych etc.
    • Zezwala twórcom poziomów przypisania zadań wej/wyj pomiędzy różnymi elementami, aby kontrolować AI w czasie trwania gry.
  • Half-Life Model Viewer
    • Pełny podgląd modelu
    • Obracanie modelów w dowolnym kierunku
    • Ustawienie hitboxów
    • Widok powłoki fizycznej
    • Widok normalny
    • Model szkieletu, zacieniony lub teksturowany tryb podglądu.
  • Studiomdl
    • Kompilator modelów
  • Vbsp, Vrad, Vvis, VMPI
    • Narzędzia kompilacji poziomów (bsp, oświetlenie oraz widoczność)
    • VMPI - narzędzie kompilacji pozwalające na rozdzielenie zadań kompilacji na różne komputery. Redukuje to czas kompilacji poziomu.
  • Eksportery
    • XSI, Max and Maya eksportują plik .smd jako model 3D

Gry na silniku Source

Valve

Gry stworzone przez Valve

Osoby trzecie

Gry stworzone przez inne firmy oraz przez społeczność

Zobacz także

Wikipedia: Silnik Source