magefree / magefree/mage

Expose a JSON based client protocol for game interactions

Open
#4,521 4 comments 0 reactions 0 assignees View on GitHub
enhancement refactoring
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.