Benetnasch is a GG2-like engine written in C++.
https://github.com/wareya/benetnasch2* It already uses UDP, and it works.
* Built from the ground up with C++11, but avoiding the nasty or unintuitive parts of the language, Benetnasch2 is as fast as is possible for its simplicity. A code style guide will be written once I start accepting contributions.
* Benetnasch2 uses a special component system which makes it incredibly simple to add new complex functionality on top of existing systems with only the necessary level of interdependency.
* Benetnasch2's source code links with absolutely nothing but SDL2, which means that it's extremely easy to compile. Linking with SDL2_Image has some easiness problems, but those are being sorted out.
* Benetnasch2 doesn't even use make. This is because MinGW ships with a broken version of make by default. Instead, a straightforward (though wordy) bash script is used to compile the game, which will check for environment mistakes and give you more straightforward advice if something goes wrong than a typical makefile or configuration script would.
* Benetnasch2 doesn't even need a concept of client/server dichotomy. Instead of having a module system, the correct parts of the engine are simply compiled into the final executable as required. Currently, there's a list of "common" code files, and a list for client and server each of their own code files. The difference between client and server boils down to having different engine boot code and a couple extra unique things.
* Finally, every last line of code in Benetnasch is either public domain or written by myself, so its (currently permissive) license can be changed at will.
