Source es un motor de juegos 3D desarrollado por Valve . Debutó como sucesor de GoldSrc en 2004 con los lanzamientos de Half-Life: Source , Counter-Strike: Source y Half-Life 2 . Es más conocido por su uso por parte de Valve , pero el motor ha sido utilizado tanto por equipos pequeños como por individuos para crear modificaciones de juegos de Valve, [1] y otros estudios que crean juegos distintos, en particular el título de Troika Games , Vampire: The Masquerade. – Linajes . Valve continuó creando actualizaciones incrementales para el motor Source después de su lanzamiento en 2004, la mayoría de las cuales coincidieron con juegos creados por Valve. A finales de la década de 2010, Valve creó el motor Source 2 para reemplazar a Source, y debutó públicamente junto con Half-Life: Alyx . El motor Source es más conocido por sus avances en física, inteligencia artificial y gráficos. [2]
La fuente se origina lejanamente en el motor GoldSrc , en sí mismo una versión muy modificada del motor Quake de John Carmack con algo de código del motor Quake II . Carmack comentó en su blog en 2004 que "todavía hay fragmentos del código inicial de Quake en Half-Life 2 ". [3] Erik Johnson, empleado de Valve, explicó la nomenclatura del motor en la comunidad de desarrolladores de Valve: [4]
Cuando estábamos muy cerca de lanzar Half-Life (menos de una semana aproximadamente), descubrimos que ya había algunos proyectos en los que necesitábamos comenzar a trabajar, pero no podíamos arriesgarnos a incorporar el código a la versión de envío del juego. En ese momento dividimos el código en VSS para que fuera ambos
/$Goldsrc
y/$Src
. Durante los años siguientes, utilizamos estos términos internamente como "Goldsource" y "Source". Al menos inicialmente, la rama de código Goldsrc se refería al código base que se estaba publicando actualmente, y Src se refería al siguiente conjunto de tecnología más riesgosa en la que estábamos trabajando. Cuando llegó el momento de mostrar Half-Life 2 por primera vez en el E3 , era parte de nuestra comunicación interna hacer referencia al motor "Source" frente al motor "Goldsource", y el nombre se quedó.
Source se desarrolló parte por parte a partir de esta bifurcación, reemplazando lentamente a GoldSrc en los proyectos internos de Valve [5] y, en parte, explicando las razones detrás de su naturaleza inusualmente modular. Desde entonces, el desarrollo de Source por parte de Valve ha sido una mezcla de middleware con licencia y código desarrollado internamente. Las versiones anteriores de Source usan Bink Video para la reproducción de video, [6] sin embargo, las versiones más recientes del motor Source usan videos WebM para fondos de menú, videos Full Motion y pantallas de presentación. [7] .
Source fue creado para evolucionar incrementalmente con nueva tecnología, a diferencia de la compatibilidad con versiones anteriores , rompiendo los "saltos de versión" de sus competidores. Los diferentes sistemas dentro de Source están representados por módulos separados que se pueden actualizar de forma independiente. Con Steam , Valve puede distribuir estas actualizaciones automáticamente entre sus numerosos usuarios. En la práctica, sin embargo, ha habido rupturas ocasionales en esta cadena de compatibilidad. El lanzamiento de Half-Life 2: Episodio Uno y The Orange Box introdujeron nuevas versiones del motor que no podían usarse para ejecutar juegos o modificaciones más antiguos sin que los desarrolladores realizaran actualizaciones del código y, en algunos casos, del contenido. [8] Ambos casos requirieron mucho menos trabajo para actualizar su versión que los motores de la competencia.
La rama Source 2006 fue el término utilizado para los juegos de Valve que utilizan tecnología que culminó con el lanzamiento de Half-Life 2: Episodio uno . La representación HDR y la corrección de color se implementaron por primera vez en 2005 usando Day of Defeat: Source , lo que requirió que se reescribieran los sombreadores del motor. [9] El primero, junto con los comentarios de los desarrolladores, se mostraron en Half-Life 2: Lost Coast . El episodio uno introdujo el sombreado Phong y otras características más pequeñas. La tecnología de renderizado basada en imágenes había estado en desarrollo para Half-Life 2 , [10] pero fue eliminada del motor antes de su lanzamiento. Gabe Newell lo mencionó nuevamente en 2006 como una pieza de tecnología que le gustaría agregar a Source para implementar soporte para escenas mucho más grandes que son imposibles con objetos estrictamente poligonales . [11]
La rama Source 2007 representó una actualización completa del motor Source para el lanzamiento de The Orange Box . Un sistema de partículas enhebradas impulsado por artistas reemplazó los efectos previamente codificados para todos los juegos incluidos. [ cita necesaria ] Se creó un marco de herramientas en proceso para respaldarlo, que también respaldó las compilaciones iniciales de Source Filmmaker . Además, el sistema de animación facial se aceleró por hardware en tarjetas de video modernas para una calidad de "largometraje y televisión". [12] El lanzamiento de The Orange Box en múltiples plataformas permitió una gran refactorización de código , lo que permitió que el motor Source aprovechara múltiples núcleos de CPU. [13] Sin embargo, el soporte en PC era experimental e inestable [14] hasta el lanzamiento de Left 4 Dead . [15] El soporte multiprocesador fue posteriormente compatible con Team Fortress 2 y Day of Defeat: Fuente . [16] Valve creó la versión Xbox 360 de The Orange Box internamente, y el soporte para la consola está completamente integrado en la línea de código del motor principal. Incluye convertidores de activos, juego multiplataforma e integración con Xbox Live . [17] El código del programa se puede transferir desde la PC a Xbox 360 simplemente recompilándolo. [18] El lanzamiento de PlayStation 3 se subcontrató a Electronic Arts y estuvo plagado de problemas durante todo el proceso. Gabe Newell citó estos problemas al criticar la consola durante el lanzamiento de The Orange Box . [19]
La rama Left 4 Dead es una revisión de muchos aspectos del motor Source a través del desarrollo de la serie Left 4 Dead . La compatibilidad con multiprocesador se amplió aún más, permitiendo funciones como multijugador en pantalla dividida, efectos de posprocesamiento adicionales, secuencias de comandos de eventos con Squirrel y el Director de IA altamente dinámico . La interfaz del menú se volvió a implementar con un nuevo diseño diseñado para estar más orientado a la consola. Esta rama impulsó posteriormente los lanzamientos de Alien Swarm y Portal 2 , el primero publicado con el código fuente que describe muchos de los cambios realizados desde que comenzó la rama. Portal 2 , además, fue el resultado de que Valve asumiera internamente el problema de migrar a PlayStation 3 y, en combinación con la integración de Steamworks, creara lo que llamaron "la mejor versión de consola del juego". [20]
En abril de 2010, Valve lanzó todos sus principales juegos Source en OS X , coincidiendo con el lanzamiento del cliente Steam en la misma plataforma. Valve anunció que todos sus juegos futuros se lanzarían simultáneamente para Windows y Mac. [21] [22] El primero de los juegos de Valve compatible con Linux fue Team Fortress 2 , el puerto lanzado en octubre de 2012 junto con la beta cerrada de la versión Linux de Steam. Tanto los puertos del motor para OS X como para Linux aprovechan OpenGL y funcionan con Simple DirectMedia Layer . [23] Durante el proceso de portabilidad, Valve reorganizó la mayoría de los juegos lanzados hasta The Orange Box en ramas separadas, pero paralelas, de "un jugador" y "multijugador". El código del juego para estas ramas se hizo público para los desarrolladores de mods en 2013 y sirven como la versión estable actual de la fuente designada para mods. Se incluye soporte para el sistema de distribución interno Steam Pipe de Valve, así como para Oculus Rift . [24] En mayo de 2014, Nvidia lanzó versiones de Portal y Half-Life 2 para su consola de juegos portátil Android basada en Tegra 4, Nvidia Shield . [25]
Valve anunció Source 2 como el sucesor de Source en la Game Developers Conference en marzo de 2015. [26] Allí, Valve declaró que sería de uso gratuito para los desarrolladores, con soporte para la API gráfica Vulkan , además de usar una Nuevo motor de física interno llamado Rubikon. [27] [28] En junio de 2015, Valve anunció que Dota 2 , originalmente creado en el motor Source, se trasladaría a Source 2 en una actualización llamada Dota 2 Reborn . [29] [30] Reborn se lanzó al público por primera vez como una actualización beta voluntaria ese mismo mes antes de reemplazar oficialmente al cliente original en septiembre de 2015, lo que lo convirtió en el primer juego en utilizar el motor. [31] [32] El motor había sucedido a Source a finales de la década de 2010.
Source SDK es el kit de desarrollo de software para el motor Source y contiene muchas de las herramientas utilizadas por Valve para desarrollar activos para sus juegos. Viene con varios programas de línea de comandos diseñados para funciones especiales dentro de la canalización de activos, así como algunos programas basados en GUI diseñados para manejar funciones más complejas. Source SDK se lanzó como un conjunto de herramientas independiente y gratuito a través de Steam y requería la compra de un juego Source en la misma cuenta. Desde el lanzamiento de Left 4 Dead a finales de 2008, Valve comenzó a lanzar "Herramientas de creación" para juegos individuales, que constituyen los mismos programas adaptados para la construcción del motor de cada juego. Después de que Team Fortress 2 se convirtiera en un juego gratuito, Source SDK se abrió efectivamente a todos los usuarios de Steam. Cuando algunos juegos de Source se actualizaron a Source 2013, los SDK de Source más antiguos se eliminaron. Las tres aplicaciones que se mencionan a continuación ahora están incluidas en la instalación de cada juego. [ cita necesaria ]
Hay tres aplicaciones empaquetadas en Source SDK: Hammer Editor, Model Viewer y Face Poser. Model Viewer es un programa que permite a los usuarios ver modelos y puede usarse para una variedad de propósitos diferentes, incluido el desarrollo. Los desarrolladores pueden utilizar el programa para ver modelos y sus correspondientes animaciones, puntos de unión, huesos, etc. Face Poser es la herramienta que se utiliza para acceder a animaciones faciales y sistemas de coreografía. Esta herramienta permite editar expresiones faciales , gestos y movimientos de personajes, sincronización de labios y expresiones de secuencia y otras señales de actuación y obtener una vista previa de cómo se verá la escena en el motor del juego. [33]
Hammer Editor, el editor de niveles oficial del motor , utiliza herramientas de renderizado y compilación incluidas en el SDK para crear mapas utilizando el método de partición de espacio binario (BSP). La geometría de nivel se crea con polígonos 3D llamados pinceles ; A cada cara se le puede asignar una textura que también define las propiedades de la superficie, como los sonidos utilizados para los pasos. [34] Las caras también se pueden convertir en un desplazamiento permitiendo crear formas más naturales, como colinas.
Los objetos de paisaje o la geometría compleja se pueden importar como modelos 3D separados desde el directorio del juego. Estos modelos también se pueden utilizar como objetos de física o accesorios interactivos. El editor también presenta un sistema de E/S lógico detallado que se puede utilizar para crear elementos interactivos complejos. Se pueden enviar señales para desencadenar diferentes respuestas o cambiar el estado de una entidad entre entidades como botones, NPC , pinceles de activación intangibles y accesorios de mapas.
El servidor dedicado de origen (SRCDS) es un iniciador independiente para el motor de origen que ejecuta sesiones de juegos multijugador sin necesidad de un cliente. Se puede iniciar a través de Windows o Linux y puede permitir niveles y recursos personalizados. La mayoría de los servidores de terceros ejecutan además Metamod :Source y SourceMod, que juntos proporcionan un marco además de SRCDS para la modificación personalizada del juego en títulos existentes. [35] [36]
Source Filmmaker (SFM) es una aplicación de animación 3D creada desde el motor Source. [37] Desarrollada por Valve, la herramienta se utilizó originalmente para crear películas para Day of Defeat: Source y Team Fortress 2 . También se utilizó para crear algunos avances de juegos de Source Engine. SFM se lanzó al público en 2012.
En junio de 2016, Valve lanzó Destinations Workshop Tools, un conjunto de herramientas gratuitas de creación de realidad virtual (VR) que se ejecutan con Source 2 SDK. [38]
En junio de 2005, Valve abrió la wiki de la comunidad de desarrolladores de Valve . Reemplazó la documentación estática del Source SDK de Valve con un sitio comunitario completo impulsado por MediaWiki . [39]
El personal de Valve ha producido ocasionalmente artículos profesionales y/o académicos para diversos eventos y publicaciones, incluidos SIGGRAPH , Game Developer Magazine y Game Developers Conference , explicando varios aspectos del desarrollo del motor Source. [40]
Titanfall , Titanfall 2 y Apex Legends no están incluidos porque sus motores, aunque originalmente estaban basados en el Source SDK, fueron modificados hasta el punto de que son efectivamente motores diferentes. [44]
Chris Green
: El motor Source admite una amplia variedad de sombreadores. El sombreador de refracción en la ventana aquí requiere que copiemos la escena en una textura, la refractemos y luego la apliquemos a la superficie de la ventana. Para admitir completamente HDR, era necesario actualizar todos los sombreadores del motor, por lo que este sombreador de refracción se mejoró para admitir todo el rango de contraste.