Temple of The Roguelike Forums
Development => Programming => Topic started by: Krice on August 22, 2017, 07:25:56 AM
-
http://www.roguebasin.com/index.php?title=LOS_using_strict_definition
So I'd like to use lighting with this routine which seems to be quite nice. My lighting values are from 8 to 0 (dark). I have some kind of idea about distance and light value, but this routine is kind of strange and I'm having difficulties to figure out exactly how.
The closest I got was getting a distance from my Coords class like this: (oc = origin coordinates)
while (next.x != x1 || next.y != y1)
{
int d=oc.Get_Distance(next);
v=8-d;
if (v<0) v=0;
...
But with this the light source is rectangular in shape.
-
Well there is one solution and it's a "manual" array of data for the light intensity. It's bit more tedious way, but with that you can simply forget math, because you don't need it. You need only FOV part which in this case is already there. Then create light data for each radius size (shape of the light with intensity values from 0-8). There aren't that many of them so it's doable.
-
I do that too when its not a big area.
-
Somehow I can't match the size of lighting data to the area of FOV in this routine. It looks like radius 5 is not 7x7 tiles (visible area) but 11x11, but it still wont match.