Devilutionx: Implement shadow culling based on line of sight

Created on 31 Aug 2020  路  3Comments  路  Source: diasurgical/devilutionX

One feature I always wished was present in D1 is line-of-sight based visibility of the map. One of the few things that still are immersion breaking to me is the fact that the player can see the entire map even if the character is not able to actually see behind walls.

I believe this has been implemented to some extent in Diablo 2 but I feel like it would be really cool to see it in Diablo 1 as well. It would accentuate it's terror atmosphere even more and making for some interesting surprises when playing.

For folks who are potentially not aware of what I'm describing here, this is a nice interactive example:
https://www.redblobgames.com/articles/visibility/

| General idea | Diablo 2 sample |
| --- | --- |
| line-of-sight-shadow-culling-general | line-of-sight-shadow-culling |

enhancement

Most helpful comment

yes, all the asm got rewritten to C/C++, there's no asm in devilutionx

All 3 comments

image

Hey @qndel I was actually going to mention you here because I was looking at the per-pixel lighting you did. Both things at the same time would be amazing.

Do you know if the entire code responsible for lighting and the game grid are all fully translated to C/C++ already? I noticed there was a huge amount of ASM code in the repo a few months ago. Not sure what's the status now.

I could attempt something if the code is at a high enough level of abstraction right now. I'm quite proficient at C# and know a bit of C++, but if I had to work on raw assembly then there is no hope 馃槅

yes, all the asm got rewritten to C/C++, there's no asm in devilutionx

Was this page helpful?
0 / 5 - 0 ratings

Related issues

baszczewski picture baszczewski  路  15Comments

ctrl-meta-f picture ctrl-meta-f  路  30Comments

mgpat-gm picture mgpat-gm  路  21Comments

predator8bit picture predator8bit  路  22Comments

mbreskovec picture mbreskovec  路  49Comments