input: Write a python function to simulate a dice game and determine the first player based on the highest roll.
  ```python
  def simulate_dice_game(num_players, names):
      import random
      player_list = []
  
      for player in range(1, num_players + 1):
          roll = random.randint(1, 6)
          player_list.append((names[player-1], roll))
  
      max_roll = 0
      first_player = None
      for player in player_list:
          if player[1] > max_roll:
              first_player = player
              max_roll = player[1]
  
      return first_player
  
  # Test cases
  assert simulate_dice_game(2, ["Alice", "Bob"])[0] in ["Alice", "Bob"]
  assert simulate_dice_game(3, ["John", "Jane", "Doe"])[0] in ["John", "Jane", "Doe"]
  assert len(simulate_dice_game(4, ["A", "B", "C", "D"])) == 2
output: player_rolls = {player[0]: player[1] for player in player_list}
      tied_players = [player for player in player_list if player[1] == max_roll]
  
      if len(tied_players) > 1:
          return simulate_dice_game(len(tied_players), [player[0] for player in tied_players])
      else:
          return first_player