Search the Community
Showing results for tags 'light'.
Found 3 results
I'm not sure if this should go here or in the Tech Support section, so If this is the wrong place, please let me know. As a hobbyist game developer, I'm curious about how the Light Awareness System works in The Dark Mod. I've been poking through the source code, but haven't found any definitive math explaining it, or code comments mentioning on how it's calculated. If anyone could point me to exactly where to look, or could explain what steps and/or math it's using to calculate how visible the player is, I'd greatly appreciate the insight. For reference, I'm trying to implement a similar system in my own stealth game I'm working on in Unreal Engine 4.
I recently saw a post about the functionality of the idTech 6 engine, which brought this suggestion to my attention. It's actually a simple and trivial improvement, although I can imagine people missing it and not thinking about its absence. Also keep in mind I don't know the lighting code of TDM, and everything I say is purely out of observation. Like most engines that use dynamic lighting, TDM tends to have considerable performance issues when a lot of lights are rendered at once. This is often because of shadows and possibly other calculations. A common way to prevent extra computation in the renderer is caching all lights, and only updating each one when necessary. Meaning either the light itself has moved, or something is moving in front of the light. If both the light and the geometry it affects are static, there is nothing to recalculate, which offers a significant performance boost. TDM has a serious problem here: Even if the engine already knows how to cache lights, every torch has a moving light source! If you look closely at a torch, you'll notice its shadows constantly bob around. While this makes sense aesthetically, it also means that light will be recalculated each frame... even if the torch is mounted on a wall and no physical object or NPC is currently moving within its radius. Since most maps use torches and have areas where characters don't walk in front of them, I see a notable performance improvement being lost here. My personal suggestion: First of all, does idTech 4 support light caching for static lights + geometry to begin with? If somehow the original engine didn't have that, I definitely think it should be patched in! Once that's solved, I believe moving light sources for flame based lights should be controlled by a cvar; If people are okay with the performance loss, they can enable that to get bobbing shadows... if not, disable to allow torch lights to be cached and improve overall FPS. An idea to compensate for the visual loss: Can't we use an animated light texture to simulate moving flames altogether, as well as pulsating brightness? The light bobbing looks pretty extreme anyway: In real life, candles have a smooth flame that casts a neat shadow, and shadows don't always move that chaotically even when it's a noisier flame like a campfire.
I am quite far with my first map and I am placing some visportals now. When you play the map, everything outside is rendered. The inside of the big building I placed somewhere is not rendered, thanks to a visportal. So it seems like visportals work pretty good with doors. But I also made a tunnel, which is reached after using a button, which opens then "sarcophagus_lid.lwo" with a slide animation. The visportal i placed there is not working as intended. Everytime I face the visportal it is green (r_showportals 1) and only gets red when I don't look at it, which is weird for me, because on normal doors it behaves a different way (It is red until opened). In the picture you can see two visportals working perfectly, while the green one is the visportal mentioned above. What am I doing wrong? How can I make the visportal behave like it does on doors? EDIT: I somehow forgot the question about lights. Here it is: I made a room with a beam at the top half of the room. It is possible to walk on that beam and there is no light on it. But I placed some lamps/lights right under the beam. Now the light and shadow looks pretty weird: