NetworkProtocolNotes

From MountainfortWiki

Jump to: navigation, search
Line 7: Line 7:
* 8x8x8 terrain chunk might be transferred as 512byte long utf8 text string, if blocktype is encoded as printable utf8 char
* 8x8x8 terrain chunk might be transferred as 512byte long utf8 text string, if blocktype is encoded as printable utf8 char
-
== server-sent content (type registration rather than life map) ==
 
-
* tiles (box) types : texture url, name (tooltip) properties
+
== map, show/hide/create/destroy, movement, server-sent content ==
-
* monster/creature "models" (pixel art flat sprites first, later maybe simple modelling from big-pixel textures and rect-blocks?)
+
-
* player skin ?
+
-
 
+
-
== map, show/hide/create/destroy, movement ==
+
* mapdata (update) : tile by tile (chunk) or single tile update
* mapdata (update) : tile by tile (chunk) or single tile update
** each tile consists of 1 byte tiletype info and 1 byte parameter (4 bits) + lighting (4 bits) info
** each tile consists of 1 byte tiletype info and 1 byte parameter (4 bits) + lighting (4 bits) info
-
** collision (solid/empty/liquid), texture is tiletype based
+
** collision (solid/empty/liquid/stair-or-ramp), texture is tiletype based
** special infos like direction or liquid fill level is handled via the extra parameter
** special infos like direction or liquid fill level is handled via the extra parameter
* player
* player
Line 24: Line 19:
* items (on ground and in backpack/inventory. pickup?)
* items (on ground and in backpack/inventory. pickup?)
* buildings (look like multiple blocks but might be highlighted/tooltipped in client somehow)
* buildings (look like multiple blocks but might be highlighted/tooltipped in client somehow)
-
--> würde ich glaube ich erst mal nicht unbedingt machen, da man ja via klick auf ein tile (egal welches) mit der werkbank interagieren kann
+
Q : würde ich glaube ich erst mal nicht unbedingt machen, da man ja via klick auf ein tile (egal welches) mit der werkbank interagieren kann A:werkbank suckt= :P nen workshop ist auch nur ne große werbank
* particle effects?
* particle effects?
** area effects like rain/snow?
** area effects like rain/snow?
Line 30: Line 25:
* sound/music effects
* sound/music effects
* chat
* chat
 +
* clientinteraction sends the current position, direction and the target tile position + face
 +
* server sends update interval for looking (gestures for multiplayer) and targetting (default:0.1s) during tool-usage
 +
* client sends targetting info : (A:starting point + direction  AND B: target tile pos + side) while mouse is down (interval sent from server)
 +
* client sends looking direction regularly (interval sent from server)
 +
 +
* types for sound/music
 +
 +
* tiles (box) types / terraintypes : texture url, name (tooltip) properties
 +
 +
* possibly animated or multi-part models :  (probably obsolete by model type below)
 +
** monster/creature "models" (pixel art flat sprites first, later maybe simple modelling from big-pixel textures and rect-blocks?)
 +
** player skin ?
 +
 +
* model type : vertex+index array (as json or .js file) and texture
 +
** prefabs:block, double-culling-block(foliage), diamond, sphere, cylinder, ingot? (texcoords as param, in case atlas is used: neccessary for terrain)
 +
** can be used by :
 +
*** "torch" terraintype items or similar (texture=atlas) (tree-round? foliage? mine-cart-tracks? ladders? stairs?) terrain-type-parameter -> different models?
 +
*** items on ground ?
 +
*** player wearable equipment (param at which bodypart the model is attached)
 +
*** mobiles (ai-enemies, animals)
 +
*** vehicles (boats, wagons, mining carts)
 +
*** building parts
 +
*** particles ? (turn to cam?)
 +
 +
* building type (1x1x1, 2x2x1,2x2x2, 3x3x3,3x3x2,3x3x1 ...)
 +
** tooltip
 +
** terraintypes (or model types) for parts
 +
 +
* image type ("sprite"?)
 +
** used by gui : texture name +uv start+ dimension(uv) + dimension on screen
 +
** interesting for particles ? (nah, atlas)
 +
 +
* icon type = image id + tooltip  (e.g. for generic multi-choice dialog)... or negative typeid as value makes this unneccessary?
 +
 +
* dialogs (should be moved to gui section below?)
 +
** can contain text (including icons)
 +
** text input dialog (books, shields, player name)
 +
** inventory
 +
** crafting : list of thinks one can produce (with tooltip and costs, marked red or something like this if you dont have enought ressources) in ou
 +
 +
== vehicles ? ==
 +
 +
* df : wagons, minecraft : ships, uo : big ships ?
== gui ==
== gui ==
Line 38: Line 76:
* items crafting inside buildings (list of available items and required resources)
* items crafting inside buildings (list of available items and required resources)
* other building functions (switches/levers,heal/sleep?)
* other building functions (switches/levers,heal/sleep?)
 +
 +
* generic multi-choice dialog : title text + entries (image + tooltip + text, (color, dimensions, multiple images for ressource list?))
 +
** idea : per entry list of  image,text,image,text,....  can be used for ressource list  (probably needs 2d image type with tex+uv start+dimension, see server-sent-content above)
 +
** usable by :  building construction, crafting,  multiplayer-voting and similar (kick, mapchange, save...)
== player actions ==
== player actions ==
Line 46: Line 88:
* activate object ? (switches)
* activate object ? (switches)
* drop items (pickup automatic?)
* drop items (pickup automatic?)
-
* construct building
+
* construct building (initiates server sent list of available buildingtypes and materials)
* use building (starts crafting gui)
* use building (starts crafting gui)

Revision as of 21:29, 22 October 2010

Personal tools