Conclusion
Our Fog of War module is very strong in its ease of use for users while remaining highly flexible. The user can decide how many objects have a field of view, the size of that field of view, and what image is displayed for areas that the player has not explored yet. The major weakness for our implementation is lag. The more objects that a user has with a field of view, the more calculations must be run. The code for changing the overlay runs at O(n*m), where n is the number of pixels in the overlay and m is the number of objects with a field of view.
If performance is an issue, turn down the resolution of the texture used for the background. This will lower the required amount of pixels that need to be adjusted and thus speed up the processing of each update to the overlay.
If we had more time:
With more time, we would have created more options for how the field of view is rendered. Our current implementation supports the rendering of circular fields of views. Additional time would have allowed us to make other shapes, including a directionally based cone field of view.
Next Version:
The next version should include support for more field of view shapes, including squares and a directional cone shaped field of view. For rendering objects only visible within a field of view, the next version should check the full area that an object occupies instead of just the center point for that object.