Pl/Source: Difference between revisions

From Valve Developer Community
< Pl
Jump to navigation Jump to search
m (i have to finish it already - started working on this in january.)
(bastano)
Line 1: Line 1:
racrellaalri
<!-- insert lovely picture of Source doing Sourcey things here -->
<!-- insert lovely picture of Source doing Sourcey things here -->


==[[:Category:Programming:pl|Renderer]]==
==[[:Category:Programming:pl|Renderer]]==


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


==[[:Category:Material_System:pl|Materiały]]==
==[[:Category:Material_System:pl|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.
* 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:pl|NPC]]. Przykładem może być błoto lub lód na którym pojazdy tracą przyczepność lub też ślizgają się.
* Materiały mogą oddziaływac na obiekty lub [[NPC:pl|NPC]]. Przykładem może być błoto lub lód na którym pojazdy tracą przyczepność lub też ślizgają się.


==[[:Category:Programming:|Kod rozgrywki wieloosobowej]]==
==[[:Category:Programming:|Kod rozgrywki wieloosobowej]]==


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


==[[:Category:Modeling:pl|Zaawansowane postacie]]==
==[[:Category:Modeling:pl|Zaawansowane postacie]]==


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


==[[:Category:Programming:pl|Fizyka]]==
==[[:Category:Programming:pl|Fizyka]]==


* Bardziej interaktywny świat z realistycznymi interakcjami
* Bardziej interaktywny świat z realistycznymi interakcjami
* Dzwięk i grafika podążają za fizyką
* Dzwięk i grafika podążają za fizyką
* Charaktery AI mogą wpływać na obiekty symulowane fizycznie
* Charaktery AI mogą wpływać na obiekty symulowane fizycznie
* Liny/kable, maszyny, systemy powiązań, [[Wikipedia:Ragdoll physics|fizyka ragdoll]]
* Liny/kable, maszyny, systemy powiązań, [[Wikipedia:Ragdoll physics|fizyka ragdoll]]
* Może być kontrolowana przy tworzeniu poziomów
* Może być kontrolowana przy tworzeniu poziomów
* Kinematic animated bone followers
* Kinematic animated bone followers
* Definiowalne procedury kontroli fizyki
* Definiowalne procedury kontroli fizyki
* Pojazdy
* Pojazdy
** Ślizgające się koła
** Ślizgające się koła
** Realistycznie oddane zawieszenie ze spręzynami przy każdym kole
** Realistycznie oddane zawieszenie ze spręzynami przy każdym kole
** Realistyczne pochylanie się przy przyspieszaniu/hamowaniu i skręcaniu
** 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.
** 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
** Wielu graczy w jednym pojeździe w trybie rozgrywki wieloosobowej
** Tryb poduszkowca (uproszczona symulacja)
** Tryb poduszkowca (uproszczona symulacja)


==[[:Category:AI:pl|Zaawansowana sztuczna inteligencja (AI)]]==
==[[:Category:AI:pl|Zaawansowana sztuczna inteligencja (AI)]]==


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


==[[:Category:Sound_System:pl|Dźwięk]]==
==[[:Category:Sound_System:pl|Dźwięk]]==


