X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=api.text;h=b1a8f798175a7e89d644c2165a8225c7ff75a62c;hb=d25316422d7d9069626b9f09f630155f30534938;hp=48a2eb6b072c499795d0d81a9451ce59ff37ee01;hpb=39b74cde47375adaeacc33507a2173b63e3de10c;p=lmno-api diff --git a/api.text b/api.text index 48a2eb6..b1a8f79 100644 --- a/api.text +++ b/api.text @@ -1,5 +1,11 @@ -Gameplay API endpoints (within a current game) -============================================== +Empires Game Protocol +===================== +Version: 0.5 + +For a specific game the following API endpoints are defined. +(Note: Only the trailing portion of the API URI is provided here. + The preceding portions of the path must be determined externally.) + /events This is a server-sent events stream that allows the server to push @@ -43,6 +49,35 @@ Gameplay API endpoints (within a current game) event: player-leave data: {"id":3} + TYPE: game-state + + WHEN: When client first connects and whenever game state changes + + VALUES: Event gives both the old and new state. Game state + Each will be one of the following: + + none: Pseudo-state used as old_state when game is started + 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 + + EXAMPLES: + + event: game-state + data: {"old_state":"none","new_state":"join"} + + event: game-state + data: {"old_state":"join","new_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 @@ -66,6 +101,22 @@ Gameplay API endpoints (within a current game) 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