diff --git a/overcooked_simulator/game_content/environment_config.yaml b/overcooked_simulator/game_content/environment_config.yaml
index 6e58cec45fa0d7c81701afe42a427e8475102447..ef7f829090c2da2f95d5fe978dd717b8af41e6e6 100644
--- a/overcooked_simulator/game_content/environment_config.yaml
+++ b/overcooked_simulator/game_content/environment_config.yaml
@@ -87,7 +87,8 @@ player_config:
   radius: 0.4
   player_speed_units_per_seconds: 6
   interaction_range: 1.6
-
+  restricted_view: True
+  view_angle: 80
 
 effect_manager:
   FireManager:
diff --git a/overcooked_simulator/gui_2d_vis/drawing.py b/overcooked_simulator/gui_2d_vis/drawing.py
index 7730b07594d87f9af2c2deb2a8d0c7065a1642c1..d9e5e8e22b0c3ad16df665e496c759178cd26262 100644
--- a/overcooked_simulator/gui_2d_vis/drawing.py
+++ b/overcooked_simulator/gui_2d_vis/drawing.py
@@ -152,7 +152,7 @@ class Visualizer:
 
             direction = pygame.math.Vector2(state["view_restriction"]["direction"])
             pos = pygame.math.Vector2(state["view_restriction"]["position"])
-            angle = state["view_restriction"]["angle"]
+            angle = state["view_restriction"]["angle"] / 2
 
             pos = pos * grid_size + pygame.math.Vector2([grid_size / 2, grid_size / 2])
 
@@ -166,7 +166,7 @@ class Visualizer:
                 colors["black"],
                 (
                     pos - (direction * grid_size * 0.6),
-                    left_beam,
+                    left_beam - (direction * grid_size * 0.6),
                     left_beam + (direction.rotate(90) * rect_scale),
                     pos
                     - (direction * rect_scale * 2)
@@ -175,7 +175,7 @@ class Visualizer:
                     - (direction * rect_scale * 2)
                     + (direction.rotate(-90) * rect_scale),
                     right_beam + (direction.rotate(-90) * rect_scale),
-                    right_beam,
+                    right_beam - (direction * grid_size * 0.6),
                 ),
             )
 
diff --git a/overcooked_simulator/overcooked_environment.py b/overcooked_simulator/overcooked_environment.py
index 40aae7a9c5dc77d50996c7176b24ebd5de87aeb3..3db6ca2f6a610f1c30cb7415bf3f5a83b094abf0 100644
--- a/overcooked_simulator/overcooked_environment.py
+++ b/overcooked_simulator/overcooked_environment.py
@@ -160,6 +160,14 @@ class Environment:
         )
         """The config of the environment. All environment specific attributes is configured here."""
 
+        self.player_view_restricted = self.environment_config["player_config"][
+            "restricted_view"
+        ]
+        if self.player_view_restricted:
+            self.player_view_angle = self.environment_config["player_config"][
+                "view_angle"
+            ]
+
         self.extra_setup_functions()
 
         self.layout_config = layout_config
@@ -769,10 +777,10 @@ class Environment:
                 "view_restriction": {
                     "direction": self.players[player_id].facing_direction.tolist(),
                     "position": self.players[player_id].pos.tolist(),
-                    "angle": 35.0,
+                    "angle": self.player_view_angle,
                     "counter_mask": None,
                 }
-                if FOG_OF_WAR
+                if self.player_view_restricted
                 else None,
             }
             self.hook(STATE_DICT, state=state, player_id=player_id)
diff --git a/overcooked_simulator/player.py b/overcooked_simulator/player.py
index 5633a491248ae8b9448d457607b86b8e74121c08..c367561e98862425ecc1590087ef7deb982e608e 100644
--- a/overcooked_simulator/player.py
+++ b/overcooked_simulator/player.py
@@ -33,7 +33,10 @@ class PlayerConfig:
     """The move distance/speed of the player per action call."""
     interaction_range: float = 1.6
     """How far player can interact with counters."""
-
+    restricted_view: bool = False
+    """Whether or not the player can see the entire map at once or just a view frustrum."""
+    view_angle: int | None = None
+    """Angle of the players view if restricted."""
 
 class Player:
     """Class representing a player in the game environment. A player consists of a name, their position and what