* Dźwięk dookólny 7.1, 5.1, i 4.0
* Dźwięk dookólny 7.1, 5.1, i 4.0
* Generowanie dzwięku 3D wysokiej jakości
* Generowanie dzwięku 3D wysokiej jakości
* Programowalny procesor DSP
* Programowalny procesor DSP
* Automatyczne DSP w oparciu o geomtrię otoczenia
* Automatyczne DSP w oparciu o geomtrię otoczenia
* Dekompresja ADPCM
* Dekompresja ADPCM
* Dane wave typu 16-bit 44KHz z zachowaniem wszystkich właściwości
* Dane wave typu 16-bit 44KHz z zachowaniem wszystkich właściwości
* Dekompresja MP3 (wymaga licencji [http://www.radgametools.com/miles.htm Miles])
* Dekompresja MP3 (wymaga licencji [http://www.radgametools.com/miles.htm Miles])
* Wsparcie strumieniowania dla każdego typu dzwięku
* Wsparcie strumieniowania dla każdego typu dzwięku
* Łączenie dzwięków w czasie rzeczywistym
* Łączenie dzwięków w czasie rzeczywistym
* Wczesniej przygotowane efekty Dopplerowskie, zapisane w plikach wave
* Wczesniej przygotowane efekty Dopplerowskie, zapisane w plikach wave
* Wczesniej przygotowane warianty odległości, zapisane w plikach wave
* Wczesniej przygotowane warianty odległości, zapisane w plikach wave


==[[:Category:VGUI:pl|Interfejs Użytkownika]]==
==[[:Category:VGUI:pl|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.
* '''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 się do gry w którą grają osoby na twojej liscie znajomych.  
* '''Komunikator internetowy''' - Pozwala graczom na przesyłanie sobie wiadomości zarówno w grze, jak i poza nią. Pozwala również na dołączanie się do gry w którą grają osoby na twojej liscie znajomych.  
* '''[[Vgui|VGUI]]''' - Valve's custom GUI interface mimics most of the Windows controls but is rendered using the Source engine for both in game and out of game uniform UI display. VGUI is platform independent and is Unicode compliant for ease of localization.
* '''[[Vgui|VGUI]]''' - Valve's custom GUI interface mimics most of the Windows controls but is rendered using the Source engine for both in game and out of game uniform UI display. VGUI is platform independent and is Unicode compliant for ease of localization.


Line 100: Line 101:
* [[Wikipedia:DirectX|DX9]] [[shader]]s all written in [[HLSL]].
* [[Wikipedia:DirectX|DX9]] [[shader]]s all written in [[HLSL]].


==[[:Category:Tools:pl|Narzędzia]]==
==[[:Category:Tools:pl|Narzędzia]]==


* [[Face Poser]]
* [[Face Poser]]

Revision as of 12:04, 4 January 2009

racrellaalri

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 LANie 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 dookólny 7.1, 5.1, i 4.0
  • Generowanie dzwięku 3D wysokiej jakości
  • Programowalny procesor DSP
  • Automatyczne DSP w oparciu o geomtrię 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 dzwięku
  • Łączenie dzwięków w czasie rzeczywistym
  • Wczesniej przygotowane efekty Dopplerowskie, zapisane w plikach wave
  • Wczesniej 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 się do gry w którą grają osoby na twojej liscie znajomych.
  • VGUI - Valve's custom GUI interface mimics most of the Windows controls but is rendered using the Source engine for both in game and out of game uniform UI display. VGUI is platform independent and is Unicode compliant for ease of localization.

Programowanie

  • All code written in C/C++ using Visual Studio 6.0. Easily and quickly derive new entities from existing base classes.
  • Internal context sensitive performance monitoring system.
  • Graphics performance measurement tools built into the engine.
  • Modular code design (via DLLs) allows swapping out of core components for easy upgrading or code replacement.
  • DX9 shaders all written in HLSL.

Narzędzia

  • Face Poser
    • Facial expression tool used to craft speech and emotions
  • Valve Hammer Editor
    • WYSIWYG World editor
    • Create world brushes
    • Terrain editor
    • Place detailed world models and AI NPCs
    • Set navigation points/paths for NPCs
    • Place triggers, clip brushes, logic etc.
    • Allows level designer to hook up I/O between entities to control AI within the game
  • Half-Life Model Viewer
    • Full model previewer
    • Rotate models in any direction
    • Setup hit boxes
    • View physics hull
    • View normals
    • Wireframe, shaded or textured view modes
  • Studiomdl
    • Model compiler
  • Vbsp, Vrad, Vvis, VMPI
    • Map compilation tools (bsp, lighting and visibility)
    • VMPI - distributed compilation tool allowing level compiles to be spread across many PCs greatly reducing compile times
  • Exporters
    • XSI, Max and Maya .smd exporters for exporting 3D models

Template:Otherlang:pl Template:Otherlang:pl:en