Skip to content
Good Game, Peace Out Rollback Network SDK
C++ C CMake Batchfile
Branch: master
Clone or download
pond3r Merge pull request #23 from nrgaposok/master
Fixed a few typos in the docs.
Latest commit d74ef0d Oct 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
build build: Dont track build folder contents Oct 11, 2019
doc Merge pull request #23 from nrgaposok/master Oct 19, 2019
src Merge pull request #12 from guestnone/dev/cmake Oct 19, 2019
.gitignore gitignore: Ignore .vscode files Oct 11, 2019
CMakeLists.txt Feature: Enhanced CMake Build Script Oct 12, 2019
LICENSE Update LICENSE Oct 9, 2019 Adds information about VectorWar to README Oct 12, 2019
build_windows.cmd Stops build_windows.cmd from closing immediately after completion Oct 12, 2019

What's GGPO?

Traditional techniques account for network transmission time by adding delay to a players input, resulting in a sluggish, laggy game-feel. Rollback networking uses input prediction and speculative execution to send player inputs to the game immediately, providing the illusion of a zero-latency network. Using rollback, the same timings, reactions visual and audio queues, and muscle memory your players build up playing offline translate directly online. The GGPO networking SDK is designed to make incorporating rollback networking into new and existing games as easy as possible.

For more information about the history of GGPO, check out

This repository contains the code, documentation, and sample applications for the SDK.


Building GGPO is currently only available on Windows, however efforts are being made to port it to other platforms.


Windows builds requires both Visual Studio 2019 and CMake. Make sure you've installed both before starting. Make sure to add CMake to your path when installing.

  • Run the build_windows.cmd in the root directory of the SDK to generate the Visual Studio 2019 solution files.
  • Open build/GGPO.sln solution for Visual Studio 2019 to compile.

You can also run the cmake-gui tool if you prefer.

Sample Application

The Vector War application in the source directory contains a simple application which uses GGPO to synchronize the two clients. The command line arguments are:

vectorwar.exe  <localport>  <num players> ('local' | <remote ip>:<remote port>) for each player

See the .cmd files in the bin directory for examples on how to start 2, 3, and 4 player games.


GGPO is available under The MIT License. This means GGPO is free for commercial and non-commercial use. Attribution is not required, but appreciated.

You can’t perform that action at this time.