Design Best way to plan [send/receive info depth] before hand


Hi guys,

So I tried to make somewhat of a drawing on what I'm trying to do,
I'd like to organize the depth of values, just imagine a drop down menu, when you hover over a specific button more menus open up to the right, and one of those even more menus. So like great grand father, grand father, father, child, grand child, great grand child.. sort of that type of relation.

I'm not sure what's a good way to document the communication between client and server, why do I want to do this ?

  • To prevent me from using duplicate IDs
  • to ensure that sending an ID in a buffer under a certain data type (buffer_u16 for example) will also be received under the same data type
  • To ensure I cater for all required and logical circumstances before hand
  • To look at and remember what else there is.
The below image doesn't work for me because it takes up way too much space, I tried to keep everything small while leaving the branches distinctive.



JSON Schema.
Generally, JSON handles all of the hierarchy. Schema is a definition standard to describe and validate the hierarchy. GameMaker natively imports and exports JSON as ds_map data structures.