Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
groworld_multiplayer_prototype [2009-03-13 17:25] davegriffithsgroworld_multiplayer_prototype [2009-03-25 08:28] davegriffiths
Line 1: Line 1:
-====Groworld multiplayer prototype====+=====Groworld multiplayer prototype====
 + 
 +Part of the [[groworld game]] project
  
 {{:hf4.png?300|}} {{:hf4.png?300|}}
Line 17: Line 19:
 Pollen is passed from the red player/plant to the purple one, causing the flower on the purple plant to change colour. Pollen is passed from the red player/plant to the purple one, causing the flower on the purple plant to change colour.
  
-====Network protocol====+=====Network protocol====
 + 
 +====generic version==== 
 +an initial sketch of required messages & responses 
 + 
 +^ player ^ persistence ^ comments ^ 
 +| **connection / session init.** ||| 
 +| connect -> | | possible to connect with, or without a user id | 
 +| **registration / new user** ||| 
 +| register -> | | assumes some type of persistent store of players & plants | 
 +| | <- user id | | 
 +| | <- plant description | | 
 +| **existing user** ||| 
 +| user id -> | | | 
 +| | <- plant description | "self"
 +| | <- other plants & their locations | | 
 +| **pollen (fr 'hayfever' prototype)** ||| 
 +| pollen -> | <- pollen (plant identifier / user id) | a player can send and/or receive 'pollen' messages at anytime|
  
-===OSC version===+====OSC version====
  
 The osc version works in a peer to peer manner in that there is no central server, and clients need to pass information around to each other. This has only been tested with 2 clients... Each client has a notion of the plant it 'owns'. The osc version works in a peer to peer manner in that there is no central server, and clients need to pass information around to each other. This has only been tested with 2 clients... Each client has a notion of the plant it 'owns'.
  
-^ Message ^ Data ^ Send when ^ Action on receive ^ +^ Message ^ Data ^ Send when ^ Action on receive ^ Notes 
-| /join-game | None | Joining game | Broadcast your plant back with /plant | +| /join-game | None | Joining game | Broadcast your plant back with /plant 
-| /plant | Plant ID, postion, colour and structure | When starting game, your plant changes or /register recieved | If it's the first time you've seen this plant id, add plant to world, otherwise update plant | +| /plant | Plant ID, postion, colour and structure | When starting game, your plant changes or /register recieved | If it's the first time you've seen this plant id, add plant to world, otherwise update plant 
-| /flower | Plant ID, Flower ID, Colour | Sucking pollen has changed a flower colour | Update colour for this plant/flower | +| /flower | Plant ID, Flower ID, Colour | Sucking pollen has changed a flower colour | Update colour for this plant/flower 
-| /spray | Plant ID, pollen type | Pollen release button pressed | Add pollen from plant into atmosphere | +| /spray | Plant ID, pollen type | Pollen release button pressed | Add pollen from plant into atmosphere 
-| /leave-game | Plant ID | Leaving game | Remove plant from world |+| /leave-game | Plant ID | Leaving game | Remove plant from world | Not implemented yet |
  
 When joining a game, you need to create a unique id for your plant. With no central server, this currently works in the following ad-hoc manner: When joining a game, you need to create a unique id for your plant. With no central server, this currently works in the following ad-hoc manner:
  • groworld_multiplayer_prototype.txt
  • Last modified: 2009-05-12 13:20
  • by 81.188.78.24