This survey paper examines the problem of achieving global cooperation to reduce greenhouse gas emissions. Contributions to this problem are reviewed from non-cooperative game theory, cooperative game theory, and implementation theory. Solutions to games where players have a continuous choice about how much to pollute, games where players make decisions about treaty participation, and games where players make decisions about treaty ratification, are examined. The implications of linking cooperation on climate change with cooperation on other issues, such as trade, is examined. Cooperative and non-cooperative approaches to coalition formation are investigated in order to examine the behaviour of coalitions cooperating on climate change. One way to achieve cooperation is to design a game, known as a mechanism, whose equilibrium corresponds to an optimal outcome. This paper examines some mechanisms that are based on conditional commitments, and could lead to substantial cooperation.