Multiplayer Simon Says - A Game using gRPC and Kubernetes.
This is an example project using gRPC and Kubernetes to build a multiplayer version of the game "Simon Says".
It has been implemented in multiple languages to highlight the variety of supported languages that gRPC gives you out of the box.
Folder Structure
- /server This is the directory for the server implementation
- /client
Client implementations written in a variety of languages and platforms- /java-android
Client implementation for Android written in Java. - /java-cli
Client implementation in Java for command line. - /node-arduino
Client impementation in Node.js for Arduino - /node-web
Clent implementation in Node.js and Javascript for the browser.
- /java-android
gRPC Communication
The following animation shows the way in which gRPC sends message over it's bidirectional streaming connection, to enable gameplay.
Here we can see:
- Two players on different devices joining the game,
- Being notified it is their turn
- Communicating a button press on their clients
- Being told to light up given colors
- When the game has ended, because a sequence is incorrect
- Who has won the game in the end
Presentation Recordings
Ubiquity Dev Summit, 2016
Contributing changes
- See CONTRIBUTING.md
Licensing
- See LICENSE
This is not an official Google Product.