This example is "dead end" since texturing with bugs. I just wanted to show you how to create "rays". By "sprite points" I mean this:
Viewing post in Inner Demons Dungeon Crawl comments
I think I still need to learn a great deal more before I can understand it. But it's fun to tinker with.
I notice I've been able to have up to 48fps in this version but as you say it lacks some consistency. I notice for me the place it has the hardest time is when you get close to walls, particularly corners.
I wonder if a perimeter around the projected walls to keep the player from getting too close to get a more consistent fps.
In this example, slowdown occurs when close to walls due to the placement of the "wall sprites". There are 181 rays and 181 "wall sprites". A "wall sprite" is "attached" to the end of each ray, therefore, when you come close to the wall, all the "wall sprites" are practically at the same point, since the rays "flow around" the obstacles that you create in the editor in 2D view.
It may not be ideal for what you are doing. Yours is a first person shooter. For what I'm doing, I don't need a lot of action components. I made a perimeter around the walls, and took out all of the extra stuff. I was able to maintain an almost consistent frame rate ~38-41.
I am going to try and see next if I can figure out how to broaden the ray to give a wider perspective, and see how that acts.
[edit] upon trying the broader perspective I am unsatisfied with the gaps that appear from the thinning rays. I may try wider tiles. I'm undecided at this point. I do like to experiment with it; it is a vast improvement over the previous method.