Jump to content
McKay Development

Einar_100

Member
  • Posts

    3
  • Joined

  • Last visited

Posts posted by Einar_100

  1. I suppose you could say that.

     

     

    GetAssetClassInfo takes as input a list of classes and responds as output with a single description. That description corresponds to the entire list of input classes. So the response should correspond to all classes. Which means that I think you understand it correctly, Steam does cache the complete signature of classes.

    So from Steams point of view instead of a list of classes-values it could use some kind of identifier to the description.

     

    Anyway thanks a lot for you took the time to answer me despite it was a bit off-topic. I think I have the picture now :).

  2. Assuming you're talking about what the Steamworks documentation refers to as an "asset class" and that by "inventory provider" you mean an item server backend, which is kind of outside the scope of this thread but I'll answer anyway.

     

    Asset classes basically describe the "nature" of an item, and you define them yourself. For example, in Valve games each item has a definition index (defindex), which is a class. def_index: 1234

    But each item can also have special attributes, for example a StatTrak CS:GO item. So you might have stattrak: true

    This means that each item/asset has multiple asset classes.

     

    You expose a class to Steam for every kind of attribute that changes how the item is rendered, so you end up with basically a list of display-affecting attributes. You could read the above as "this item has def_index 1234 and it is a stattrak item". Then Steam calls GetAssetClassInfo with that listing of classes and expects you to return a proper description, which gets cached indefinitely for that set of classes. So that means that your set of classes for a specific item needs to include all the data necessary to build a comprehensive description.

     

    The purpose of asset classes and descriptions is to decouple the display information from the actual asset. For example, every CS:GO Case Key is completely identical so there's no reason to store all the display information with each individual item. So instead the economy server requests the list of classes for the assetid from the item server, which replies with a list of classes that the economy server has already seen. Thus the econ server knows that it's seen this kind of item before and doesn't need to request display information.

    Thanks for your comprehensive answer and yes your assumptions were right about what i was refering to with Asset Class and Inventory provider.

     

    So an Asset Class represents a specific piece of display information of an Asset and could have been called AssetDisplayParameter instead?

    What confuses me most is the "conversion" of the list of classes to an asset description in the GetAssetClassInfo request. Steam can't know wich part in the response to this method belongs to which classes. So I guess Steam caches the complete signature of classes in the GetAssetClassInfo request in order to be able to re-use display information?

     

     

  3. Hi, 

    First many thanks for the explanation of the different entitities in the Steam Asset API. It was very confusing to me before reading your post. Now, at least, I'm able to ask a question :-). 

     

    This one is about the Asset Classes. Do have any thoughts about how an Inventory provider should handle these classes when mapping a number of them to a single description returned in the GetAssetClassInfo response? To me it feels like constructing an apple from a pear. How can one interpret an AssetClass? Is an Asset aggregated by a number of AssetClasses? 

    It also seems strange that these classes are cached in Steam. What information is cached then? Only their ids? Because the Steam Asset API don't let Steam know anything about an individual Asset Class information despite the GetAssetClassInfo request (since it only returns the overall Asset information). 

    Maybe I completely missunderstood this?!

    Best regards, 

    Einar

×
×
  • Create New...