Aclaremos algunas cosas antes de seguir discutiendo el tema:
Luz dinámica es una fuente de luz que puede cambiar de intensidady de posición.
Sombras dinámicas son sombras que responden a las luces dinámicas, es decir, cambian cuando la intesidad o posición de las luces se modifica. Sombras dinámicas no significa que la sombra se mueva al mismo tiempo que el objeto que la proyecta como piensan algunos.
Half Life 2 si tiene luz dinámica, las luces pueden cambiar de intesidad y posición.
Half life 2 no tiene sombras dinámicas. Desconozco si el motor Source soporta esta característica
Otro tema es la cantidad de luces que proyectan sombra. En Half Life 2, sólo una fuente de luz se usa para proyectar sombras, todas las demás luces del juego (explosiones, encender/apagar la linterna, romper una bombilla) no afectan a las sombras de los objetos. Generalmente se usa como luz para proyectar sombras la más potente de todas las luces del mapa, por ejemplo la luz del Sol en espacios abiertos.
Tampoco se si es una limitación del motor Source, o simplemente han hecho así Half Life 2 para que pida menos requisitos (cuantas mas luces proyecten sombra, más potencia de cálculo es necesaria).
El tema de sombras dinámicas, no tiene nada que ver con el bug de las sombras que atraviesan paredes. Las sombras dinámicas solo determinan si la sombra reacciona a las luces dinámicas.
Ahora veamos el por qué de las "sombras mágicas de Half Life":
Un mapa de Half Life 2 se compone de 2 partes, la geometría del mapa (es decir, la forma del mapa, las paredes, el techo, el suelo), y los objetos del mapa (sillas, mesas, enemigos, cajas, barriles, etc..)
La geometría del mapa es estática (las paredes y el suelo no se van corriendo, siempre están en el mismo sitio), los objetos del mapa se mueven.
Hemos dicho que para las sombras, Half Life 2 solo utiliza una fuente de luz que nunca cambia (por ejemplo en espacios abiertos se usa la luz del Sol). La geometría del mapa nunca cambia tampoco. Como estos 2 elementos son estáticos, las sombras que proyectan no cambian durante todo el juego, así que lo que hace el motor Source es calcular esas sombras antes de empezar la partida, las coloca con una textura, y ahí se quedan. Esta técnica se llama Light maps (mapas de luz).
Ahora bien, este método no vale para los objetos que no forman parte de la geometría del mapa, ya que al ser móviles, no se puede calcular la sombra y dejarla en el mismo sitio aunque el objeto se mueva.
Para realizar las sombras de objetos móviles, Source utiliza una técnica llamada proyección de sombras.
Los objetos, están compuestos de polígonos. Los polígonos se componen de vertíces (los puntos que unen las líneas del polígono).
Para calcular las sombras de los objetos dinámicos, Source proyecta los vertices de cada polígono en tiempo real utilizando como base de la proyección la fuente de luz principal. Según la dirección y distancia de esta se crea "una copia" de la silueta del modelo que queda proyectada en el suelo formando la silueta de la sombra.
Este método hace que las siluetas de las sombras sean perfectas, solo hay que verlo en el juego, pero tiene dos incovenientes.
Primero: Las sombras de cada objeto no se pueden proyectar sobre otro objeto, solo se pueden proyectar sobre la geometría del mapa.
Segundo: Las sombras solo se pueden proyectar sobre superficies planas.
Es por eso que las sombras de los objetos "atraviesan" cosas en el juego, por que la sombra solo se puede proyectar sobre suelos y paredes planos que forman parte de la geometría del mapa.
Conclusión: NO ES UN BUG, es una limitación de la técnica usada por Source. Esta técnica no está inventanda por Valve, es una técnica de programación gráfica y cualquiera que la use sufrirá las mismas limitaciones.
Ahora la gran pregunta, ¿por qué las sombras de Doom 3 sí se dibujan sobre cualquier objeto y superficie?
Por que Doom 3 usa otra diferente técnica llamada Stencil Shadows. Esta técnica, permite que las sombras se dibujen sobre cualquier superficie y sobre cualquier objeto, no tiene las limitaciones de la técnica de sombras proyectadas.
Siguiente pregunta, si esta técnica no tiene limitaciones, ¿por qué no la ha usado Valve para Source? Pues por que esta técnica tiene un problema, necesita mucha, mucha, mucha, pero muuuuuuuuuucha capacidad de cálculo para poder ser usada.
Doom 3 está hecho en espacios cerrados, y la mayoría de las cosas que encontramos en el mapa, son estáticas; quitando los enemigos y alguna que otra caja, nada se mueve en el mapa.
Half Life 2 está hecho en espacios abiertos, y la mayoría de las cosas se pueden mover. Si el motor Source usara la técnica de stencil shadows para calcular las sombras mientras estamos en una playa a plena luz del Sol manejando una grua enorme para levantar un contenedor mientras varios soldados corren por debajo, creo que ningún PC actual podría dar un resultado decente para que fuera jugable.
Ese es el motivo por el que Half Life 2 utiliza sombras proyectadas con las limitaciones que ello conlleva en lugar de stencil shawos que permiten que la sombra se dibuje en cualquier objeto y superficie.
NOTA: Esto que he explicado está basado en artículos leídos de Internet y deducción propia, a lo mejor la he cagado en algo.