Programatically, you can block diagonal movement/vision by checking whether the adjecant tiles are blocked, so NE is blocked if north and east are blocked (from the characters perspective)
But honestly I think the game shouldn’t have overcomplicated movement mechanics. From my experience, it will just cause more harm than good.