1. This forum section contains Blog style threads from the Developers, and/or threads with details about what they have been working on, previews of upcoming content, and sometimes backstory associated with the content. Players are permitted to reply to these threads if the developer has indicated it is permissible by leaving the thread unlocked. Please note that TOS applies, and any abuse or trolling will be moderated.
    Dismiss Notice

Public Stats API

Discussion in 'Developer Work and Blog posts' started by Undone, May 9, 2017.

Thread Status:
Not open for further replies.
  1. Umuri

    Umuri Avatar

    Messages:
    527
    Likes Received:
    1,828
    Trophy Points:
    63
    Sounds like you're not logged in and haven't specified a preferred default color.
    Mine looks like this. :p
    [​IMG]


    That's basically my take on it. It's a more organized, up to date wiki. Or the same as having a very large guild you can ask and get immediate answers about. But not everyone has that large guild, or the private wiki that updates immediately. So this evens that playing field a bit. :/

    As for the whole "Exploration vs look it up" argument, that goes for almost every guide on the forums. And I love exploration as a game mechanic. I was annoyed when recipes were client side and you could deduce them before a patch went live. I liked the pitched idea of hidden recipes. However, that cat is out of the bag. The only way i've found to balance it in my mind is to go "People who want to discover, will discover. People who want to look it up, will look it up. Why force each side to play the way the other wants?"
     
    Last edited: Oct 9, 2017
    strabo and Tiina Onir like this.
  2. Sir Aular Glorthalion

    Sir Aular Glorthalion Avatar

    Messages:
    97
    Likes Received:
    184
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Ann Arbor, MI
    What I'd eventually like to build is a tool that lets people scan for items for sale, get a history of prices on that item, and a map on where they could buy it now and how much it's listed at.

    It just seems like an oversight to me from a data management perspective that we're being given all this data - with coordinates - and the coordinates are meaningless without a table and series of calculations that inform the data consumer the scene rotation, anchor point, etc. It's the equivalent of letting each country come up with their own latitude and longitude system. Sure, we could create a digital map if every country provided their reference point and coordinate system, but it's much more useful and user friendly to have a standard system. Another pro to a standardized system: a designer creating a new scene or altering a current scene won't break anything already created or require additional data translations. I work with data all day, every work day, and this type of translation or calculation on the data extraction side is fraught with issues. In theory, don't you have those items (scene rotation, anchor point) stored in a data element somewhere?
     
  3. Tiina Onir

    Tiina Onir Avatar

    Messages:
    1,103
    Likes Received:
    1,900
    Trophy Points:
    125
    Location:
    Bramble, South Paladis
    Well, part of the problem is the towns are kinda like the TARDIS, they're bigger on the inside. Because of that, you can't necessarily map them to a universal coordinate system. That doesn't mean they shouldn't be consistant, but even that ship has already sailed. At this point fixing it would be a pretty low priority, so we get to work with what we are given.
     
    hroth likes this.
  4. Undone

    Undone Trap Master Moderator SOTA Developer

    Messages:
    346
    Likes Received:
    848
    Trophy Points:
    43
    We do not. That data may be available in the scene themselves but we have not collated it all into one place. This gets even more complicated when you take into account we have over 300 scenes (whose creation times span the entire project) and many of which have multiple terrain files (backgrounds, horizons, etc) so determining the "primary" terrain center etc is not always trivial. Jakub put together his own coordinate system to deal with this exact issue and required individual scene translational parameters - all of which he input manually. I agree the system is not perfect but we decided to share that information regardless.
     
  5. Undone

    Undone Trap Master Moderator SOTA Developer

    Messages:
    346
    Likes Received:
    848
    Trophy Points:
    43
    I should also mention that we're working on something that may help with this...no timeline or promises though =O
     
  6. Vladamir Begemot

    Vladamir Begemot Avatar

    Messages:
    6,194
    Likes Received:
    12,076
    Trophy Points:
    153
    Gender:
    Male
    Is there a place where the items in the API are listed in one big long page? I'd like to match my spreadsheets up with Ports conventions, so for instance,

    Iron Ore, generic ID for all Iron Ore, Database Name for same

    Or: How do we find out what things are called?
     
  7. Sir Aular Glorthalion

    Sir Aular Glorthalion Avatar

    Messages:
    97
    Likes Received:
    184
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Ann Arbor, MI
    Ok. No contracts signed or whatnot, but I'm glad it's at least on the list somewhere. Not putting it at least on the consideration list is equivalent to my ETL developers telling me they aren't bothering with decode tables or some such; if I have to look up every code in my table in the application screen and manually add the entry to a spreadsheet or google sheet to build a decode, the usefulness of the data element is questionable. (And yes, they did this once to me.)

    If someone has done this, @Umuri @Jakub White , would you be willing to share the translation method and data?
     
  8. Undone

    Undone Trap Master Moderator SOTA Developer

    Messages:
    346
    Likes Received:
    848
    Trophy Points:
    43
    see this link =O

    We've been working on this for a while but couldn't really talk about it. Hopefully this will allow us to do some really cool stuff with the public api / etc.
     
    Sir Aular Glorthalion likes this.
  9. Black Knight

    Black Knight Avatar

    Messages:
    73
    Likes Received:
    148
    Trophy Points:
    20
    Gender:
    Male
    Location:
    Denmark
    Maybe it's about time to host it properly (and enabling POST) as well as maybe looking into some of the analyzers and mappings, so we can utilize some proper ES clients against it.

    We have great experiences running managed ES off AWS but that of course isn't completely free.
     
  10. weazel

    weazel Avatar

    Messages:
    5
    Likes Received:
    10
    Trophy Points:
    3
  11. weazel

    weazel Avatar

    Messages:
    5
    Likes Received:
    10
    Trophy Points:
    3
    Figured out my own answer :), I was looking for LocationEvent:ItemGained_Loot. That LocationEvent is not listed on the GitHub documentation. Is there a current/correct list of all LocationEvent's in use?
     
  12. Jaanelle DeJure

    Jaanelle DeJure Avatar

    Messages:
    1,845
    Likes Received:
    4,276
    Trophy Points:
    113
    There is a pulldown menu with many listed. Not sure if it includes all of them.

    You can also run wildcard queries which will reveal all the permutations of the thing you are looking for.
     
  13. Rowell

    Rowell Avatar

    Messages:
    612
    Likes Received:
    1,281
    Trophy Points:
    105
    Gender:
    Female
    Location:
    Brittany Fields
    I'm wondering, what is the EventType (or method) to see data when a player adds an item to a Player Vendor?
     
  14. Tiina Onir

    Tiina Onir Avatar

    Messages:
    1,103
    Likes Received:
    1,900
    Trophy Points:
    125
    Location:
    Bramble, South Paladis
    Unless things have changed, we don't get stats on player vendors.
     
  15. Rowell

    Rowell Avatar

    Messages:
    612
    Likes Received:
    1,281
    Trophy Points:
    105
    Gender:
    Female
    Location:
    Brittany Fields
    But... But... That's probably one of the most important data points!
     
    Tiina Onir and Black Tortoise like this.
  16. Black Tortoise

    Black Tortoise Avatar

    Messages:
    1,961
    Likes Received:
    3,655
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Storm's Reach
    I just started playing with this tonight. This is so fun and easy to use! (Im just querying ES directly via Postman). I just incidentally stumbled upon my own death from testing the limits of Safe Fall the other day:

    Code:
                {
                    "_index": "logstash-2017.12.02",
                    "_type": "logs",
                    "_id": "AWAZV4W2n7c6aq0ADV8u",
                    "_score": 14.065832,
                    "_source": {
                        "ypos": "37.17",
                        "zpos": "372.21",
                        "xpos": "-153.50",
                        "@timestamp": "2017-12-02T22:27:34.000Z",
                        "SceneName": "Novia_R6_City_StormsReach",
                        "PlayerName": "Black Tortoise",
                        "LocationEvent": "PlayerDeath",
                        "timestamp": "%{month} %{day} %{hour}:00:00"
                    }
                }
     
    LoneStranger likes this.
  17. that_shawn_guy

    that_shawn_guy Bug Hunter

    Messages:
    1,414
    Likes Received:
    3,748
    Trophy Points:
    125
    Location:
    earth... mostly
    What's the best way to break up requests to make sure we get the data we want without going over the limits?

    Will player vendor data be in the API before March?

    Thanks
     
    Tiina Onir and Rowell like this.
  18. Rowell

    Rowell Avatar

    Messages:
    612
    Likes Received:
    1,281
    Trophy Points:
    105
    Gender:
    Female
    Location:
    Brittany Fields
    [ Copied from the Developer+ Tech Forum, for more visibility ]

    I'm working on using the data available through the Sota API. I had a few questions though:

    1) In regards to LocationEvent, what are the differences between:
    ItemGained_ExplodeItem_Merchant (assuming Merchant Buys from Player, and the item is zero priced and is destroyed)
    ItemGained_Crafting (assuming Player Gains from Crafting)
    ItemGained_Merchant (assuming Player Buys from Merchant?)
    ItemDestroyed_Crafting (assuming Player Destroys while Crafting)
    ItemDestroyed_Merchant (assuming Merchant Destroys Item after buying from Player?)
    ItemDestroyed_User (assuming Player Uses or Throws Away Item)

    2) In the Source for an item, there are a few fields for price and quantity: GoldValue, EconomyGoldDelta and Quantity. My assumption, from looking in some sample pulls, to find out the true value of an item...you divide GoldValue by Quantity to determine the real price per item. Is that the gold value that a vendor buys the item from the player? Or is that the price an NPC vendor sells the item to a player? I've noticed the GoldValue on many items are in no way reflected in how the NPC Merchant sells or buys it.

    3) Is there a way to more easily translate the ArcheType in to the actual item it represents? Some of the ArcheTypes don't have a clear path to the actual item it is, like Equipable_Archetypes/Armor/ArchetypeArmor_Chain_002_Feet... which item is that?
    As it stands, I'm thinking the way through this is to have some sort of mapping table to translate the ArcheType to the actual item; but that would require manual mapping from one to the other.

    4) Are there any plans to include Player Vendor pricing in the data collection? Something like LocationEvent: ItemGained_PlayerMerchant ?

    Many Thanks!
     
  19. DavidDC

    DavidDC Programmer Moderator SOTA Developer

    Messages:
    1,532
    Likes Received:
    3,236
    Trophy Points:
    113
    Gender:
    Male
    If player vendor data get in this its the end of player ran economy.
     
    Black Tortoise likes this.
  20. Rowell

    Rowell Avatar

    Messages:
    612
    Likes Received:
    1,281
    Trophy Points:
    105
    Gender:
    Female
    Location:
    Brittany Fields
    How do you figure? Each transaction is not tracked by individual player vendors; just the prices. With a broad base of transactions, one can calculate the minimum, maximum and median prices...as well as calculate the cost ranges of crafting any particular item. It's not like you're getting a road map to Player Vendor X with the lowest price on an item (Agreed, that would be too much).
     
Thread Status:
Not open for further replies.