<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make(world_name, gl_version=GL_VERSION.OPENGL4, window_res=None, cam_res=None, verbose=False):
 """Creates a holodeck environment using the supplied world name. Args: world_name (str):
 The name of the world to load as an environment. Must match the name of a world in an installed package. gl_version (int, optional):
 The OpenGL version to use (Linux only). Defaults to GL_VERSION.OPENGL4. window_res ((int, int), optional):
 The resolution to load the game window at. Defaults to (512, 512). cam_res ((int, int), optional):
 The resolution to load the pixel camera sensors at. Defaults to (256, 256). verbose (bool):
 Whether to run in verbose mode. Defaults to False. Returns: HolodeckEnvironment: A holodeck environment instantiated with all the settings necessary for the specified world, and other supplied arguments. """

    holodeck_worlds = _get_worlds_map()
    if world_name not in holodeck_worlds:
        raise HolodeckException("Invalid World Name")

    param_dict = copy(holodeck_worlds[world_name])
    param_dict["start_world"] = True
    param_dict["uuid"] = str(uuid.uuid4())
    param_dict["gl_version"] = gl_version
    param_dict["verbose"] = verbose

    if window_res is not None:
        param_dict["window_width"] = window_res[0]
        param_dict["window_height"] = window_res[1]
    if cam_res is not None:
        param_dict["camera_width"] = cam_res[0]
        param_dict["camera_height"] = cam_res[1]

    return HolodeckEnvironment(**param_dict)