Expose a JSON based client protocol for game interactions
- Dominant language
- Java
- Stars
- 2.4k
- Forks
- 940
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 160
Description
As discussed in #4515; a JSON based protocol for game interactions could be very beneficial:
- reduce network traffic by only sending the changes to the client, rather than the entire game state
- allow for a more modern and lightweight web based UI
- open the door for development of AI driven game drivers; such as OpenAI
This would likely be a major overhaul in the current system; so I'd like to get the conversation started. Documenting the types of interactions that can take place between the client and the server would be a good place to start; as then we can turn them into a formal protocol.
GraphQL is really good for this type of thing; especially since the addition of GraphQL subscriptions.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the discussion in issue #4515 and inspect the current client-server interaction model. Document the interaction types and state changes that would need to form a protocol, then evaluate whether a JSON or GraphQL-based design can support them. Done means an agreed protocol scope and documented interaction model; this issue names no files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, java
- Domain
- backend-api-design, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100