Source
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.
Contents
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ę Category: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
- Counter-Strike: Source
- Half-Life 2
- Half-Life 2: Deathmatch
- Half-Life 2: Episode 1
- Half-Life 2: Episode 2
- Half-Life 2: Lost Coast
- Half-Life: Source
- Half-Life Deathmatch: Source
- Portal
- Team Fortress 2
- Day of Defeat: Source
- Left 4 Dead
- Left 4 Dead 2
- Alien Swarm
- Portal 2
- Counter-Strike: Global Offensive
Osoby trzecie
Gry stworzone przez inne firmy oraz przez społeczność
- Insurgency
- Black Mesa: Source
- INFRA
- Day of Infamy
- The Stanley Parable
- The Ship
- Blade Symphony
- Contagion
- Dino D-Day
- Zeno Clash
- Dark Messiah
- The Beginner's Guide
- Nuclear Dawn
- Double Action
- Consortium
- Revelations 2012
- Divinia Chronicles
- SiN Episodes: Emergence
- Vampire: The Masquerade
- Lambda Wars
- Bloody Good Time
- Tactical Intervention
- Dear Esther
- Vindictus
- Zombie Panic: Source
- No More Room In Hell
- E.Y.E: Divine Cybermancy