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
groworld_multiplayer_prototype [2009-03-13 17:25] davegriffithsgroworld_multiplayer_prototype [2009-05-12 13:20] (current) 81.188.78.24
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| 
 + 
 +seed/soil demo 
 +  * nutrients - nutrient type, centrepoint and radius. updated on arrival, change or depletion (leaving) 
 +  * other roots - a line segment to render  
 +  * level of detail 
 +  * own roots - send a new shoot, startpoint
  
-===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.1236965113.txt.gz
  • Last modified: 2009-03-13 17:25
  • by davegriffiths