est-il possible de réduire les bytes dans les fonctions suivantes "function createGame() public {
        address currentPlayer = msg.sender;
        require(player2 == address(1), "game is complete");
        require(player1 == address(0) || status == GameStatus.finished, 
        "Game is already in progress");
        gameId++;
        
        if (player1 == address(0)) {
            player1 = currentPlayer;
            gamePlayers[gameId][0] = Player(currentPlayer, 0);
        } else {
            player2 = currentPlayer;
            gamePlayers[gameId][1] = Player(currentPlayer, 1);
            player2Joined = true;
            emit PlayerJoined(gameId, currentPlayer);
        }
        gameBalances[gameId][currentPlayer].balance = 0;
        status = GameStatus.createdGame;
        emit GameCreated(gameId, currentPlayer);
    }
  
     /**
     * @notice  effectue un dépôt pour participer à une partie
     */
    function depositRequire() public payable  {
        require(msg.sender == player1 || msg.sender == player2, "Invalid player address");
        require(status == GameStatus.createdGame, "The game is not created");
        require(player1Bet == 0 || player2 == address(0), "Players have already bet");
        require(msg.value > 0 && player1Bet > 0, "msg.value must be greater than 0"); 
        deposit();
    }
    function deposit() public payable  {
        gameId = getCurrentGameId();
        uint256 amount = msg.value;
        require(!isBalanceUpdated, "Balance has already been updated");
        if (msg.sender == player1) {
            require(player1Bet == 0, "Player1 has already bet");
            player1Bet = amount;
          
        } else if (msg.sender == player2) {
            require(player1Bet > 0, "Player2 must bet after Player1");
            require(msg.value == player1Bet, "Player2 must bet the same amount as Player1");
        }
        playerDeposits[gameId][msg.sender] += amount;
        updateBalance(amount);
        isBalanceUpdated = true;
        updateBet(amount);
        emit BetDeposited(msg.sender, amount);
        updateStatusDeposit();
    }
    function updateBalance(uint256 amount) public  {
        require(msg.sender == player1 || msg.sender == player2, "Invalid player address");
        gameBalances[gameId][msg.sender].balance += amount;
    }
    function updateBet(uint256 amount) public {
        gameBets[gameId].bet += amount;
    }
    function updateStatusDeposit() private {
        if (msg.sender == player1) {
            status = GameStatus.waitingForPlayers;
            emit GameStatusUpdated(gameId, uint8(GameStatus.waitingForPlayers));
        } else {
            requireStatusWaitingForPlayers();
            player2HasBet = true;
        }
    }
     /**  
     * @notice  démarre une partie avec l'identifiant de jeu spécifié 
     * @dev     vérifie les adresses des players et la mise de chacun
     */ 
    function startGame() public {
        gameId = getCurrentGameId();
        requireStatusWaitingForRandomWord();
        require(player1 != address(0) && player2 != address(0),
         "Both players must be defined");
        require(gameBalances[gameId][player1].balance == gameBalances[gameId][player2].balance,
         "Each player must bet the same amount");
        emit GameStarted(gameId, player1, player2);
        initWordList();
    }    "mapping(uint8 => mapping(uint8 => Player)) public gamePlayers; //gameId(index => adresse)
    mapping(uint8 => mapping(address => uint256)) public playerDeposits;
    mapping(uint8 => Bet) public gameBets;
    mapping(uint8 => mapping(address => Bet)) public gameBalances;"