Eulora Client Data Hierarchy - Finally Getting There!



June 28th, 2020 by Diana Coman

Eulora's communication protocol aims to be indeed as short and simple as possible while providing at the same time the full means for sending over to the client *anything and everything* at all that might be wanted now or later on, whether known currently or not. Given this broad scope and combined with the terrible state of the original client, it's perhaps no wonder that I had a rather frustrating time with my previous attempts at pinning down a practical implementation of it: here's for instance one attempt of defining the client-side data hierarchy and there's its further refinement too, but those are only two cases that I fully documented in an attempt to clarify matters better - the effort was certainly not wasted but the results in both cases are still lacking and I found myself repeatedly getting tangled in all sorts in there, as it's indeed very easy to run into circular definitions of things or get confused by the required combination of structure, meaning and representation. Nevertheless and much to my recent relief, it seems that I finally got my head around it - it took only yet another re-read of *everything* around it, previous discussions and attempts included, as well as all the previous hand-banging and failures, of course, what else.

As it happens though in such cases, once the last bits and pieces finally fell into place, it all started to make sense and fit together (although it *also* meant that half of my initial test/exploration implementation had to be thrown away; sigh). Since the actual implementation is still in the works and it's likely to still take a while as it's not exactly a walk in the park, I am taking this time now to try and set down my current clearer understanding of how it's all going to work - so that on one hand I have a reference point for later on and on the other hand it's out in the open for any further discussion and fault-finding.

