]> git.cworth.org Git - empires-api/commitdiff
Add "/reveal","/start" endpoints and "game-state","character-reveal" events
authorCarl Worth <cworth@cworth.org>
Sun, 10 May 2020 21:18:57 +0000 (14:18 -0700)
committerCarl Worth <cworth@cworth.org>
Sun, 10 May 2020 21:18:57 +0000 (14:18 -0700)
Incrementing the protocol version to 0.4.

This is perhaps the minimum that is actually needed to play a game?

We'll see if this is sufficient as we get both client and server coded
to this and try it out.

api.text

index 41e365c65e3df41a6151cda5d057e956c1bb52f3..250ed107c86aad50698332b5185a5402c85debf2 100644 (file)
--- a/api.text
+++ b/api.text
@@ -1,6 +1,6 @@
 Empires Game Protocol
 =====================
-Version: 0.3
+Version: 0.4
 
 For a specific game the following API endpoints are defined.
 (Note: Only the trailing portion of the API URI is provided here.
@@ -49,6 +49,30 @@ For a specific game the following API endpoints are defined.
                event: player-leave
                data: {"id":3}
 
+       TYPE: game-state
+
+       WHEN: When client first connects and whenever game state changes
+
+       VALUES: Game state will be one of the following:
+
+               JOIN: Players are choosing characters and joining the game
+                REVEAL: Character names are being revealed to players
+                CAPTURE: Players are guessing characters in capture attempts
+
+       EXAMPLE:
+
+               event: game-state
+                data: {"state":"REVEAL"}
+
+       TYPE: character-reveal
+
+       WHEN: Periodically during the REVEAL state of the game
+
+       EXAMPLE:
+
+               event: character-reveal
+                data: {"character":"Albert Einstein"}
+
        TYPE: capture
 
        WHEN: When one player captures another
@@ -72,6 +96,22 @@ For a specific game the following API endpoints are defined.
 
     Behavior: Removes an existing player with the given ID
 
+/reveal
+
+    Method: POST
+
+    When: Only valid when in game state of JOIN
+
+    Behavior: Change state to REVEAL; reveal character names to all clienta
+
+/start
+
+    Method: POST
+
+    When: Only valid when in game state of REVEAL
+
+    Behavior: Change game state to CAPTURE
+
 /reset
 
     Method: POST