NetworkProtocolNotes
From MountainfortWiki
Ghoulsblade (Talk | contribs) |
Ghoulsblade (Talk | contribs) |
||
Line 2: | Line 2: | ||
* connecting webgl+javascript in browser via html5 websocket (tcp) to lua/c++ server | * connecting webgl+javascript in browser via html5 websocket (tcp) to lua/c++ server | ||
+ | |||
+ | * websocket(tcp) maybe doesn't support binary data but only utf8 "text" blocks | ||
+ | * jason encoding for structured network messages might be good for speed on clientside (javascript slow?) and utf8 as well as debugging | ||
+ | * 8x8x8 terrain chunk might be transferred as 512byte long utf8 text string, if blocktype is encoded as printable utf8 char | ||
+ | |||
+ | == server-sent content == | ||
+ | |||
+ | * tiles (box) types : texture url, name (tooltip) properties | ||
+ | * monster/creature "models" (pixel art flat sprites first, later maybe simple modelling from big-pixel textures and rect-blocks?) | ||
+ | * player skin ? | ||
+ | * mapdata (update) : tile by tile (chunk) or single tile update | ||
+ | |||
== movement & show/hide/create/destroy == | == movement & show/hide/create/destroy == | ||
Line 46: | Line 58: | ||
** a bit ore findable in soil layers ? (burn wood->coal ->smelt ore ->metal : stone anvil + coal + stone hammer -> crude metal tools) | ** a bit ore findable in soil layers ? (burn wood->coal ->smelt ore ->metal : stone anvil + coal + stone hammer -> crude metal tools) | ||
*** metal hammer, metal anvil : better tools | *** metal hammer, metal anvil : better tools | ||
+ | |||
+ | = naming conventions = | ||
+ | * "tile" is a unit box, used for terrain and similar, 1x1x1 | ||
+ | * "chunk" is a group of 8x8x8 tiles | ||
+ | * the term "block" is avoided as it is ambigious and could be understood as 1x1x1 or 8x8x8 |