For clarity and keeping it all contained here, note that I'll focus strictly on the data transfer part of the protocol, meaning messages for File Request, File Transfer, World Bulletin, Object Request and Object Info1. Of those, the last three are not even fully defined in the current protocol precisely as further details needed clarification - in particular the "object list" in the World Bulletin and the "object properties" in the Object Info are essentially "to be defined". Skipping through all the intermediate attempts that either didn't quite fully work or turned out to be in practice so clunky that I couldn't live with them at all, the breakthrough basically came when I finally managed to set down a few basic things (that even seem very simple in retrospect, of course). To get it all in one place:

  1. There's only *one* primitive to this whole thing and that is "object", no exceptions. For a long time I kept tripping over "properties" and "values" and whatnots, as I didn't quite grasp the boundaries (admiteddly blurry of times) of the different perspectives involved and kept trying to sort out or pin down too fine details before having a solid higher-level structure to rely on.
  2. Objects may be concrete or abstract. The concrete objects are essentially those with a direct graphical representation in the game (such as your character or even the terrain as a whole). The abstract objects provide all and any sorts of other information required (such as what time it is in game perhaps or which object from all those in the world is actually your character!).
  3. The whole game world (and this does include *everything* that may be requested or received through the set of messages mentioned above) is a hierarchy of objects with a single "root" node that is quite special in that it's essentially the "null" object itself. So to "request" the World Bulletin, the client basically needs to request the "null" object. This hierarchy of objects that is a full representation of the game world can be arbitrarely deep and wide at any given time - the only guarantee is that it is indeed finite at all times but the number of levels or the number of siblings on any level can and will change, there's no restriction on either of them (nor any need for such restriction).
  4. The hierarchy of objects given as above provides basically the *structure* of the world, effectively describing where *is* each concrete object (or where it belongs, if it's an abstract object). As such, concrete objects can of course move about from one parent object to another (and take all their corresponding subtree with them). Abstract objects are, logically speaking, less likely to suddenly move to a different parent but there is no guarantee that this can't or shouldn't happen either.
  5. The full set of object types can be neatly split into TWO main categories: "leaf" types and "non-leaf" types. Realising this was big for me, as it suddenly got rid of a lot of mess in there: non-leaf types of objects can only ever contain other objects (of any types though and in any number) but *nothing else*; by contrast, leaf types of objects do NOT contain other objects (obviously!) but have instead a predefined and fixed structure (basically, values). A lot of my previous trouble seems to have come from mixing those two groups ie considering that an object type may legitimately contain both other objects AND values2. There's no real need for this mix that I can see and it only causes such a mess that it's not even worth fully describing. Once those 2 types of objects are neatly separated, everything falls in place and there is both the desired full extensibility of the whole thing (one can add any number of non-leaf or leaf types, as well as any number of intermediate levels in the hierarchy anywhere at any time without breaking anything) and the needed clarity for a working implementation: as long as a non-leaf type of object is encountered, the "properties" of it will simply be again an "object list" just like in the World Bulletin message; as soon as a leaf type of object is encountered, its structure is clearly known and *fully fixed upfront* so it can be actually worked with! Certainly, it may well be that one implementation or another is not aware of some newer types, be they leaves or not - in such cases, those types will be ignored since what else can the code do anyway, not like it can use what it doesn't know about. Note though that this doesn't break any of the rest - it will work for and with what it knows, while dropping what it doesn't and that's that.
  6. All objects have a unique ID and a type, meaning that an object is effectively a tuple (Object_ID, Type_ID). In practical implementation terms, this means that the "object list" in the World Bulletin message is *always*3 simply a set of pairs of numbers so if World Bulletin gives 5 as "count of objects", then there will be 5 pairs of IDs following, interpreted exactly like that: first ID in a pair is object's ID, second ID in a pair is type ID and there's no need for separators or any further information provided.
  7. For a non-leaf object type, the Object Info message will *always* contain as "object properties" simply an object list (the text field still works perfectly fine since it's known that there are 4 octets per ID), just like the World Bulletin. (Note though that the Object Info message may refer to more than one object and so some of those may be leaf types, too, so the properties for those will be different, see next item.)
  8. For a leaf object type, the Object Info message will *always* contain as "object properties" the exact structure known for that specific type. Obviously, a full list of those structures is in the works and will be published but the crucial thing here is that the contents of those structures are always *values*, never objects. Sure, it can very well be that a value in there stands for an id of some object but the *meaning* is very different since it is NOT about structure anymore and so that id in there will then reference an *existing* object from somewhere else in the tree instead of introducing a new object (and therefore it will NOT need to come with the type id either)!
  9. Values in the structures defined for leaf node types may be in principle of any known type, whether basic or not. From a practical point of view, the only truly special case is that of a value that represents a filename, since in this case there's effectively a further level to it all - the implementation will have to send a File Request message to get the actual content of the file, if it doesn't yet have it. Nevertheless, this is not any significant trouble as such.

For a practical example, here's my current must-have basic set of object types that I think are absolutely needed in order to get the client to the stage where it finds and requests graphics assets that it doesn't have:

  • RootObj (the null object is the only one having this type and therefore the type itself is essentially an abstraction, no need for a type id as such)
    1. SelfObj containing for now4:
      1. PlayerIDObj - this is LEAF type with a single value, an Unsigned_32 that references the object in the world that represents the character controlled by the player.
    2. SectorObj (the id of this object will be given as top_id in a World Bulletin, too) containing for now:
      1. NameObj - this is LEAF type with a single *text* value.
      2. OutdoorsObj, containing:
        1. ZipObj - this is LEAF type with a single *text* value representing the full path and name of a zip file that contains *all* the graphics assets required for a sector. Note that the exact contents may change at later times but I don't see this as any problem - for one thing the plan is that the client will be able to select one overall schema at any given time and that schema will determine what exact file is made available here and for another thing, those schemas will be known upfront so a client will select what it knows and therefore won't have surprises regarding the content of this zip file either. For a long time I tripped over the trouble of defining the graphics in too much detail, quite possibly precisely because I lacked that knowledge myself. As meanwhile I sorted out this issue and I know all too well what exactly is needed, I finally realised that the only way to cut this knot neatly is to just specify a .zip file as a general "graphics assets for a logical object", no need for more at this level.
        2. HashObj - this is LEAF type with a single Unsigned64 value that represents the Keccak hash5 of the .zip file above.
      3. Any number of PlayerObj, containing:
        1. NameObj - this is LEAF type with a single *text* value.
        2. PosRotObj - this is LEAF type, with its value ("properties" text field in the Object Info message type) sent over the wire as 3 int16s for position followed by 3 int8s for rotation, as per the protocol specification
        3. Cal3DObj, containing:
          1. ZipObj - LEAF type, as above (see at OutdoorsObj - the big gain here is that although a Cal3D model will have an entirely DIFFERENT set of files in that zip than an OutdoorsObj, from the point of view of protocol spec and data acquisition, there is NO difference! They are simply all .zip file and that's that, no matter what they currently contain or may contain in the future or whatever else, hooray.)
          2. HashObj - LEAF type, as above (ie the hash of the zip file, for checking that it is indeed the intended file).

The above is "all" for now - if still just a plan to be implemented. Sure, I have otherwise the concrete details of what those .zip files for instance will contain and all that but they don't really matter all that much from the point of view of the overall data model and data acquisition - the contents are in the end of interest strictly for the GUI/graphical part itself so they'll be handled there and only there.

Regarding the recent discussion of the potential need to be able to choose sizes for textures and so on - those I think are also best chosen separately, at a higher level, as an overall thing, so not going about specifying them for each and every texture or image file or something. At any rate, I don't think it's something that absolutely must be included in the spec at this time or here but do let me know if you see any trouble with any of the above, as usual!


  1. The encryption and lower level packaging part of the protocol has been already cleared up, implemented and working fine, see the SMG_Comms category for detailed documentation on it and the basic docs for a high-level overview of the client's structure overall. 

  2. In turn, this came from my still-not-wide-enough definition of objects, since I didn't quite grasp that there will be objects strictly for this purpose basically e.g. there's an object that would be fully described as graphical-model-of-Sue's-helmet-at-night-on-the-moon or some such. Once I got my head around this, I even find it difficult to fully point the trouble I previously had with it, go figure. Though in hindsight, I suspect at least part of the trouble was the unhelpful overlap with "object-oriented" idiocy, ffs. 

  3. There's a reason for NOT ever having directly a "leaf" type of object in the root: leaf types of objects provide concrete values in predefined structures but they do NOT contain, nor can they contain at the same time the meaning and role that those values are to play at any given time. Hence, the root node will always have to contain at least one level of non-leaf objects and I kick myself for not realising this clearly any earlier! 

  4. More will be added to this and to most other types described here but right now this is on purpose as small as possible, to have it first implemented and working. 

  5. I chose this as it's been used elsewhere, though so far not for full files - just let me know if something else would work better, since I need to implement this part anyway so there's nothing set in stone yet. 

Comments feed: RSS 2.0

16 Responses to “Eulora Client Data Hierarchy - Finally Getting There!”

  1. > so not going about specifying them for each and every texture or image file or something.

    Absolutely. Once per client session sort of thing.

    > this is LEAF type with a single Unsigned64 value that represents the Keccak hash

    That works.

  2. Diana Coman says:

    Ah, from my point of view the client may request to change the whole graphical schema as often as it wants really, though I would think it would end up poorly if it does that (as all of a sudden various things might not fit). Nevertheless, it's a client concern in the end, so if some implementation wants to break this way, no trouble at all.

    Cool otherwise and thanks for the prompt reply! I'll continue with the implementation.

  3. -----BEGIN PGP MESSAGE-----
    Version: GnuPG v1.4.10 (GNU/Linux)

    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
    =fP9R
    -----END PGP MESSAGE-----
  4. Diana Coman says:
    -----BEGIN PGP MESSAGE-----

    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
    ymss18JpyTJE1PPIkmMrIZ59HYZoILyyKd3Z
    =LgLW
    -----END PGP MESSAGE-----
  5. -----BEGIN PGP MESSAGE-----
    Version: GnuPG v1.4.10 (GNU/Linux)

    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
    BAqk3JA=
    =uptQ
    -----END PGP MESSAGE-----
  6. Diana Coman says:
    -----BEGIN PGP MESSAGE-----

    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
    vUkay0esvYRKQbd5VXLKkefqE3FTWog=
    =GTLg
    -----END PGP MESSAGE-----
  7. -----BEGIN PGP MESSAGE-----
    Version: GnuPG v1.4.10 (GNU/Linux)

    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
    =TC8c
    -----END PGP MESSAGE-----
  8. Diana Coman says:
    -----BEGIN PGP MESSAGE-----

    hQIMA3U2qif5BrDFARAAsCFn7LJP7Db2cxqnENtaSFTZknj7dEUkpX3UjydDl2Gb
    NvYbWN/3CU2RMA4RH4uediDcyo64Oklh+bPTsyL716PtOhyrNuK0C1IcCAvzkTAH
    crtT0Ic+uTjZOf+CUGHc1SQlDMF0PbQcehoxM+4QX/3manbR1ZyQXXvs//oZN2Y+
    +lwdxMdEKMVtK3hBp33VmQvySPO3pmNFsTs0cdQ7mIxlVXBcRhKX8khGd+zH32U3
    PUgNI/lFQukK3jE4Btey/6ZpgFyYLpnXBOZxCb0EX9BfMh+d1l797ohcXbM7cq43
    oU8aUQwLJGGU6OKGDrHQa+olxd6/AarXyuyDJag7Y9qiVwVmBMDGXJkpgEkH7Ljw
    gNQXdq4dH3cDXJh6BM3MW+bjGGBJ/tx3osy4tusSik4Yykmws466QOyg6Qg3gh/k
    Q0Vdhk5kcHvnUIRdM3Zv+T5iFu3E/k094Pf+/0xedqSS6j0llPiyaNntaZ+fzC5K
    vk/pkaw2bnQGVT7wD/43wncZSEs0BJJ0j7OBugzazANq08R+YNlZnEF3O4WmJ9wi
    FLaukIHnRPT6flgWOHpD9UonrINT3MqPUPo6u9ZV5TXvPRb1pOySxDsKQXDli6jw
    MWFesjDDVy1xpJHjCxamOE/PN/Is/d12+0BugPi76fAepGHcWllE8+1PDA3vmZeF
    AgwDxtnOzha44y4BD/0cAjC/hf+m+ZVXkvsonbi2wZ17mAYo71QXyA2gBzF1STgM
    xnx2VGOJQsQMHfRPZCfdGZt3fHOmy0LLOhOwCCanVzG9X/ZT1ytYjrs95joMz5uC
    FJ4F2IpPP4ElJpyvjd6BfdW1nQ5RlSmlv+K4VY6XV5VaWcppiLiF5uaFs/0USzg7
    BdKm9YMUhHwH6MqSuXPI18AoWmnCmvUFAhhvqDeiJnNTKuJR9qaEucggr6NDCAGQ
    CylQpoGK20yB05arVaAqeHn8nHHMEsaoC706QmyvrNlBnXCiW1X+ZQ9AkDRuWZrL
    vqkF9n9RSOac9q5M7FnNvnoE9uKOjhJ2AdnDwzjPMyCJR+SR+rCt68gsifZR2ufx
    MVskX08Ze9hsyuPbNF61rFKVwphTmDuG1Ce1vYWJq0VZqKVLKHdkC3Ca88B8SZGB
    vBWIplOioIzo7AJxUlYugQ6Ug69gbssBy8RjrkHjS74ZwZ1i2qraolQQ9OxH8/4X
    f7syMGrJ7Er846w1pevq2ktkwFY3RMpJYjmXkEZkq5lfL0iG7yYhfWWmZkKCFboL
    DeHGw2FA0v4hdZ8tSXGI+XmcNbOyG4t9WTSmp/bm39Q8u03GFJG/sUng4Z/aIMc4
    mFCCoRQFn8cyPbRo0c+Ib3Kn7Zw167qS159EGBCzfdo6g3VMVLe0krDSEASsG4UC
    DAPR7/VUPiNyEQEQAIo1ioCqb1HDxUwuzv2HUM88c6hVKkJY3XZoVKelvz7QTYh1
    b8Mcq3ly/xkPNopJ0W4QFBYnrMvHKeFVmgDQfxhmTgtzo23voh5G3P7468BkEfJg
    SkXI9U3PzqfNYLrQFlOormtYw3R5PESf3xo5ExwDa8dBsUD9rTMzhcloTMZW9AuK
    BbpYtEme5Ewf0vvHu4mFGdf9VR+ZDYY0shyFI6Jr/IlPdH5mfs3cn62Lapf9KxkQ
    UooDC1sx/MuGFbAUcIexf1LM+7XicT8BrwoexA0mYbsqMgW8to3LIHVDRJYpkDQD
    WEGQv2N5oenQle7CZatWzHqmYbmxmbuMjkqlEn6+5PcEujKG9YjNeOi2nv66NEhX
    nQ3D01wNZSCOiYS4gaHQ3K/MCVdjODwQsXry+D4MScRq3iWOrDhb6y16GFkTAPdJ
    HX6pt5cORpXqW0OC7Orbr2sT0+pLxDsDTKcUXq//E2NxULRPwG2wrVJmqGEEpDa8
    T96m4cS0ZWakortnLlfb7zLrDT9dcm6OlAMOdp76tAbgrSyi902HPITpP7OPWkas
    +HyGBNcvYo19M0U41UVOdes9ueRX51yh9iiGo4sztZmOwk1F3rSEoAc//ItSu+st
    FJpfo9DmrsutYTxoMm8F9ZrwsC3TEsq3oBcsj0awgO18NKH85G07ryLcbW6Q0uoB
    bl3HgPoCDjjpTdMUXZn17kQo/IXmPEKLrNl5f3ms18HtKeizMNwYSA3XKNM8rmPx
    1WFLrormwSQda6yBt6XHkWjRafUmhbYcE7i+oW3iHpA9e7WozBUW/Lx/vO4PmCBG
    WlGQK9LtlrZ8BrHx1DLr+OR0g4KEday1KcicpU2MTrEDdBXynYoD1oSVFuXj3GjX
    WqJmDskl9t5KkDNdfdZSHD+RBJCBqHwBlH0pB4ErL/0oYvnM4NQEOtsr4vh1Pdqx
    ZEd145jz2WH0xpCEwxuV77wUFCQq+6FbAt6k4N2V+hrQOu0nM6BftyJzHyYKPMS1
    O8dVyAeNOHkEY9ntnr/mmI1wX2edeOt/KVYWi/n9PsSlF1vJcNs2W06jBnfygksu
    R23m6HBl+GO3sMw7swPtKG8Aw2Th+HGpoN/U6QsNs6rA8xU1vICIoI+cOnBNMkP5
    S5NmJC0R9Pg9ff54gkB7veoNxysm0WGxPN8Kho9QCoG7ZWiD/wGi3X3NfKJ1Bmua
    zKnVH9YLMeEUOUJq/0Cr43wqzpDT9U82Q9Ny3+VsU4UvGald4iuMkFCzHauaXCI1
    wJeiKW/ieEe5k7IVjQurMRR1UWbCku0pQ07rCDHDIRlZHgiaEfdzz5iqJKWULOA6
    /nqQ2w5YxPvjrzTOpfv7AMyABB6fllpYn5BxxZHnZnw01Jtw9ygxipbRsGAD0lVZ
    Jo4v4XGWFd9r9gnbH5Wrjyfw7WgR9HZvHptiAlxZ72eMGb64KcKn1EYdcWmtor3a
    zjNAA7b3F20QfuxQjajupUzK/zpdgi5sfcLzH1HgoHBjxQfA79YKpD0DXZBzM0rw
    Nzi50ZbbFEAL4uL139bd0ro68c2azAkH5Ki+G3iIgqwoT5d6+Do8k7LMPpro2KUS
    BtO9/4kbWGQjjBC0qR74ESbo9hi9KbzvAIgdpNi46KleFT5bnPb3aWRNiAJayMDl
    5YmyU8ppffKC4QcECin/i0usKsUaaytEo9bCOUpY/lbf3QPyEVO0eaoa8Ev1UZN7
    On5fflSGw2QTkL4Y6Ip+DRgWVOpJVuaxaR8tY/oBpxFGA1+NKlF0HRgS5jOMeK6I
    sABwJeJoAwIu6kxSqzuyZ0NuD/iT4mwNHEXQGe8QFEkxjajw870mpoxg963sczOH
    8zdC01abMcOobpgQjpJZTNbqfhlOoSVyK4aEjsprXSwvGEVIG2AMTg/SvxdVOyfI
    21ewxq9uYohSGc2jZzgATBlgW4zsbKDxMXUGIy30tpnruHyzNbYIfue9pWtL3uC2
    LaHwg5anMOtO5gpZzHZrcj/yyUkkXBvW69XpvI+A/5sC/0T3w6L2ILsOZrY6c32L
    c2Q6CTgKFXgJpdddEvpmc9G8h21JGeE4Kk9rN9TfHqaYyV5r6hy7SEO0gxnFJQhp
    IMsF3ozPhtzFAOp7Rxxw208bp5IZ6r05Er36TuoSM9IIky1t7zghlzbDChzG+Xrl
    YttX6rwWROIq6r2+1YInUcL2LQ7NTZ+1HPcjzfDeljzp66k=
    =Hd/A
    -----END PGP MESSAGE-----
  9. -----BEGIN PGP MESSAGE-----
    Version: GnuPG v1.4.10 (GNU/Linux)

    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
    AgIlaUrT4LJ1
    =I9HG
    -----END PGP MESSAGE-----
  10. Diana Coman says:
    -----BEGIN PGP MESSAGE-----

    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
    =XMlb
    -----END PGP MESSAGE-----
  11. [...] Updated EuCache (the actual data storage structure that provides thread-safe access) to reflect the latest, streamlined data model. [...]

  12. [...] current client's GUI interface is essentially a lame and broken attempt at implementing the world hierarchy from a... visual perspective1. There's a top "controlling"2 window that keeps track of all the [...]

  13. [...] the Core adds to its services the packing and unpacking of all user actions known so far, the Data cache refuses to be led astray into unnecessary sync swamps and gets its responsibilities right, [...]

  14. [...] past week I worked on a significant refinement of Eulora's data hierarchy, that core structure used to fully describe for the client the game's endless, complex and [...]

  15. [...] EuCache package maintains and provides access to the knowledge tree of the game's world aka that boundless although finite data hierarchy. The role of EuCache is that of a librarian essentially: it accepts all new data as it becomes [...]

  16. [...] in previous articles, including a first draft of a data hierarchy, its subsequent refinement and an initial brief discussion of how it works in [...]

Leave a Reply