Pl/Source
< Pl
Jump to navigation
Jump to search
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:pl. 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
- Detailed and believable characters
- Realistic eyes
- Focus on player/object, not simply parallel views
- Proper eye bulge for realistic eye reflections
- Simulated musculature provides outstanding emotions, speech and body language
- Language independent speech, characters can naturally speak in many languages
- Skeletal/bone system for animation
- Layered animation system can synthesize complex animations out of several pieces
Physics
- More responsive world with realistic interactions
- Sounds & graphics follow from physics
- AI characters can interact with physically simulated objects
- Ropes/cables, machines, constraint systems, ragdoll physics
- Can be controlled by level design
- Kinematic animated bone followers
- Custom procedural physics controllers
- Vehicles
- Wheels slip and skid
- Realistic suspensions with springs on each wheel
- Realistic leaning during acceleration/deceleration and turning
- Individually tunable parameters such as horsepower, gearing, max speed, shift speed, tire material, tire friction, spring tension/dampening etc.
- Multiple players in a vehicle in multiplayer
- Hovercraft support for cheaper simulation
Advanced AI
- I/O system allowing level designers to control AI
- Sophisticated navigation: characters that run, fly, jump, crouch, climb stairs and ladders, and burrow underground
- AI senses things using sight, sound, smell
- AI relationships determine friend/foe status of other entities
- Battle AI allows squads of AI characters to operate together, know when to advance, retreat, lay cover fire, etc.
Sound
- 7.1, 5.1 surround sound, 4 speaker surround
- High-quality 3D spatialization
- Custom software DSP
- Automatic DSP based on environmental geometry
- ADPCM decompression
- 16-bit 44KHz, stereo wave data with all features
- MP3 decompression (requires Miles license)
- Support for audio streaming on any wave
- Real-time wave file stitching
- Pre-authored Doppler effect encoded waves
- Pre-authored distance variant encoded waves
UI
- Server browser - Displays all active game servers and allows a player to choose which one to participate on. Players can filter and sort server lists in order to speed up the display and selection of a server.
- 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.
Programming
- 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.
Tools
- 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