This is a culmination of roughly a years worth of work. In some ways it is still a WIP, mostly with getting good documentation in place for the server api. But the core is solid and it's completely usable.
This started as a side project while I was still working as the lead server architect at a largish game studio, and getting really frustrated with the complete lack of a good server platform for multiplayer games. In one way or another none of them met my criteria, and the ones we did test basically fell over when we tested them for use at the scale we were working at (Billions of requests per day).
Some of the main goals that Game Machine strives for:
- Inherently scalable using modern architectures.
- Provide higher level abstractions for hard problems like concurrency and persistence.
- Be a productive system to work with, and simple enough for indie developers to dive into
- Open source
Currently there is one working client in C# that includes some examples that work in Unity. The entire api is based on messaging using protocol buffers, so integration is fairly straight forward.
The getting started page is up to date and should get you a working server. Documentation for the server api is still sparse. I spent some time today to get at least something up, enough so a determined individual could figure it out:) I'm working hard on getting decent docs up asap.
You can access it all on the github repo:
https://github.com/gamemachine/gamemachine
Cheers,
Chris Ochs