How can i fix the logic contract in proxy contract so that proxy contract can delegatecall to logic contract's function?

i am making a upgradable contract, i am facing issue to set the proxy contract for implementation contract. I am usign openzeppelin-contracts-upgradable.
This is my deployscript :

pragma solidity ^0.8.17;
import "forge-std/Script.sol";
import "../src/Proxy.sol";
import "../src/Game.sol";     // THIS IS LOGIC CONTRACT

contract ProxyScript is Script {
    function run() external {
        uint256 privateKey = vm.envUint("PRIVATE_KEY");
        vm.startBroadcast(privateKey);
        Game game = new Game(); // Deploying the Game contract
       // May be i need to do something like this: Proxy proxy =new Proxy(address(game));
       // I know i have to deploy the proxy contract, but can't figure out how to fix it for 
       // logic contract so that proxy contract can delegate call to logic contract
        vm.stopBroadcast();
      
    }
}

This is my Proxy.sol:

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

import "openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol";

contract Proxy is UUPSUpgradeable {
    constructor(address implementation) {
        // I set the constructor because i might need to deploy the proxy contract by 
        // passing the logic contract's address, like this: new Proxy(address(game))
    }


    function _authorizeUpgrade(
        address newImplementation
    ) internal virtual override {}
}

How can i fix the logic contract in proxy contract so that proxy contract can delegatecall to logic contract's function???

You're not using proxies correctly. You should be using the ERC1967Proxy contract, without changes. You will find this contract in the openzeppelin-contracts repository and not in openzeppelin-contracts-upgradeable.

For how to use UUPSUpgradeable please refer to:

Thanks. can i edit the constructor of ERC1967Proxy from payable to non - payable??
And after changing the proxy contract i can't verify my logic contract : https://sepolia.etherscan.io/verifyContract-solc?a=0x25db3f0ec8c511fff4f8ca269a554f44d2bc29eb&c=v0.8.17%2Bcommit.8df45f5f&lictype=3

You can do that but we do not recommend changing the proxy code at all. As far as I'm aware, using a slightly modified proxy should not prevent Etherscan verification.