• Stars
    star
    133
  • Rank 272,600 (Top 6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 8 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Multiplayer Simon Says game using bidirectional gRPC streaming

Multiplayer Simon Says - A Game using gRPC and Kubernetes.

Simon Says Game

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

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

gRPC Communication

Presentation Recordings

Uniquity, 2015
Ubiquity Dev Summit, 2016

Contributing changes

Licensing

This is not an official Google Product.

More Repositories

1

grpc-gateway

gRPC to JSON proxy generator following the gRPC HTTP spec
Go
17,873
star
2

awesome-grpc

A curated list of useful resources for gRPC
7,459
star
3

go-grpc-middleware

Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.
Go
6,275
star
4

grpc-spring

Spring Boot starter module for gRPC framework.
Java
3,518
star
5

grpc-health-probe

A command-line tool to perform health-checks for gRPC applications in Kubernetes and elsewhere
Go
1,414
star
6

go-grpc-prometheus

Prometheus monitoring for your gRPC Go servers.
Go
1,334
star
7

polyglot

A universal grpc command line client
Java
530
star
8

grpc-opentracing

OpenTracing is a set of consistent, expressive, vendor-neutral APIs for distributed tracing and context propagation
Python
470
star
9

java-grpc-prometheus

Java interceptors which can be used to monitor Grpc services using Prometheus.
Java
224
star
10

grpc-httpjson-transcoding

Transcoding to provide HTTP/JSON interface for gRPC Service
C++
161
star
11

grpcdebug

grpcdebug is a command line interface focusing on simplifying the debugging process of gRPC applications.
Go
144
star
12

protoc-gen-grpc-gateway-ts

protoc-gen-grpc-gateway-ts is a Typescript client generator for the grpc-gateway project. It generates idiomatic Typescript clients that connect the web frontend and golang backend fronted by grpc-gateway.
Go
141
star
13

grpc-cloud-run-example

Go
120
star
14

meetup-kit

gRPC meet up kit in a box
37
star
15

grift

This repository hosts gRPC's support for Thrift IDL and protocol
Java
10
star
16

grpc-exchange-o-gram

Exchange-o-gram demo
C#
7
star
17

proto-converter

C++
4
star
18

grpcz-stackdriver

grpcz-monitoring - description: standalone agent for monitoring statistics from grpc library and publishing to various sinks (like stackdriver, serial port etc).
4
star
19

proto-field-extraction

C++
3
star
20

grpc-codelabs

Completed codelabs from the gRPC project.
Java
3
star
21

proto_processing_lib

C++
1
star