Es/Source

es un motor de juego 3D creado por en 2004 y es el sucesor de . El motor es bien conocido por sus avances en física, IA y gráficos que hicieron el juego realista para su tiempo, mientras que era escalable en hardware más antiguo y menos potente. Un juego, , ganó varios premios por sus gráficos, que fueron posibles con Source. ha sido utilizado por Valve, empresas de terceros, y (al igual que GoldSrc) innumerables mods comunitarios por personas de todo el mundo, con al menos 100 juegos desarrollados en Source. El motor también tiene varias versiones, cada una con nuevas características agregadas y capacidades gráficas mejoradas.
A pesar de que el motor Source tiene casi 20 años y ha sido reemplazado por el motor para uso de primera parte desde 2015, sigue siendo comúnmente utilizado hoy en día por modders y algunas empresas de terceros debido a la falta de documentación de Source 2 y rara vez se licenció a desarrolladores externos en comparación con Source, y todavía se mantiene regularmente con actualizaciones de seguridad y del motor.
==Renderizado==
* Version 3.0 (y anteriores) shaders
* Soporte para Anti-aliasing
** es el primer motor de Valve en soportar anti-aliasing, antes de que se añadiera MSAA (4X) a en 2013.
** MSAA es el método tradicional de anti-aliasing, funciona muestreando (renderizando) cada píxel varias veces en diferentes ubicaciones dentro del marco y promediando las muestras para producir el valor final del píxel. Se usa comúnmente en la mayoría de los juegos de video antiguos, incluyendo casi todos los juegos del motor Source (excepto (desde la actualización de Xen), , etc...). Se soporta hasta 8x MSAA (o 6x MSAA en Source 2004). Las GPUs más antiguas (como las tarjetas Nvidia pre-Maxwell) también soportan CSAA.
** FXAA también es soportado en . A diferencia de MSAA, FXAA tiene menos impacto en el rendimiento que la mayoría de los otros métodos de AA debido a que es un efecto de post-procesamiento, lo que significa que puede añadirse no oficialmente a juegos de motor Source más antiguos (o incluso otros videojuegos, otros motores y otras aplicaciones en general), utilizando software como ReShade, o incluso integrado a través de la configuración del controlador gráfico, y a diferencia de MSAA, FXAA y otros métodos de post-procesamiento afectarán a las texturas transparentes, sin embargo, debido a su naturaleza, esto hace que FXAA se vea peor que muchos otros métodos de AA ya que parece que desenfoca la imagen, además de que no reconstruye el píxel que faltaba debido a la falta de un anti-aliasing tradicional.
** MLAA es otro método de anti-aliasing de post-procesamiento, que se utiliza en la versión de de . MLAA tiene un mayor impacto en el rendimiento que FXAA.
** TAA es un método moderno de AA comúnmente utilizado en la mayoría de los juegos modernos, que superó el método MSAA para el anti-aliasing, funciona combinando información de marcos pasados y el marco actual para eliminar los dientes de sierra en el marco actual. Sin embargo, como se mencionó, TAA combina información de marcos pasados y actuales puede causar un efecto de desenfoque y fantasma mientras se mueve, más notable con baja FPS. En el caso del motor Source, solo está disponible en algunos juegos como .
* Más opciones de filtrado anisotrópico y de texturas
** El filtrado anisotrópico permite que las texturas en la distancia se vean más nítidas y menos borrosas.
** Comparado con GoldSrc (antes de 2013) que solo cuenta con filtrado de texturas Bilinear o Trilinear, cuenta con más opciones de filtrado de texturas, que van desde Bilinear, Trilinear, Anisotropic 2x hasta 16x.
* Bump mapping y Normal mapping en modelos y el mundo
* Crear shaders con HLSL
* Mapeado de cubos y del entorno
** El mapeado de cubos también soporta Anisotropy 
* Sombreado Phong para modelos
** Phong también es soportado en pinceles del mundo 
* Luces dinámicas, iluminación de vértices y lightmaps, muchos tipos de luces incluyendo parpadeo, pulsación, etc.
* HDR y SDR/LDR (excepto ) iluminación
* Agua con refracción, reflejos del mundo en tiempo real y efectos de Fresnel
** El agua también soporta mapas de flujo 
* Sistemas avanzados de partículas que pueden emitir sprites o modelos
* Sombras renderizadas en tiempo real que permiten un gran número de personajes por escena 
* Entidades Occluder para bloquear la visibilidad
* Entornos interiores/exteriores
** Terreno deformable
** 3D Skyboxes extienden el horizonte y añaden paralaje en objetos distantes
** Renderizado dinámico de orgánicos (hierba, árboles, etc.)
**Árboles que se balancean 
* Entornos interiores/exteriores
* Superficies de subdivisión, mapas de relieve difusos y especulares
* Iluminación de radiosidad en tiempo real
* Cascaded Shadow Mapping en tiempo real que proviene del skybox 
* Los efectos incluyen pero no se limitan a: partículas, haces, humo volumétrico, chispas, sangre y efectos ambientales como niebla y lluvia
* Escalabilidad
* Soporte para pantalla ancha
** es uno de los primeros motores de juego en soportar monitores de pantalla ancha de forma nativa (relación de aspecto 16:9 y 16:10) sin estirar la imagen, mientras que la mayoría de los juegos de esa época suelen estar diseñados solo para pantallas 4:3/5:4. Juegos como soportan pantalla ancha desde su lanzamiento en 2004, con FOV (campo de visión) horizontal, permitiendo ver más detalles.
* Renderizado basado en físicas 
* Parallax Occlusion Mapping
* Soporte para varias API gráficas (Direct3D, OpenGL, Vulkan)
* Direct3D, y niveles de DirectX
**
** Direct3D 9 
*** Esta versión de Direct3D también proporciona compatibilidad con tarjetas de nivel DX8 (o anteriores), con modificaciones y shaders de función fija. Los juegos RTX Remix como usan el nivel DX7 para que RTX Remix funcione.
** Direct3D 9.0c 
** D3D9Ex - Extensiones de Windows Aero de DX9, requiere o posterior. El usuario puede habilitar/deshabilitar en Configuración de Video - Avanzado (Extensiones de Windows Aero), o a través de .
** Direct3D 11 
** Direct3D 12 
* OpenGL que es otra API gráfica usada en juegos de Source en y .
**Dxlevel 90 es el equivalente de OpenGL a DirectX 9 (D3D9)
**Dxlevel 92 es el equivalente de OpenGL a DirectX 9 Shader Model 3 (D3D9.0c)
*La API gráfica Vulkan que es sucesora de OpenGL. 
== Sistema de materiales ==
* En lugar de texturas tradicionales, Source define conjuntos de materiales que especifican de qué está hecho el objeto y la textura utilizada para ese objeto. Un material especifica cómo se fracturará un objeto cuando se rompa, cómo sonará al romperse o arrastrarse sobre otra superficie, y cuál es la masa y flotabilidad de ese objeto. Este sistema es mucho más flexible que otros sistemas basados solo en texturas.
* Los materiales pueden interactuar con objetos o NPCs, como barro o hielo para que los vehículos resbalen/pierdan tracción
==Código de Red Multijugador==
* Probado en el tiempo por millones de jugadores en todo el mundo
* Soporte tanto para juegos multijugador basados en LAN como en Internet
* Análisis de predicción para la interpolación de detección de colisiones/golpes
* Optimizaciones para conexiones de 56k con alta latencia y pérdida de paquetes
==Personajes Avanzados==
* Personajes detallados y creíbles
* Ojos realistas
** Enfoque en jugador/objeto, no simplemente vistas paralelas
** Protuberancia ocular adecuada para reflejos realistas en los ojos
* Musculatura simulada que proporciona emociones destacadas, habla y lenguaje corporal
* Discurso independiente del idioma, los personajes pueden hablar naturalmente en muchos idiomas
* Sistema esquelético/óseo para la animación
* Sistema de animación en capas que puede sintetizar animaciones complejas a partir de varias piezas
==Física==
* Utiliza el motor de física Havok, con licencia de Havok Group (ahora adquirido por Microsoft)
* Mundo más reactivo con interacciones realistas
* Sonidos y gráficos derivados de la física
* Personajes de IA pueden interactuar con objetos físicamente simulados
* Cuerdas/cables, máquinas, sistemas de restricción, física de ragdoll
* Controlable mediante diseño de niveles
* Seguidores de huesos animados cinemáticamente
* Controladores de física procedurales personalizados
* Vehículos
** Ruedas resbalan y patinan
** Suspensiones realistas con muelles en cada rueda
** Inclinación realista durante la aceleración/desaceleración y el giro
** Parámetros individualmente ajustables como potencia, engranajes, velocidad máxima, velocidad de cambio, material del neumático, fricción del neumático, tensión/amortiguación del muelle, etc.
** Múltiples jugadores en un vehículo en multijugador
** Soporte de aerodeslizador para simulaciones más económicas
==IA Avanzada==
* Sistema de E/S permite a los diseñadores de niveles controlar la IA
* Navegación sofisticada: personajes que corren, vuelan, saltan, se agachan, suben escaleras y escaleras, y excavan bajo tierra
* La IA percibe utilizando la vista, el sonido y el olfato
* Las relaciones de IA determinan el estado amigo/enemigo de otras entidades
* La IA de batalla permite que los escuadrones de personajes de IA operen juntos, sabiendo cuándo avanzar, retirarse, proporcionar fuego de cobertura, etc.
==Sistema de Sonido==
* Sonido envolvente 7.1, 5.1, y 4 altavoces
:
:
* Espacialización 3D de alta calidad
* DSP personalizado
* DSP automático basado en geometría ambiental
* Archivos WAV comprimidos Microsoft ADPCM
* Datos de onda estéreo de 16 bits y 44.1 KHz (calidad de CD) con todas las características
:
* Descompresión de archivos MP3 (requiere licencia de Miles)
* Soporte para transmisión de audio en cualquier onda 
* Ensamblaje de archivos de onda en tiempo real 
* Ondas pre-autorizadas codificadas con efecto Doppler
* Ondas pre-autorizadas codificadas con variante de distancia
* Sistema de comentarios
==Interfaz de Usuario (UI)==
* Explorador de servidores — Muestra todos los servidores activos del juego y permite al jugador elegir en cuál participar. Los jugadores pueden filtrar y ordenar las listas de servidores para acelerar la visualización y selección de un servidor.
* VGUI — La interfaz gráfica de usuario personalizada de Valve imita la mayoría de los controles de Windows pero se renderiza utilizando el motor Source tanto dentro como fuera del juego para una visualización uniforme de la UI. Algunas características:
** Visualización dinámica de HUD en el juego
** Muchos widgets/controles (por ejemplo, botones, árbol de vista, control HTML...)
** Temas/visualización personalizada permitida
** Independiente de la plataforma
** Texto localizado (compatible con Unicode)
** Interfaz de usuario para gamepads (versión ) — Desde el lanzamiento de (y sus episodios) así como actualizaciones de en 2022, Valve ha añadido una UI moderna diseñada para consolas y dispositivos portátiles como . Con la nueva interfaz de usuario para gamepads, es más escalable en cualquier resolución (incluyendo 4K y superior), a diferencia del VGUI regular (donde, cuanto mayor es la resolución, más pequeño se vuelve el texto y la UI). Esta UI también se puede habilitar manualmente usando el argumento de línea de comandos (lo que también habilitará el renderizador Vulkan que puede no funcionar en algunas GPU más antiguas a menos que se use en combinación con ).
* Scaleform (oficialmente llamado Scaleform GFx) — Introducido con en su lanzamiento hasta 2018, este es un motor de renderizado de gráficos vectoriales utilizado para mostrar interfaces de usuario (UI) y HUD basados en para juegos.
* Panorama — Introducido en 2018, reemplazando a Scaleform, la nueva interfaz gráfica de usuario personalizada de Valve que se asemeja al diseño y autoría web modernos (HTML5/CSS/JS). Utilizando archivos .XML y JavaScript, los desarrolladores pueden crear HUDs y menús dinámicos y limpios, e incluso paneles interactivos de alta calidad dentro del juego.
==Programación==
* Source soporta nativamente varias arquitecturas de CPU, como x86 (PC y consolas de 8ª y 9ª generación), ARM (, ), PowerPC (, ), y más, con soporte tanto para 32 como 64 bits.
** El soporte para arquitectura 64 bits permite que Source maneje más de 2-4GB de límite de RAM.
** Históricamente, tuvo una actualización 64 bits en 2005, pero fue retirada posteriormente por razones desconocidas. luego recibió una actualización 64 bits en 2016 para sistemas Mac y Linux. El 19 de abril de 2024, fue actualizado a 64 bits en Windows y Linux.
* Todo el código está escrito en C/C++ utilizando Visual Studio .NET 2003 y versiones posteriores. Permite derivar fácil y rápidamente nuevas entidades de clases base existentes.
* Sistema interno de monitoreo de rendimiento sensible al contexto.
* Herramientas de medición del rendimiento gráfico integradas en el motor.
* Diseño de código modular (a través de DLLs) permite intercambiar componentes centrales para facilitar la actualización o reemplazo de código.
* Sistema de scripting VScript permite el uso de lenguajes de codificación externos, como Squirrel y Lua, en mapas para crear sistemas más complejos 
==Herramientas==
* 
** Herramienta de expresión facial utilizada para crear habla y emociones
* 
** Editor de mundo WYSIWYG
** Crea pinceles de mundo
** Editor de terreno displacement
** Coloca modelos detallados del mundo y NPCs de IA
** Establece puntos/rutas de navegación para NPCs
** Coloca triggers, brushes de clip, lógica, etc.
** Permite al diseñador de niveles conectar E/S entre entidades para controlar la IA dentro del juego
* 
** Visualizador completo de modelos
** Rota modelos en cualquier dirección
** Configura cajas de colisión
** Visualiza el casco de físicas
** Modos de vista alámbrica, sombreada o texturizada
* Studiomdl
** Compilador de modelos
* VBSP, VRAD, VVIS, VMPI
** Herramientas de compilación de mapas (bsp, iluminación y visibilidad)
** VMPI — herramienta de compilación distribuida que permite que las compilaciones de niveles se distribuyan entre muchas PC, reduciendo considerablemente los tiempos de compilación
* Exportadores
** XSI, exportadores .smd para Max y Maya para exportar modelos 3D
==Productos que utilizan Source ==
Esta es la lista de juegos que utilizan el motor .
===Productos hechos por Valve===
Haz clic aquí para editar esta lista.
===Terceros===
Juegos, herramientas y mods creados por compañías de terceros y equipos de mods.
====Lanzados====
====En desarrollo (No lanzados)====
Esta sección es para juegos y herramientas de terceros no lanzados que han sido anunciados, y actualmente están en desarrollo, no han sido lanzados públicamente, están en Beta/Early Access, o están planeados para ser lanzados.
Más juegos de motor Source de terceros
* Más mods de Source
==Ver también==
* Wikipedia:Source
* Características del motor Source
* Source SDK
* Documentación del Source SDK
* Source SDK 2013
==Enlaces externos==
* Sitio Web Oficial (archivado) - Sitio web oficial sobre el motor Source
* Tutoriales de Source Engine https://www.sourcemodding.com/tutorials/source
* Tutoriales para Source Engine https://gamebanana.com/tuts/games/35
* Tutoriales - Source - Mod DB https://www.moddb.com/engines/source/tutorials
* Página de problemas en GitHub - para reportes de errores del motor.